WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 1841查看
  • 2回复

主题

好友

476

积分

禁止发言

发表于 2009-6-5 13:20:04 |显示全部楼层
【文章标题】: 菜鸟手把手教你脱冰刃1.18(冰刃1.18最新版)
【文章作者】: 小沈
【作者邮箱】: 283218815@qq.com
【作者主页】: http://www.upx.com.cn
【作者QQ号】: 283218815
【作者组织】:http://www.wrsky.com (火狐技术联盟)
【软件名称】: IceSword 1.18
【软件大小】: 689kb
【下载地址】: http://www.upx.com.cn/uploads/200606/icesword.rar
【加壳方式】: ASPack 2.12 -> Alexey Solodovnikov
【保护方式】: ASPack 2.12
【编写语言】: Microsoft Visual C++ 6.0
【使用工具】: Peid Ollyice RECImport
【操作平台】: Windows Xp Sp2
【软件介绍】: 无比强大的ANTIROOTKIT 的综合TOOLS
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
用PEID查看为ASPack 2.12 -> Alexey Solodovnikov,相信网上的文章和教程都粉多,而且此工具有脱壳机了

个人只是说一下简单脱壳的一点自己的东西,高手飘过 上篇脱破文生成器用堆栈平衡的技巧 这次我们就从

基础开始 嘿嘿(菜鸟就要慢慢从基础打起的 ~@#~@#~@)

现在言归正题 Action...

直接用Ollyice载入提示此软件已被压缩.点"取消"后来到此处:

00647001 > 60 pushad //看到pushad 是不是想到popad? 哈哈 别急 今天不讲这
00647002 E8 03000000 call 0064700A // CALL比较近 用F8 比较容易跑飞 直接用F7 向下走
00647007 - E9 EB045D45 jmp 45C174F7
0064700C 55 push ebp
0064700D C3 retn
0064700E E8 01000000 call 00647014
00647013 EB 5D jmp short 00647072
00647015 BB EDFFFFFF mov ebx, -13
0064701A 03DD add ebx, ebp
0064701C 81EB 00702400 sub ebx, 247000
00647022 83BD 22040000 0>cmp dword ptr [ebp+422], 0
00647029 899D 22040000 mov [ebp+422], ebx
0064702F 0F85 65030000 jnz 0064739A
00647035 8D85 2E040000 lea eax, [ebp+42E]
0064703B 50 push eax
0064703C FF95 4D0F0000 call [ebp+F4D]
00647042 8985 26040000 mov [ebp+426], eax

F7 向下走 到这里

0064702F /0F85 65030000 jnz 0064739A //这边有个JNZ跳转 注意啦 看地址0064739A
00647035 |8D85 2E040000 lea eax, [ebp+42E]
0064703B |50 push eax
0064703C |FF95 4D0F0000 call [ebp+F4D]
00647042 |8985 26040000 mov [ebp+426], eax
00647048 |8BF8 mov edi, eax
0064704A |8D5D 5E lea ebx, [ebp+5E]
0064704D |53 push ebx
0064704E |50 push eax
0064704F |FF95 490F0000 call [ebp+F49]
00647055 |8985 4D050000 mov [ebp+54D], eax
0064705B |8D5D 6B lea ebx, [ebp+6B]
0064705E |53 push ebx
0064705F |57 push edi
00647060 |FF95 490F0000 call [ebp+F49]

跳转未实现
0064739A=0064739A

Ctrl+g 跟进 0064739A

0064739A B8 6BA30200 mov eax, 2A36B //来到这里
0064739F 50 push eax
006473A0 0385 22040000 add eax, [ebp+422]
006473A6 59 pop ecx
006473A7 0BC9 or ecx, ecx
006473A9 8985 A8030000 mov [ebp+3A8], eax
006473AF 61 popad
006473B0 75 08 jnz short 006473BA
006473B2 B8 01000000 mov eax, 1
006473B7 C2 0C00 retn 0C

F2 下个断点

然后F9 运行一下 中断在这里

继续F7向下走

就快到光明顶了

0042A36B 55 push ebp //这里就是OEP了 哈哈
0042A36C 8BEC mov ebp, esp
0042A36E 6A FF push -1
0042A370 68 10584E00 push 004E5810
0042A375 68 AC9B4200 push 00429BAC
0042A37A 64:A1 00000000 mov eax, fs:[0]
0042A380 50 push eax
0042A381 64:8925 0000000>mov fs:[0], esp
0042A388 83EC 58 sub esp, 58
0042A38B 53 push ebx
0042A38C 56 push esi
0042A38D 57 push edi
0042A38E 8965 E8 mov [ebp-18], esp
0042A391 FF15 4CA34D00 call [4DA34C] ; kernel32.GetVersion

Microsoft Visual C++ 6.0 的产物 嘿嘿

然后点右键 Dump下来 Copy下OEP 

然后用RECImport修复

把2A36B 复制到OEP 点自动查找IAT

获取输入表 修复转储文件

过程完毕  简单吧 。。。 

本文为菜鸟所写 嘿 希望大家喜欢

【经验总结】
过程写的垃圾 只是用最原始的方法来脱ASPACK 相信大家都会 文章可能跟网络上有相似或相同方法的地方但出于对FST 论坛的扫肓 还算比较详细的写下来 

今天有点时间 我心爱的阿根廷已经离去 写下此文 做个记念

本篇文章来源于 黑客手册
原文链接:http://www.nohack.cn/netsafe/invasion/20070303/1749.html

主题

好友

38

积分

新手上路

发表于 2009-6-5 13:23:30 |显示全部楼层
没看明白,、呵呵~
回复

使用道具 举报

主题

好友

1626

积分

金牌会员

发表于 2009-6-8 11:03:23 |显示全部楼层
学学怎么搞
回复

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-4 10:25 , Processed in 0.061564 second(s), 16 queries .

返回顶部