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 编辑 ] 猫也来个自报注册码!
+++++++++++
打包工具里的》》静动态分析》》C32Asm V0.4.12原版+脱壳破解版
这次要用上咯。。。
请看图示!
[ 本帖最后由 野猫III 于 2006-5-28 14:30 编辑 ] 我也来个 报注册码呵呵
PW:手动esp脱壳脱不了
用fly 的OS脚本也不行
求助! 原帖由 vacant 于 2006-5-27 20:51 发表
我也来个 报注册码呵呵
PW:手动esp脱壳脱不了
用fly 的OS脚本也不行
求助!
+++++++++++++++++++++
C32Asm V0.4.12 破解版 来个算法的+自报的(最近蛮流行自报注册码的嘛)
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 编辑 ] 原帖由 fantasy 于 2006-5-30 15:27 发表
来个算法的+自报的(最近蛮流行自报注册码的嘛)
00408388/$55 push ebp
00408389|.8BEC mov ebp, esp
0040838B|.83C4 F4 add esp, -0C
0040838E|.53 ...
牛人!注册机的界面很Cool! 暴破简单
算法正在弄
谢谢! 原帖由 fantasy 于 2006-5-30 15:27 发表
来个算法的+自报的(最近蛮流行自报注册码的嘛)
00408388/$55 push ebp
00408389|.8BEC mov ebp, esp
0040838B|.83C4 F4 add esp, -0C
0040838E|.53 ...
贼酷啊!!! 呵呵,黑底白字,我喜欢~!
算法还好,不算难,可是不会写算法注册机,先做了一个内存注册.看看吧,脱壳上碰到点问题,不能用ESP定律,可能是我没学好吧,手脱脱掉了,可是不会修复,有点晕.~!上面那个注册机很COOL,我喜欢,不知道是用什么做的,能不能做个动画??
[ 本帖最后由 moyer 于 2006-6-8 09:32 编辑 ] xhw 130
页:
[1]
2