| 动画介绍:教程中所使用到的工具:
1.OllyDBG
2.PEiD v0.94
3.Import Fix 1.6
4.LordPE V1.4
这些工具在网上都找的到的、大家可以自己去找找。
我们来查壳. 再来查 北斗 1.4的,再查3.4的,接下来我们一个个的给他脱壳,大家注意看我操作。
3个一起脱,希望大家不要搞混合了哦。。
nspack 1.3脱壳前:nSPack 1.3 -> North Star/Liu Xing Ping
nspack 1.3 脱壳后:Microsoft Visual C++ 6.0
北斗 1.4脱壳前:NsPack V1.4 -> LiuXingPing *
北斗 1.4脱壳后:
北斗 3.4脱壳前:NsPacK V3.4-V3.5 -> LiuXingPing *
北斗 3.4脱壳后:
都是用的ESP定律法,大家看我操作吧。我们先来脱nspack1.3的,
ESP定律法
首先载入程序,单步跟踪2下 到00484377 E8 00000000 CALL nspack_1.0048437C
也就是这里,然后选择旁边的ESP 值 右键 跟随到数据端口
然后左下角的地址 右键 断点,硬件访问,word,然后F9运行 ,运行之后调试,硬件断点,删除断点
接下来单步跟踪 就到了出口点,这里我们看不懂,但我们可以用od来分析一下代码,
0042481F /. 55 PUSH EBP 00424820 |. 8BEC MOV EBP,ESP
相信看到这里,我想大家已经对这里并不陌生了吧,我们来进行下一步的脱壳
然后打开LordPE V1.4 右键,纠正文件大小,右键,完全脱壳,之后打开
Import Fix 1.6 修复就可以使用了,看我操作,这里我们就输入2481F后查找,发现了一些详细信息,
获取输入表,显示无效的,发现无效数据,右键,剪切指针,最后一步,修复转存文件。 --------------------------------- 当前输入表: C (十进制:12) 个有效模块 (已添加: +C (十进制:+12)) 18B (十进制:395) 个输入函数. (已添加: +18B (十进制:+395)) (1 (十进制:1) 个未解决的指针) (已添加: +1 (十进制:+1)) --------------------------------------------------------------------------------------------------------------------------- 当前输入表: C (十进制:12) 个有效模块 18A (十进制:394) 个输入函数. (已添加: -1 (十进制:-1)) (0 (十进制:0) 个未解决的指针) (已添加: -1 (十进制:-1)) 恭喜! 已没有无效的指针, 但现在问题是:它能运行吗? :-) --------------------------------------------------------------------------------------------------------------------------- 修正转储文件... C (十进制:12) 个模块 18A (十进制:394) 个输入函数. *** 成功添加了新节. RVA:000B1000 大小:00002000 镜像输入表描述符大小: F0; 总共长度: 1BE0 C:\Documents and Settings\qz\桌面\教程演示\dumped_.exe 保存成功. 成功脱壳,我们打开看看,ok 可以打开了,我们再打开没经过Import Fix 1.6 修复的文件,
看到了吗,显然没经过修复这里是不能运行的,所以大家一定要按步骤行事噢,这个就是我们脱壳后的
文件了,我们查一下壳,好了,已经脱壳,我们再继续脱下面2个北斗壳吧,方法是一样的,
004010CC /. 55 PUSH EBP 004010CD |. 8BEC MOV EBP,ESP
ok,再来脱3.4的
004010CC /. 55 PUSH EBP 004010CD |. 8BEC MOV EBP,ESP
ok, 3个被我们脱壳的文件都可以正常运行,好了,教程就差不多到了这里,下面给群里打个小广告。
网站主要存放群内成员做的教程,群里人数不大多,希望爱好黑客的朋友,还有想加入团队的朋友
都可以进来,不要有要求的哦,可以先进群咯,好了,教程就到这里,下次再见啦,88.。。 |