Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: Dịch ngược File Exe để lấy tham số của nó

  1. #1
    Ngày gia nhập
    02 2009
    Bài viết
    88

    Angry Dịch ngược File Exe để lấy tham số của nó

    Nếu muốn lấy kiểu tham số của 1 hàm ta phải làm thế nào vậy???
    VD hàm int tong(int a,int b)
    mình muốn biết hàm này có mấy tham số và mỗi tham số có kiểu dữ liệu gì ở mã ASM thì làm thế nào

  2. #2
    Ngày gia nhập
    01 2009
    Bài viết
    89

    Qua một debugger bạn hoàn toàn có thể biết đc một hàm nào có bao nhiêu tham số, thứ tự của các tham số nhưng bạn không dễ dàng xác định đc kiểu tham số như trong ngôn ngữ lập trình bậc cao. Mọi tham số giờ sẽ biến thành các số 8,16,32... bit. Các số này hoặc là chứa giá trị của một tham số hoặc là địa chỉ của tham số đó. Nếu bạn k biết trc nó là kiểu gì thì chỉ có thể suy ra từ "tình huống" mà thôi.

  3. #3
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Đúng vậy đó bạn, một hàm gọi kiểu chuẩn sẽ push các tham số vào stack, bạn cứ theo dõi giá trị của thanh ghi esp giảm bao nhiêu thì sẽ biết hàm đó có bao nhiêu tham số. Tuy nhiên ý nghĩa của tham số truyền vào thì ko thể biết chính xác được. Thường thì kiểu số nguyên được push trực tiếp giá trị vào stack, các kiểu khác thì push con trỏ vào stack.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  4. #4
    Ngày gia nhập
    09 2006
    Bài viết
    711

    Cái này thì tui cũng chịu thua, chỉ mò mò từng bước mà ra thôi. Pointer cũng như int cũng như long cũng như references.

  5. #5
    Ngày gia nhập
    03 2008
    Bài viết
    25

    Bạn có thể nói rõ hơn cách coi được ko mèo, coi trên thanh ghi là như thế nào vậy?

  6. #6
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mặc định Dịch ngược File Exe để lấy tham số của nó

    Bạn xem giá trị của thanh ghi esp, nếu nó giảm đi 4(k+1) thì tức là hàm có k tham số. Ví dụ như lúc đầu esp = 100, khi gọi hàm esp = 88 -> hàm có 2 tham số.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  7. #7
    Ngày gia nhập
    10 2012
    Bài viết
    51

    file exe đó trong project của mình thì còn biết dc, nếu của người ta thì chịu thua

  8. #8
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Dùng IDA + Hexrays được đấy, nhìn thấy luôn khỏi cần phải nghĩ. Nếu là trên linux thì sử dụng gdb + Boomerang là ổn đấy chứ!
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  9. #9
    Ngày gia nhập
    10 2012
    Bài viết
    51

    Trích dẫn Nguyên bản được gửi bởi Kevin Hoang Xem bài viết
    Dùng IDA + Hexrays được đấy, nhìn thấy luôn khỏi cần phải nghĩ. Nếu là trên linux thì sử dụng gdb + Boomerang là ổn đấy chứ!
    Mình tìm dc link này here
    Nếu làm thủ công như vậy dịch 1 chương trình vừa vừa cũng mất vài tháng đến vài năm

    Link tải bộ tool về , link torrent nha

    Click here download
    Đã được chỉnh sửa lần cuối bởi Lemona : 28-10-2012 lúc 10:06 AM.

Các đề tài tương tự

  1. Tham số, tham trị, tham biến. Ý nghĩa như thế nào trong lập trình C?
    Gửi bởi toend2008 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 28-08-2014, 10:24 AM
  2. cách truyền tham số khi gọi form được tạo từ file dll
    Gửi bởi tuanngocpt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 19-06-2012, 03:48 PM
  3. Không mở file từ tham số dòng lệnh được.
    Gửi bởi QuynhChi trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 1
    Bài viết cuối: 08-04-2012, 11:29 PM
  4. Lập trình C++ hàm với tham số là tên của file có được không?
    Gửi bởi thnguyen trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 28-11-2011, 10:51 PM
  5. Bài tập C++ Tạo tín hiệu, tham số của tín hiệu rồi ghi các giá trị gián đoạn của tín hiệu ra 1 file. HELP!!!
    Gửi bởi Fusint trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 08-10-2011, 09:26 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn