首页
社区
课程
招聘
[分享]SoftWrap 6.x之一:制作内存补丁篇
发表于: 2007-4-23 17:00 8848

[分享]SoftWrap 6.x之一:制作内存补丁篇

2007-4-23 17:00
8848
【文章标题】: SoftWrap 6.x之一:制作内存补丁篇
【文章作者】: wynney
【软件名称】: Fractal PC 3.01
【下载地址】: http://www.fractalpc.com/resources/SetupFractalPC30.exe
【保护方式】: SoftWrap 6.x
【使用工具】: OD、ABEL Loader
【作者声明】: SoftWrap的教程很少,花了点时间研究了下,发出来讨论下
--------------------------------------------------------------------------------
【详细过程】

  一、        前言
  
  SoftWrap保护的程序一是很少,二是体积很大,不太方便找来写教程。
  跟踪程序你会发现壳会申请大致5个左右的区段来存放壳的代码,并完成加密等操作。
  这中间是用壳的SDK方式连接的Anti Debug.dll(Softwrap.dll),这个dll会检测调试器、跟踪工具、CRC效验等。
  说到这里大家可能会问,那岂不是可以通过补区段的法子来脱壳吗?呵呵,是可以的,但是脱壳文件无法跨平台。
  介绍SoftWrap的教程少之又少,我们将一步一步揭开SoftWrap神秘的面纱:)本文介绍的是如何制作内存补丁
  
  二、        找关键点
  
  

00459000 > 90 nop ; EP
00459001 90 nop
00459002 EB 29 jmp short 0045902D
00459004 CD D4 int 0D4
00459006 F3:67: prefix rep:
00459008 0000 add byte ptr [eax], al
0045900A 0000 add byte ptr [eax], al

  
  忽略所有异常,F9
   


  有个NAG,我们可以点"Try Now"进入程序
  现在我们需要找到一个点使我们跳过这个NAG,而直接进入到程序当中
  
  1、        设置异常
  
  忽略除了特权指令和指定异常外的所有异常
   


  2、        Shift+F9,中断在第一次特权指令异常
  3、        右键查找所有参考文本字串,搜索\\.\REGMON,找到后双击,来到代码处,F2下断,打埋伏



  4、        继续3次Shift+F9中断下来,F8走~
  
  

100143EA 391D 90B50410 cmp dword ptr [1004B590], ebx
100143F0 75 07 jnz short 100143F9 ; 没跳
100143F2 E8 10F7FFFF call 10013B07 ; F8过这里后,NAG出现
100143F7 EB 05 jmp short 100143FE
100143F9 E8 18F9FFFF call 10013D16
100143FE E8 843DFFFF call 10008187
10014403 E8 7D250000 call 10016985

  
  于是,可以更改100143F0处的jnz为jmp就可以跳过NAG框了
  
  三、        制作补丁


   
  这样补丁就制作完毕了:)
  需要注意的是这样的内存补丁可以跨平台,但是,偶尔补丁失效。
  
  四、        补充
  
  我们也可以这样去处理
  
  

100143EA 391D 90B50410 cmp dword ptr [1004B590], ebx
100143F0 75 07 jnz short 100143F9 ; 没跳
100143F2 E8 10F7FFFF call 10013B07 ; F7进去
100143F7 EB 05 jmp short 100143FE
100143F9 E8 18F9FFFF call 10013D16

  
  

10013B54 E8 8F24FFFF call 10005FE8
10013B59 59 pop ecx
10013B5A 0FBE45 FF movsx eax, byte ptr [ebp-1] ; [ebp-1]=4则跳过NAG框
10013B5E 48 dec eax
10013B5F 74 35 je short 10013B96 ; 可以直接修改成jmp 10013B6E
10013B61 48 dec eax
10013B62 74 28 je short 10013B8C
10013B64 48 dec eax
10013B65 74 1B je short 10013B82
10013B67 48 dec eax
10013B68 0F85 A4010000 jnz 10013D12
10013B6E C705 B8B40410 0>mov dword ptr [1004B4B8], 1 ; 即跳到这里就可以跳过NAG框
10013B78 E8 67A0FFFF call 1000DBE4
10013B7D E9 90010000 jmp 10013D12


  
  还有第3个可以Pass NAG的点,在下一篇中会提到。
  
  第二篇:Inline Patch SoftWrap壳的方法

  
图文PDF版下载

SoftWrap 6.x之一:制作内存补丁篇.pdf


--------------------------------------------------------------------------------
【经验总结】
  给SoftWrap制作内存补丁很容易,难度:易
  但是不得不说SoftWrap算是一个猛壳了,要完全的处理掉IAT加密的确比较麻烦
  后面我们将一步一步的来欣赏它。
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2007年04月23日

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (8)
雪    币: 110
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
哇,厉害,这东西看着教程都不知道能不能搞定,学习一下

还有现在论坛的 帖子快速回复 还没有以前的好用,经常停留着不动,要退出该页再打开才能回复
2007-4-23 17:14
0
雪    币: 827
活跃值: (242)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
看样子还有下文,支持把~~~~
2007-4-23 18:35
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
4
没见过,学习了。
2007-4-23 20:28
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
请问你图中是使用什么工具来制作内存补丁?
2007-5-10 22:17
0
雪    币: 79
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
http://www.chemax.ru/tools3.php
2007-5-11 11:05
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
7
非常感谢,
时常感觉DUP的load制作内存补丁非常麻烦,能导出列表不能导入
每次都只能改一个字节,十分麻烦,而且不支持模糊匹配
2007-5-11 11:51
0
雪    币: 347
活跃值: (25)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
8
又学了个新方法,期待下一篇文章的完成
2007-5-11 14:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
学习学习一下!~!~
2007-5-11 18:11
0
游客
登录 | 注册 方可回帖
返回
//