逆向工程核心原理学习笔记(二十四):abex'crackme #2 初探

下载地址:http://t.cn/RaoP3si




首先OD载入程序:




然后停在了程序的入口点,我们F7跟入下面的call.






发现先调用了VB引擎的主函数,然后push 401e14把RT_MainStruct结构体地址压入栈,然后转过头来调用401232地址处的代码,跳转到了JMP DWORD PTR DS:[0x4010A0],这里依然是VB引擎的主函数



上面三行代码都是VB启动的全部代码




然后我们需要说一个间接调用的过程:





在调用VB引擎主函数的时候不是直接去访问4010A0地址,而是先PUSH,然后CALL 401032,再跳转到4010A0,这是VC++,VB等编译器常用的间接调用法。



再看一下RT_MainStruct结构体:




也就是这里,它push的地方


RT_MainStruct结构体的成员使其他结构体的地址,也就是说,VB引擎通过参数传递过来的RT_MainStruct结构体获取程序运行所需的所有信息。



再来看看ThunRTMain函数:





没有啥好看的,这里使VB调用的MSVBVM60.DLL模块的地址区域。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值