步骤1 检测壳
工具:PEID v0.92,查询壳工具(“壳”的作用为:1使主程序压缩减少空间;2受到保护,避免破解),使用非常简单。在程序中打开目标程序后显示:
“ASPack 2.12 -> Alexey Solodovnikov”
我们只看前面就行,ASPack为壳。
步骤2 脱壳
打开百度等搜索”aspack 脱壳“,找到下面的工具
工具:AspackDie.eXe(百度搜的)
然后开始脱壳,它会在目标程序旁边出现一个脱壳后的程序。
步骤3
运行目标程序
尝试注册(随便输入注册码)
获取注册相关信息
通过尝试注册 我们发现一个关键的字符串
“非法注册码,请你确认输入无误”
步骤4 反汇编
通过反汇编,我们查找”非法注册码,请你确认输入无误“对应的程序行
工具:W32Dasm 无极版
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004E4639(C) //跳转来自 4E4639
步骤5 调试
工具:ollydbg
通过工具运行脱壳后的目标程序,找到004E4639后向上找程序,如下:
004E4605 |> 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
004E4608 |. 8B83 FC020000 MOV EAX,DWORD PTR DS:[EBX+2FC]
004E460E |. E8 191AF6FF CALL Unpacked.0044602C
004E4613 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004E4616 |. 50 PUSH EAX
004E4617 |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
004E461A |. 8B83 F8020000 MOV EAX,DWORD PTR DS:[EBX+2F8]
004E4620 |. E8 071AF6FF CALL Unpacked.0044602C
004E4625 |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
004E4628 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
004E462B |. E8 30FAFFFF CALL Unpacked.004E4060
004E4630 |. 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C]
004E4633 |. 58 POP EAX
004E4634 |. E8 2705F2FF CALL Unpacked.00404B60
004E4639 |. 75 50 JNZ SHORT Unpacked.004E468B
004E463B |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
004E463E |. 8B83 F8020000 MOV EAX,DWORD PTR DS:[EBX+2F8]
004E4644 |. E8 E319F6FF CALL Unpacked.0044602C
.......
004E4605 为断点,运行程序,注册,按F8一步一步进行发现
0044602C ASCII "EDGBEDGB"
注册码为EDGBEDGB,注册成功!!!
由于本人时间有限,有空做个动画传上来,方便大家交流!
请高手点评,新手共享!!!