首页
社区
课程
招聘
[原创]分析过程记录
发表于: 2019-3-18 15:11 3345

[原创]分析过程记录

2019-3-18 15:11
3345
一看是Delphi程序,用dede分析,得知一个窗口几个click函数。
打开后界面很正常,调试器附加,在所有click函数下断点,输入字符后点击Check,所有断点无法断下。
在跳出错误窗口时候中断,发现堆栈中有mshtml.dll的函数,相信是mhtml制作的界面。
再仔细观察,是通过javascript脚本在WebBrowser来实现的界面,于是搜索WebBrowser如何调试.
根据大神的介绍
8beK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4k6h3u0D9L8$3N6Q4x3X3g2%4k6i4y4@1i4K6u0V1N6$3W2F1k6q4)9J5k6h3y4G2L8g2)9J5c8Y4m8G2M7%4c8K6i4K6u0r3x3U0l9I4y4#2)9J5c8X3A6#2L8q4)9J5c8U0l9$3i4K6u0r3K9X3q4$3j5i4y4U0M7X3W2H3N6q4)9J5k6r3c8W2j5Y4g2Y4k6$3W2F1k6#2)9J5k6r3W2F1i4K6u0V1j5g2)9J5k6s2N6W2j5W2)9J5k6r3u0J5L8%4N6K6k6i4u0Q4x3X3c8U0L8$3&6@1M7X3!0D9i4K6u0V1N6$3W2@1K9q4)9J5k6s2k6A6M7%4g2S2L8q4)9J5k6s2y4@1N6h3c8A6L8H3`.`.
使用VS脚本模式附加程序,得到eval计算的脚本结果。只找到部分key的明文。
各种姿势尝试数个小时,相信关键就在sptWBCallback,看了数遍脚本,灵机一动,可能是在TWebBrowser对象中有url hook。
在程序的TWebBrowser类中寻找未果,Form的procedure中也没有有关的回调。
在FromCreate初始化函数中,找到修改TWebBrowser对象的代码,设置了函数492088

从中知道key的后续半部分必须是4位,这时有两个选择,1是暴力破解,2是继续分析。
继续分析:
在这个函数中发现解析opcode的代码,将附在PE文件后的代码反汇编,并写入到堆栈中执行。
对栈和VM结构操作的代码都在sub_471FC4中循环执行了。
当遇到jcc和call时进行特别的判断。
jcc时判断eflag跳转,则修改堆栈中jcc指令为NOP,调用sub_471F04 跳过之后的opcode。
call则修复call的地址的偏移

尝试在调用反汇编出的指令前下断点,从堆栈得到

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回