《逆向工程核心原理》学习笔记(五)

《逆向工程核心原理》学习笔记(五)

记录下第八章对于vb程序的逆向调试分析。

od载入,在EP代码中首先做的是调用VB引擎的主函数(ThunRTMain())

 EP地址为00401238,401238地址处的PUSH 401E14指令是用来把RT——MainStruct结构体的地址(401E14)压栈,40123D地址处的call指令是调用401232处的jmp指令,该jmp指令会跳转到VB引擎的主函数ThunRTMain(),前面401E14的值作为ThunRTMain()的参数。

这里40123D地址的call指令是调用ThunRTMain()函数,但是不是直接转到MSVBVM60.DLL的ThunRTMain()函数,而是通过中间401232地址的jmp指令跳转

这就是VC++、VB编译器中常用的间接调用法(Indirect Call)

分析

查看字符串 找到输入错误时显示的字符串

 

 往上查找,果然只要到包含条件转移语句的代码(判断用户输入的序列号与字符串是否相同)

猜你喜欢

转载自www.cnblogs.com/-qing-/p/10613485.html