首页
社区
课程
招聘
[旧帖] [求助]AppdetectivePro(安全公司的产品)逆向难题 0.00雪花
发表于: 2008-3-27 13:03 4475

[旧帖] [求助]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里面,根本找不到任何的线索,错误提示的字符串也根本找不到。

现在想请教一下大家,这样的程序,到了这一步,应该采用什么样的思路再进行下去?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

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