今天给朋友脱一个软件的壳..是TMD的,由于本人的机子是WIN7系统的,所以我一直使用虚拟机进行脱壳这种艰巨的任务的!平时脱得壳没怎么碰见检测虚拟机,这里推荐下面这个帖子.基本上可以解决TMD虚拟机的问题,但是我这个版本我不知道是新的呢,还是啥.请原谅我对TMD版本的无知.
http://bbs.pediy.com/showthread.php?t=93164&highlight=TMD+%E8%99%9A%E6%8B%9F+%E6%8B%9F%E6%9C%BA
今天遇见的这个程序由于上面的办法不管用,只有自己动手跟一下.想着自己在看雪学到了那么多东西也没回报啥,就把我今天打酱油的过程记录一下,希望能帮助到像我这样小菜们
好了上图说话.
第一张图片,其实我是想问问有没有哪位大虾可以告诉我一下,这个TMD是什么版本的,我确实不知道 - -求教!
第二张和第三张图就是检测虚拟机经典的方法之一,利用虚拟机的后门..我们可以通过在VMX文件中添加,monitor_control.restrict_backdoor = "TRUE" 这一行来解决..
至于如何达到第二张和第三张图的地址,我们首先不能让OD忽略特权指令..否则的话就悲剧了..然后我们F9...将会到达第一张图的地方,然后我们在下面CMP比较的地方可以下一个硬件执行断点,然后Shift+ F9到达中断的地方有兴趣的可以继续跟下去看看到底是怎么个比较方法..由于TMD有两处都是特权指令的比较,所以我们继续F9会到达第二处,我们在in特权指令的下面选择一个地方下硬件断点,然后shift+F9...断下来以后这里我们可以一路F7,由于TMD里面花指令太多,F8还是尽量不要用..一路F7直到看到我们的第四张图的地方,这里的sldt便是检测LDT(本地描述符)基址是否为0..
其实详细的东西在下面的帖子里面都有介绍,只是可能有些像我这样的新手们,看见强壳就比较畏惧.其实只要胆大心细,自己尝试去跟踪这些强壳可以收获更多,毕竟我们已经是站在巨人的肩上了,需要的仅仅是付出一点耐心而已!
http://bbs.pediy.com/showthread.php?t=119969&highlight=%E6%A3%80%E6%B5%8B+%E6%B5%8B%E8%99%9A+%E8%99%9A%E6%8B%9F+%E6%8B%9F%E6%9C%BA+%E6%9C%BA