• 标 题:关于asprotect脱壳扔块砖. (971字)
  • 作 者:得慢
  • 时 间:2000-10-16 23:07:50
  • 链 接:http://bbs.pediy.com

先说1.05吧,用imp_list重建时,address文件中显示一个函数名没有,它应该是getprocaddress.执行程序提示"_ .dll找不到".因为asprotect要用此函数,所以做了手脚.可以在PIMAGE_IMPORT_BY_NAME部分可以发现一个地址和其它相差很远,d之,在下面不远出就可看到call getprocaddress了,u getprocaddress,得到地址,将PIMAGE_IMPORT_BY_NAME中的错误地址改掉,再重建import_table就成功了.
再讲1.07,很难跟到入口.我试了很久,在int 30中有这样一个函数调用:_vwin32_set_thread_context.大概50多次后就快到了.设bpx … if bpcount == 32。呵呵,自己先记下数,然后减一,我这数不准的,是16进制,别忘了。然后F10跟吧,突然有一步就回到asprotect代码中了,应该下面出现一个call,F10带过就执行了,要F8跟进,然后几乎可以F12了,大概3次吧,很快就可看到OEP了。清掉HINT后,重建imp_table,有函数名乱码.前面有人讲过方法了.其实直接用其最后一个时的方法就可以了.
另外,对1.07及以下版本的asprotect,感觉新版的imp_list并不如旧的好用,请别将旧的随便删了.
1.1版,用我的方法也可找到OEP,但bpcount 大约90多次.重建imp_table的工作还没来得及试,更望高手指教.

  • 标 题:脱壳,我来说说。呵呵..... (1千字)
  • 作 者:ljttt
  • 时 间:2000-10-20 11:25:54

如果在没出脱壳机之前你用这种方法,厉害!但是,以后就没必要了。看看rAD.exe的源代码,可以帮助你,设下这个断点。起码这样可以让你了解程序工作的目的是什么?
从头跟踪前一段,不长,而且很有特征,(还可以写个Fake Script,哈哈,开玩笑。)当到达类似这样一段时:

015F:00C20EAD  E81634FFFF          CALL      00C142C8
015F:00C20EB2  E8917BFFFF          CALL      00C18A48
015F:00C20EB7  E86489FFFF          CALL      00C19820
015F:00C20EBC  E8BFACFFFF          CALL      00C1BB80
015F:00C20EC1  E8462FFFFF          CALL      00C13E0C    

在最后一个CALL按F8进入后,下指令
s eip l ffffffff 81,C4,04,F0,FF,FF,50,81
找到后,设下此地址断点。以后跟踪方法类似:找特征代码或者找到自己熟悉的代码设个断点F5过去。(当然想一步是做不到,因为其也是分步还原的。)这样你可以找到OEP处DUMP出内存映象。

这样手动脱壳做成的脱壳文件和rAD.exe脱出来的有点不一样,OEP要设为你找到的OEP(入口点)。好象是rAD.exe脱出来的最后一层壳没脱,所以你会发现他脱的文件的OEP和你找到OEP不一样(你可以用BWW找,就知道真实的OEP了),用此法我脱过Asprotect v1.07、v1.1加壳的程序都成功。
不过v1.1的后期修补工作麻烦一点。

  • 标 题:aprotect1.1也试出来了. (752字)
  • 作 者:得慢
  • 时 间:2000-10-20 21:16:30

bpx _vwin32_set_thread_context if bpount==34
F12;F12,到IRETD返回.有一半机会回到程序空间,另一半可能回到system中.如果在system中,是磁盘缓存在工作,要用F8小心走一圈,会多入_vwin32…一次.
回到程序空间应停在一个JMP上,用F8至少进一层CALL,一路走下去,大概再退3层就快到OEP了.注意栈中的值,在最后一个RET处,改为JMP EIP,然后用PEditor dump下来.
IMP_TABLE用新版IMP_LIST(V01.10)可以自动重建,手功输入.idata的地址和大小.虽然名字隐掉了,却可以猜到的.大部分1.1的程序HINT是空的,不需劳心.如果rebuild不成,就得在OEP处清一下了.
用TRW断这个函数不行,不能每次都截到,F8进INT 30也经常不成功.用ICEDUMP来dump似乎程序也不正常.
这样取得的文件只要改一下OEP和table_address,贴一下.idata,不再需要其它修改.
我用这个办法将http://www.elcomsoft.com/上所有口令破解软件都脱了.熟练后5分钟一个.