冷血书生 发表于 2006-4-18 01:07:38

Armadillo Debug-Blocker+CopyMem-II+Enable Memory-Patching Protections脱壳分析

【破解日期】 2006年4月17日
【破解作者】 冷血书生
【作者邮箱】 meiyou
【作者主页】 meiyou
【使用工具】 FlyOD、 LordPE、ImportREC
【破解平台】 Win9x/NT/2000/XP
【软件名称】 FotoBatch (魔法转换) 5.0.3
【下载地址】 http://www.onlinedown.net/soft/4139.htm
【软件简介】 FotoBatch(原名:魔法转换)是一个功能强大的图像批量转换、批量处理软件。使用它您可以制定图像处理脚本,然后根据脚本对图像进行批量转换。FotoBatch提供超过30个图像处理脚本命令,比如调整图像大小、调整饱和度、增加半透明水印等。同时它还能创建可自动播放的EXE文件并可与您的家人朋友分享。它还支持WINDOWS右键菜单进行转换操作,并可以自定义WINDOWS右键菜单。它支持目前所有流行的图像格式,输出格式为:bmp、jpg、gif、png、tif、pcx、wmf、emf、tga、ico、wbmp,还包括txt、rtf、htm等字符画格式。

【软件大小】 3846KB
【加壳方式】 Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】

    本来是想找C++的RVA是怎么找的,无意中发现baby2008的脱壳求助,于是就DOWN下来看看,再于是,就有

了这篇菜菜的脱文,没啥含量,高手就跳过


一,寻找OEP+解码Dump

00736363 >55            push ebp                              ; OD载入停在这里,下断BP

WaitForDebugEvent
00736364    8BEC            mov ebp,esp
00736366    6A FF         push -1
00736368    68 200B7600   push fotobatc.00760B20
0073636D    68 A0607300   push fotobatc.007360A0
00736372    64:A1 00000000mov eax,dword ptr fs:

////////////////////////////////////////////////////////////////////////////////////////////

7C849128 >8BFF            mov edi,edi                           ; 中断在这里,取消断点
7C84912A    55            push ebp
7C84912B    8BEC            mov ebp,esp
7C84912D    83EC 68         sub esp,68
7C849130    56            push esi
////////////////////////////////////////////////////////////////////////////////////////////
堆栈:
0012BCB8   007264DF/CALL 到 WaitForDebugEvent 来自 fotobatc.007264D9
0012BCBC   0012CD90|pDebugEvent = 0012CD90   ---------> 在数据窗口跟随,接着下断:BP WriteProcessMemory
0012BCC0   000003E8\Timeout = 1000. ms


////////////////////////////////////////////////////////////////////////////////////////////
0012BCB8   007264DF/CALL 到 WaitForDebugEvent 来自 fotobatc.007264D9------> 在反汇编中跟随,Ctrl+F在当前位置下搜索命令:or eax,0FFFFFFF8,在其上找到00726A63    83BD CCF5FFFF 0>cmp dword ptr ss:,0处设置断点
////////////////////////////////////////////////////////////////////////////////////////////
00726A63    83BD CCF5FFFF 0>cmp dword ptr ss:,0 中断后取消断点,并把==000002A8清0
00726A6A    0F8C A8020000   jl fotobatc.00726D18
00726A70    8B8D CCF5FFFF   mov ecx,dword ptr ss:
00726A76    3B0D 481F7600   cmp ecx,dword ptr ds:   ★注意
00726A7C    0F8D 96020000   jge fotobatc.00726D18
00726A82    8B95 40F6FFFF   mov edx,dword ptr ss:
00726A88    81E2 FF000000   and edx,0FF
00726A8E    85D2            test edx,edx
00726A90    0F84 AD000000   je fotobatc.00726B43
00726A96    6A 00         push 0
00726A98    8BB5 CCF5FFFF   mov esi,dword ptr ss:
00726A9E    C1E6 04         shl esi,4
00726AA1    8B85 CCF5FFFF   mov eax,dword ptr ss:
00726AA7    25 07000080   and eax,80000007
00726AAC    79 05         jns short fotobatc.00726AB3
00726AAE    48            dec eax
00726AAF    83C8 F8         or eax,FFFFFFF8   ★找到这里
00726AB2    40            inc eax
00726AB3    33C9            xor ecx,ecx
00726AB5    8A88 1CF97500   mov cl,byte ptr ds:
00726ABB    8B95 CCF5FFFF   mov edx,dword ptr ss:
00726AC1    81E2 07000080   and edx,80000007
00726AC7    79 05         jns short fotobatc.00726ACE
00726AC9    4A            dec edx
00726ACA    83CA F8         or edx,FFFFFFF8
00726ACD    42            inc edx
00726ACE    33C0            xor eax,eax
00726AD0    8A82 1DF97500   mov al,byte ptr ds:
00726AD6    8B3C8D 70B37500 mov edi,dword ptr ds:
00726ADD    333C85 70B37500 xor edi,dword ptr ds:
00726AE4    8B8D CCF5FFFF   mov ecx,dword ptr ss:
00726AEA    81E1 07000080   and ecx,80000007
00726AF0    79 05         jns short fotobatc.00726AF7
00726AF2    49            dec ecx
00726AF3    83C9 F8         or ecx,FFFFFFF8
00726AF6    41            inc ecx
00726AF7    33D2            xor edx,edx
00726AF9    8A91 1EF97500   mov dl,byte ptr ds:
00726AFF    333C95 70B37500 xor edi,dword ptr ds:
00726B06    8B85 CCF5FFFF   mov eax,dword ptr ss:
00726B0C    99            cdq
00726B0D    B9 1C000000   mov ecx,1C
00726B12    F7F9            idiv ecx
00726B14    8BCA            mov ecx,edx
00726B16    D3EF            shr edi,cl
00726B18    83E7 0F         and edi,0F
00726B1B    03F7            add esi,edi
00726B1D    8B15 2C1F7600   mov edx,dword ptr ds:
00726B23    8D04B2          lea eax,dword ptr ds:
00726B26    50            push eax
00726B27    8B8D CCF5FFFF   mov ecx,dword ptr ss:
00726B2D    51            push ecx
00726B2E    E8 2F210000   call fotobatc.00728C62
00726B33    83C4 0C         add esp,0C
00726B36    25 FF000000   and eax,0FF    ///这里开始修改
00726B3B    85C0            test eax,eax
00726B3D    0F84 D5010000   je fotobatc.00726D18
////////////////////////////////////////////////////////////////////////////////////////////
修改为:
00726B36    FF85 CCF5FFFF   inc dword ptr ss:
00726B3C    C705 4C1F7600 0>mov dword ptr ds:,1
00726B46^ E9 18FFFFFF   jmp fotobatc.00726A63
////////////////////////////////////////////////////////////////////////////////////////////
修改完后,在00726A7C处跳转到00726D18下断点,接着就Shift+F9,中断在上面BP WriteProcessMemory断点处,看数据窗口:
0012CD9001 00 00 00 64 0B 00 00 FC 0A 00 00 01 00 00 80...d ..?....

windycandy 发表于 2006-4-18 07:55:21

冷血作品,顶先~~~~~~~~~~~~

yunfeng 发表于 2006-4-19 07:32:55

冷血书生现在强了,攻克的都是一些猛壳.佩服.这类壳我到现在还不会脱.

shatan 发表于 2006-4-19 17:11:19

收下,学习

丨DK丨Joe灬 发表于 2006-4-22 10:58:25

顶顶!!!!!!!

痕迹 发表于 2006-6-16 00:47:56

收藏學習
冷血兄越來越牛屄了呀

小子贼野 发表于 2007-3-31 17:45:54

貌似是穿山甲非标准版的,是不是?

mulonggu 发表于 2007-4-2 11:33:40

支持一个啊,全下了看看

胆大 发表于 2007-4-20 14:58:53

强啊..顶!.....正在学习脱这个.找到一篇好范文!@谢谢冷血了.

[ 本帖最后由 胆大 于 2007-4-20 15:19 编辑 ]

绝恋de烦神 发表于 2007-7-9 12:48:26

要是能做一个动画出来就更直观了。。。。
页: [1] 2
查看完整版本: Armadillo Debug-Blocker+CopyMem-II+Enable Memory-Patching Protections脱壳分析