Tìm OEP (Original Entry Point) khi gặp cặp lệnh PUSH và RETN
Khi gặp cặp lệnh PUSH và RETN ví dụ như dưới đây
```
.aspack:0046B415 push 4271B0h
.aspack:0046B41A retn
```
Nó sẽ có tác dụng như lệnh JUMP là nhảy tới địa chỉ 0x2171B0 để thực thi mã code (sau khi phần code chính đã được nạp vào memory)
Đầu tiên địa chỉ này sẽ được nạp vào stack , vì thế cần tìm địa chỉ stack nơi chứa giá trị này bằng cửa sổ stack view trong IDA sau đó đặt break point read, write để bắt sự kiện thay đổi giá trị trong stack, và đặt break kèm trace để chương trình dừng ở vị trí Original Entry Point.
Vị trí trên stack thay đổi
Không có nhận xét nào:
Đăng nhận xét