上一篇文章中,有几个点没说清楚,此处作补充。
一、是如何判断出,主界面的过期弹窗是在htsoft.dll中?
两个方面:
1、olldbg动态调试时,看到license载入到寄存器的时候,其上下文出现了对htsoft的调用;
2、license解密的时候,有一个密码在data段中,htsoft.dll和htinit.dll里面都看到了这个密码,然后同样的查找到对这个密码的引用的代码段,然后分析代码段中此函数的调用链。
二、用二进制编辑软件HexFrame修改dll文件时,怎么找到的代码位置?
我目前用的是查找功能,进行查找的;比较标准的方法是用Lord PE这类工具,在调试时,转换内存地址与静态文件地址中代码的地址。(详细参考《0day安全:软件漏洞分析技术(第2版)》,第一章,1.2小节)
备注:此软件没有加壳,省去了脱壳的步骤,并且其代码基本上没有进行混淆,没有做一些防止反编译、反调试的处理,所以处理起来还算比较容易。