-
-
[旧帖] [求助]AppdetectivePro(安全公司的产品)逆向难题 0.00雪花
-
发表于: 2008-3-27 13:03 4475
-
AppdetectivePro是Application Security公司出品的一款漏洞扫描检测工具,可以检测多种应用的漏洞,但是试用版本只能使用30天,所以考虑把时间限制去掉,成为一个无限使用次数的使用版本。
现象:当30天过后,启动软件主程序Appdective.exe,就会提示过期,需要购买一个license,然后自动结束程序。
分析:整个软件比较庞大,用的是VB编写,调用各种自己编写的COM组件进行工作,执行文件都没有加壳,验证方式是采用license文件。
过程:
因为考虑到license文件的构建难度太大了,所以采用暴破。
首先逆向Appdetective.exe,用ollydb通过消息框这个线索,成功跳过了时间判断代码,可以进入主程序。其次选择扫描的时候,主程序会启动另外一个进程ASIEngine.EXE,执行扫描动作,这时候ASIEngine也要检测license的过期情况,会再次提示软件过期。这种跨进程的调试,我的OLLYDB使用水平很初级,无能为力,但是通过分析发现,主程序调用ASIEngine.exe是带参数的,所以自己构建了正确的参数,直接载入ASIEngine.EXE,这次也同样成功跳过了判断代码,可以开始扫描了,但是噩梦并没有结束,扫描过程很正常,但是扫描的结果框内却又出现提示:过了试用期。
进一步分析,我认为是这样的,ASIEngine里面确实只有一处判断代码,但是ASIEngine在检测过程中载入了一个ASIScan.DLL,把主动权交给了这个DLL,而这个DLL再次进行了判别,返回了检测结果,就是过期不能再用的消息。
到此,我再也无能为力,因为跟进ASIScan.DLL里面,根本找不到任何的线索,错误提示的字符串也根本找不到。
现在想请教一下大家,这样的程序,到了这一步,应该采用什么样的思路再进行下去?
现象:当30天过后,启动软件主程序Appdective.exe,就会提示过期,需要购买一个license,然后自动结束程序。
分析:整个软件比较庞大,用的是VB编写,调用各种自己编写的COM组件进行工作,执行文件都没有加壳,验证方式是采用license文件。
过程:
因为考虑到license文件的构建难度太大了,所以采用暴破。
首先逆向Appdetective.exe,用ollydb通过消息框这个线索,成功跳过了时间判断代码,可以进入主程序。其次选择扫描的时候,主程序会启动另外一个进程ASIEngine.EXE,执行扫描动作,这时候ASIEngine也要检测license的过期情况,会再次提示软件过期。这种跨进程的调试,我的OLLYDB使用水平很初级,无能为力,但是通过分析发现,主程序调用ASIEngine.exe是带参数的,所以自己构建了正确的参数,直接载入ASIEngine.EXE,这次也同样成功跳过了判断代码,可以开始扫描了,但是噩梦并没有结束,扫描过程很正常,但是扫描的结果框内却又出现提示:过了试用期。
进一步分析,我认为是这样的,ASIEngine里面确实只有一处判断代码,但是ASIEngine在检测过程中载入了一个ASIScan.DLL,把主动权交给了这个DLL,而这个DLL再次进行了判别,返回了检测结果,就是过期不能再用的消息。
到此,我再也无能为力,因为跟进ASIScan.DLL里面,根本找不到任何的线索,错误提示的字符串也根本找不到。
现在想请教一下大家,这样的程序,到了这一步,应该采用什么样的思路再进行下去?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
- [求助]改造exe为dll,手动构造重定位表 8161
- [求助]关于com的跟踪和调试 4149
- [求助]关于com的跟踪 2901
- [求助]AppdetectivePro(安全公司的产品)逆向难题 4476
看原图
赞赏
雪币:
留言: