野猫III 发表于 2006-5-27 18:40:58

PYG 5.4 Cracker 小组 课外练习19

要求
0)脱壳
1)爆破
2)追码
3)内存注册机(可行就选做)
4)算法分析(选做)
练习的目的只在于巩固学习成果.
希望大家积极相互交流相.互讨论.

+++++++++++++++++++++++++++

加壳:FSG 2.0 -> bart/xt
本Crackme由Wilson搜索而来。。。
附带有FSG V2.0脱壳机。感觉还是可以。
但对于这个软件,脱壳后就是Nothing Found*,不知何解!
++++++++++++++++++++++++
手脱要修复!在第二课里面学习了,应该可以搞得了。。。

[ 本帖最后由 野猫III 于 2006-5-27 18:49 编辑 ]

野猫III 发表于 2006-5-27 18:59:09

猫也来个自报注册码!

+++++++++++

打包工具里的》》静动态分析》》C32Asm V0.4.12原版+脱壳破解版

这次要用上咯。。。

请看图示!

[ 本帖最后由 野猫III 于 2006-5-28 14:30 编辑 ]

vacant 发表于 2006-5-27 20:51:43

我也来个 报注册码呵呵

PW:手动esp脱壳脱不了
       用fly 的OS脚本也不行
       求助!

野猫III 发表于 2006-5-28 11:33:00

原帖由 vacant 于 2006-5-27 20:51 发表
我也来个 报注册码呵呵

PW:手动esp脱壳脱不了
       用fly 的OS脚本也不行
       求助!


+++++++++++++++++++++

C32Asm V0.4.12 破解版

fantasy 发表于 2006-5-30 15:27:00

来个算法的+自报的(最近蛮流行自报注册码的嘛)
00408388/$55            push    ebp
00408389|.8BEC          mov   ebp, esp
0040838B|.83C4 F4       add   esp, -0C
0040838E|.53            push    ebx
0040838F|.56            push    esi
00408390|.57            push    edi
00408391|.33C9          xor   ecx, ecx
00408393|.894D F4       mov   , ecx
00408396|.8955 F8       mov   , edx
00408399|.8945 FC       mov   , eax
0040839C|.8B45 FC       mov   eax,
0040839F|.E8 8CBCFFFF   call    00404030
004083A4|.33C0          xor   eax, eax
004083A6|.55            push    ebp
004083A7|.68 41844000   push    00408441
004083AC|.64:FF30       push    dword ptr fs:
004083AF|.64:8920       mov   fs:, esp
004083B2|.8B45 FC       mov   eax,
004083B5|.E8 86BCFFFF   call    00404040
004083BA|.E8 25D8FFFF   call    00405BE4                      ;取用户名个数
004083BF|.8BD8          mov   ebx, eax                      ;把用户名个数放到EBX中
004083C1|.D1EB          shr   ebx, 1                        ;EBX_1=EBX /2
004083C3|.4B            dec   ebx                           ;EBX_2=EBX_1-1
004083C4|.8B45 F8       mov   eax,
004083C7|.E8 68B8FFFF   call    00403C34
004083CC|.8BFB          mov   edi, ebx                      ;把EBX放到EDI 中
004083CE|.85FF          test    edi, edi                      ;测试EDI
004083D0|.7C 51         jl      short 00408423                ;非○就跳
004083D2|.47            inc   edi                           ;EDI+1
004083D3|.33F6          xor   esi, esi                      ;ESI清0
004083D5|>8B45 FC       /mov   eax,                ;把用户名放到EAX 中
004083D8|.E8 63BCFFFF   |call    00404040
004083DD|.8BD6          |mov   edx, esi
004083DF|.83F2 02       |xor   edx, 2                     ;edx=edx xor 2
004083E2|.8A1C10      |mov   bl,                 ;把用户名的第EDX(3)位放到BL中
004083E5|.8B45 FC       |mov   eax,                ;把用户名放到EAX 中
004083E8|.E8 53BCFFFF   |call    00404040
004083ED|.8BD6          |mov   edx, esi
004083EF|.83F2 02       |xor   edx, 2                     ;edx1=edx xor 2
004083F2|.8A4410 FF   |mov   al,             ;把用户名的第EDX1-1(2)位放到AL中
004083F6|.0AD8          |or      bl, al                     ;BL_1=BL OR AL
004083F8|.8B45 FC       |mov   eax,                ;把用户名放到EAX 中
004083FB|.E8 40BCFFFF   |call    00404040
00408400|.E8 DFD7FFFF   |call    00405BE4                     ;取用户名的个数放到AL中
00408405|.02D8          |add   bl, al                     ;BL_2=BL_1+AL(用户名的个数)
00408407|.8D45 F4       |lea   eax,
0040840A|.8BD3          |mov   edx, ebx                     ;把BL_2放到EDX中
0040840C|.E8 EFB9FFFF   |call    00403E00
00408411|.8B55 F4       |mov   edx,
00408414|.8B45 F8       |mov   eax,
00408417|.E8 A0BAFFFF   |call    00403EBC
0040841C|.8B45 F8       |mov   eax,
0040841F|.46            |inc   esi
00408420|.4F            |dec   edi
00408421|.^ 75 B2         \jnz   short 004083D5               ;注册码只取第1次循环计算好的(ebx)值
00408423|>33C0          xor   eax, eax
00408425|.5A            pop   edx
00408426|.59            pop   ecx
00408427|.59            pop   ecx
00408428|.64:8910       mov   fs:, edx
0040842B|.68 48844000   push    00408448
00408430|>8D45 F4       lea   eax,
00408433|.E8 FCB7FFFF   call    00403C34
00408438|.8D45 FC       lea   eax,
0040843B|.E8 F4B7FFFF   call    00403C34
00408440\.C3            retn
00408441   .^ E9 16B2FFFF   jmp   0040365C
00408446   .^ EB E8         jmp   short 00408430
00408448   .5F            pop   edi
00408449   .5E            pop   esi
0040844A   .5B            pop   ebx
0040844B   .8BE5          mov   esp, ebp
0040844D   .5D            pop   ebp
0040844E   .C3            retn

算法总结:
1)用户名>=2位
2)取用户名的第3位的ASCII码值与用户名的第2位的ASCII码值作或运算  计为:V1
3)V1+用户名的个数  计为V2
4)V2转换成10进制码就是序列号

附上算法注册机一个


[ 本帖最后由 fantasy 于 2006-5-30 15:29 编辑 ]

野猫III 发表于 2006-5-31 18:35:22

原帖由 fantasy 于 2006-5-30 15:27 发表
来个算法的+自报的(最近蛮流行自报注册码的嘛)
00408388/$55            push    ebp
00408389|.8BEC          mov   ebp, esp
0040838B|.83C4 F4       add   esp, -0C
0040838E|.53 ...

牛人!注册机的界面很Cool!

xuaiyong 发表于 2006-6-1 12:56:31

暴破简单
算法正在弄
谢谢!

godhack 发表于 2006-6-1 21:26:24

原帖由 fantasy 于 2006-5-30 15:27 发表
来个算法的+自报的(最近蛮流行自报注册码的嘛)
00408388/$55            push    ebp
00408389|.8BEC          mov   ebp, esp
0040838B|.83C4 F4       add   esp, -0C
0040838E|.53 ...

贼酷啊!!!

moyer 发表于 2006-6-8 01:30:47

呵呵,黑底白字,我喜欢~!
算法还好,不算难,可是不会写算法注册机,先做了一个内存注册.看看吧,脱壳上碰到点问题,不能用ESP定律,可能是我没学好吧,手脱脱掉了,可是不会修复,有点晕.~!上面那个注册机很COOL,我喜欢,不知道是用什么做的,能不能做个动画??

[ 本帖最后由 moyer 于 2006-6-8 09:32 编辑 ]

xuhw 发表于 2006-6-9 15:26:00

xhw         130
页: [1] 2
查看完整版本: PYG 5.4 Cracker 小组 课外练习19