我鼓起勇气,在ZCTF的逼迫下,于2017年2月25日正式进军反向工程领域。
第一个反向的软件名叫Test_for_pwn,超级简单的带界面helloworld程序,图形如下所示:(由于MinGW 原因宽字符显示有问题)
源码:
目标一: 定位Main函数在反汇编代码中的位置
程序起始的位置如图所示,为了快速定位t_main函数的位置,使用了单步步过的调试方法,即越过所有已访问过的函数和能轻易辨别为系统dll库函数的。
在图中光标位置,即地址004012D0处,使用F8跳过该函数时,程序突然弹出了对话框,说明main函数被该函数调用,于是F7单步步入此函数。
在该函数内继续使用F8单步步过,直到遇到某个入口函数步过时触发对话框,记住此函数在程序中的位置,利用Ctrl+G快速定位此函数,进入后发现MessageBox函数的调用痕迹,说明此处即main函数的位置。