puti67 发表于 2008-2-16 21:14:27

XX加密大师去自校验!(第一次帖,请大家批评指正)

XX加密大师5.0去自教验
【破解工具】PEiD,OD
【破解平台】Windows XP
【软件名称】XX加密大师5.0
【软件大小】1.78MB
【原版下载】自己找一下
【保护方式】注册码
【软件简介】
XX加密大师是一款加密光盘制作工具。你可以用它可视化的修改光盘镜像文件,将光盘 镜像文件中
的目录和文件特别隐藏,将普通文件变为超大文件,将普通目录变为文件目录。它是修改多种格式ISO文
件系统的光盘工具,你可以用它轻松制作自己的个性化加密光盘。
说明:
去年一个偶然机会接触到软件的破解,刚好PYG周年开放注册,就加入了,在这里学到了很多东西。在此向各位大侠表示感谢!
一、PEiD查壳
UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
二、脱壳比较简单用ESP定律轻松搞定。脱壳后不能运行,看来是有自校验。
三、去校验
把脱壳后的文件和原文件分别用OD载入,分别下下断:bp CreateFileA   
(这里主要显示脱壳后的)
F9运行   被断下
C801A24 >/$8BFF          mov   edi, edi   //断在这里
7C801A26|.55            push    ebp
7C801A27|.8BEC          mov   ebp, esp
7C801A29|.FF75 08       push    dword ptr
7C801A2C|.E8 43C60000   call    7C80E074
7C801A31|.85C0          test    eax, eax
7C801A33|.74 1E         je      short 7C801A53
7C801A35|.FF75 20       push    dword ptr       ; /hTemplateFile
7C801A38|.FF75 1C       push    dword ptr       ; |Attributes

Alt + F9 返回到这里

00408747    5F            pop   edi      ; 00DE0012
00408748    5E            pop   esi
00408749    5B            pop   ebx
0040874A    C3            retn
0040874B    90            nop
0040874C    53            push    ebx
0040874D    8BD8            mov   ebx, eax
0040874F    6A 00         push    0
00408751    68 80000000   push    80
00408756    6A 02         push    2

继续F8单步

0041BBCF    0FB7D7          movzx   edx, di
0041BBD2    8BC6            mov   eax, esi
0041BBD4    E8 1BCBFEFF   call    004086F4
0041BBD9    8BC8            mov   ecx, eax
0041BBDB    33D2            xor   edx, edx
0041BBDD    8BC3            mov   eax, ebx
0041BBDF    E8 38FEFFFF   call    0041BA1C
0041BBE4    837B 04 00      cmp   dword ptr , 0
0041BBE8    7D 48         jge   short 0041BC32          \\这里必须跳!!jge改为Jmp
0041BBEA    8D55 E0         lea   edx, dword ptr
0041BBED    8BC6            mov   eax, esi
0041BBEF    E8 E0CDFEFF   call    004089D4
0041BBF4    8B45 E0         mov   eax, dword ptr
0041BBF7    8945 EC         mov   dword ptr , eax
0041BBFA    C645 F0 0B      mov   byte ptr , 0B
0041BBFE    E8 91A8FEFF   call    <jmp.&kernel32.GetLastError>
0041BC03    8D55 DC         lea   edx, dword ptr
0041BC06    E8 ADFCFEFF   call    0040B8B8
0041BC0B    8B45 DC         mov   eax, dword ptr

继续F8

0048652E    6A 00         push    0
00486530    68 69080000   push    869
00486535    8B45 FC         mov   eax, dword ptr
00486538    E8 AB50F9FF   call    0041B5E8
0048653D    8D55 D4         lea   edx, dword ptr
00486540    B9 20000000   mov   ecx, 20
00486545    8B45 FC         mov   eax, dword ptr
00486548    E8 A752F9FF   call    0041B7F4//这个CALL出错,我们F7进去
0048654D    BE 20000000   mov   esi, 20
00486552    8D5D D4         lea   ebx, dword ptr
00486555    8D45 C8         lea   eax, dword ptr
00486558    8A13            mov   dl, byte ptr
0048655A    E8 5DDDF7FF   call    004042BC
0048655F    8B55 C8         mov   edx, dword ptr
00486562    8D45 F8         lea   eax, dword ptr
00486565    E8 42DEF7FF   call    004043AC

F7进去后: 用F8单步

0041B7FB    8BF0            mov   esi, eax
0041B7FD    85DB            test    ebx, ebx
0041B7FF    74 26         je      short 0041B827
0041B801    8BD7            mov   edx, edi
0041B803    8BCB            mov   ecx, ebx
0041B805    8BC6            mov   eax, esi
0041B807    8B30            mov   esi, dword ptr
0041B809    FF56 0C         call    dword ptr
0041B80C    3BD8            cmp   ebx, eax
0041B80E    74 17         je      short 0041B827          // (这里必须跳)这里je改为jne
0041B810    8B0D E46A4900   mov   ecx, dword ptr           ; dumped00.0041503C
0041B816    B2 01         mov   dl, 1
0041B818    A1 7C624100   mov   eax, dword ptr
0041B81D    E8 5A09FFFF   call    0040C17C
0041B822    E8 E982FEFF   call    00403B10   
0041B827    5F            pop   edi
0041B828    5E            pop   esi

继续F8到这里:

004865AB    E8 ECFBFFFF   call    0048619C
004865B0    8B45 F8         mov   eax, dword ptr
004865B3    8B55 F4         mov   edx, dword ptr
004865B6    E8 35DFF7FF   call    004044F0
004865BB    75 04         jnz   short 004865C1 //(这里不能跳)Jne改为je
004865BD    B3 01         mov   bl, 1
004865BF    EB 02         jmp   short 004865C3
004865C1    33DB            xor   ebx, ebx
004865C3    33C0            xor   eax, eax
004865C5    5A            pop   edx
004865C6    59            pop   ecx
004865C7    59            pop   ecx
共有三处修改,保存修改文件。
OK 这样就能解除自校验了!
总结:这个软件是我在接触到的第一个自校验软件,让我郁闷了好长时间,今天终于搞定。自己体会:破解是一条艰辛之路,需要有信心、耐心、恒心。
第一次写破文,请大家批评指正!谢谢!

[ 本帖最后由 puti67 于 2008-2-16 21:19 编辑 ]

flyjmu 发表于 2008-2-16 21:27:52

支持原创/:good /:good

月之精灵 发表于 2008-2-16 21:41:40

支持的说,希望再接再厉,更上层楼

yybns 发表于 2008-2-17 00:00:44

收下学一下,谢谢

yangwanhui 发表于 2008-2-17 20:25:36

收藏起来 学习去/:badly

剑客之道 发表于 2008-2-17 22:53:08

学习破解,那真是相当的不容易啊/:010

天骄 发表于 2008-2-18 00:35:50

谢谢!自己好好学习一下!!!

天颖 发表于 2008-2-19 02:43:58

呵不错!但我碰到的检测
一用OD载入程序马上把自己删掉   搞得我。。。。一头雾水!

roking 发表于 2008-3-28 12:57:12

支持!再接再厉,继续!

冥冥 发表于 2008-5-1 18:37:53

支持。。呵呵。。
页: [1] 2
查看完整版本: XX加密大师去自校验!(第一次帖,请大家批评指正)