[前 言]:有S多朋友我P於Asprotect1.07版的し椒,我想我在@e一下,或SΩ魑挥助,或S]有,o如何是一分享,我使用Imp_list碜橹亟Import
Table的工作,@K非正y,若你的力虻脑,建h你是程式碇亟.不^Imp_list已有Asprotect1.07升了,只是]有_放漏T了.
[目塑件]:Advanced Word 95 Password Recovery V1.2
URL: http://www.elcomsoft.com/aw95pr.html
槭颤Nx它,嘻!因樗灰拚3API(Thanks God!)
[使用工具]:1.Soft-ICE 4.01
2.Icedump
3.Procdump32
4.BW2000
5.Imp_list
[ ]:
1. 先用Procdump32和BW2000 去分析我要的Y料:
Size of image:33000
Image base:400000
原始的程式M入c(OEP):401000
.idata VO:8000(绦Imp_list就)
2. 绦Imp_list,a生Address.txt,Import1.bin,Import2.bin]有最重要的Import0.bin]PS,打_Address.txt你lFShell32.dll和Comdlg32.dll它的函党T是ya,@就是新版的Asprotect的保oC制,它先不原@些API等到程式要用r它才原APIname,Call
GetProcAddress去得到函滴恢吩俜祷剡@位址去绦谐淌.
下@些指:Shell32.dllà 006C2024
Comdlg32.dllà 006C249C
006C24B8
3. 叫出Soft-ICE下bpx createfilea do “d *(esp+4)”,绦AW95pr.exer住後,按F5一次,按F12返回,按F10Trace,此r是在第一段的CRC
chek
按F10一直到一B串的Jmp,Mov,此r就要按F8小心Trace,它retKernel的I空,你一直按F8祷Aw95pr的I空,若按F10程式就绦,淼Aw95pr的I空,再按F10Trace,如此反覆荡,一直到出FAsprotect的a程式,此r下d
408000, 往下找,你吹骄a後的指,你吹3指,
(1)API位址 (2)Call XXXXXXXX <-- @煞N是可用Imp_list重建
(3)Push XXXXXXXX
Call XXXXXXXX <--@e就是那些Shell32.dll,Comdlg32.dlla的地方
我的思路就是知道@些第三指代表那些API和求得它的位址,再⑦@些位址代入指,再使用Imp_list眄利重建.
那@些函等绾吻?
我以006c2024槔,下d 006c2024吹68 2e 20 6c 00,下d 006c202e,吹65
17 6c 00,再下d 006c1765,你吹Shell32.dll,在它的後面有一M9F 0E C3 2B C1 AB 66 81 14 37
AE 0C 54 50 91 EC
DC 20 (9F C重此_始, 0E―表示API有0Eh字元, DC―表中)
其C3~EC@是未原的API Name,它唤M等XOR後原.
再^mTrace下去,一直淼OEP即00401000,下/dump 400000 33000C:\Awdump.exe
,下Bpx 006C2024,006C249C,006C24B8
按F5,程式出F,cOpen file,程式中嘣006C249C,按F8Trace,你lF@Call在原API
Name=GetOpenFileNameA,Address=52086112
,再按Save中嘣006C24B8,API Name=GetSaveFileNameA,Address=52086163,再按Save一次,再中嘣006C24B8,下a
eip/jmp 006C2024(偷吃步,因橹皇O乱API)得到API Name=ShellExecuteA,Address=7FD47579
再M去AW95pr,在00401000(即OEP)改006C2024-->7FD47579
006C249C-->52086112
006C24B8-->52086163
清掉Hint,f 00408550 l 00408fc0-00408550 00
再用Imp_list去重建Import Table,@次艹晒,且有Import0.bin
最後的工作大家都,不再述.
很笄!!的很y,希望Υ蠹矣助.
JOHNSON 2000/09/25