hflywolf
发表于 2009-10-22 09:21:43
原帖由 野猫III 于 2009-10-21 16:40 发表 https://www.chinapyg.com/images/common/back.gif
软件名称:KeyMakeMe 20091021
软件编写:Keymake 2.0 ZHOU2X
加壳与否:无壳
难易程序:中初级(非明码)
软件要求:算法分析及用KeyMake编写注册机
活动目的:提升对Keymake编写注册机的信心
47831
没用过KeyMake编写过注册机,貌似不会! 丢个另类注册机给大家玩吧。
只是借用了猫大的KeyMakeMe程序乱搞一通,没啥技术含量,本来想找个空白的空间写代码的
发现代码段是不可写,没办法了。只好借用猫大程序的那个sub_401494 /:017 空间不但足够还富余!
恩,猫大千万不要骂我投机取巧哈,就改了个提示栏的文字,版权其他信息都保留了。
/:017 /:017 /:017
[ 本帖最后由 hflywolf 于 2009-10-22 09:44 编辑 ]
野猫III
发表于 2009-10-22 10:25:54
原帖由 hflywolf 于 2009-10-22 09:21 发表 https://www.chinapyg.com/images/common/back.gif
没用过KeyMake编写过注册机,貌似不会! 丢个另类注册机给大家玩吧。
只是借用了猫大的KeyMakeMe程序乱搞一通,没啥技术含量,本来想找个空白的空间写代码的
发现代码段是不可写,没办法了。只好借用猫大程序的 ...
:funk: 牛呀!这个更改真的很有境界也~~~佩服!
原帖由 pptppt 于 2009-10-22 00:08 发表 https://www.chinapyg.com/images/common/back.gif
好热闹啊,支持猫兄!/:good
name:pptppt
code:1=7>6 也不知道这个是什么算法?应该是1=7-6吧,呵呵,开个玩笑!
算法:F1(x)=F2(y),这样就可以做到内存中不出现明码了,但函数可逆的话,逆推就可以得到 ...
问题出现在这里~~~将字符转为16进制数的,如果在这之前我来个判断的代码应该更好点。。。
004014B3|> /8A07 /MOV AL,BYTE PTR DS:
004014B5|. |3C 41 |CMP AL,41 //与A比较
004014B7|. |72 0C |JB SHORT KeyMakeM.004014C5
004014B9|. |2C 57 |SUB AL,57 //
004014BB|. |80D2 00 |ADC DL,0
004014BE|. |C0E2 05 |SHL DL,5
004014C1|. |02C2 |ADD AL,DL
004014C3|. |EB 02 |JMP SHORT KeyMakeM.004014C7
004014C5|> |2C 30 |SUB AL,30 //低于A就减30
004014C7|> |8D4E FF |LEA ECX,DWORD PTR DS:
004014CA|. |83E0 0F |AND EAX,0F
004014CD|. |C1E1 02 |SHL ECX,2
004014D0|. |D3E0 |SHL EAX,CL
004014D2|. |03D8 |ADD EBX,EAX
004014D4|. |47 |INC EDI
004014D5|. |4E |DEC ESI
004014D6|> |0BF6 OR ESI,ESI
004014D8|.^\75 D9 \JNZ SHORT KeyMakeM.004014B3
pptppt按正规的16进制注册码应该是1D7E6,而这个1=7>6是从那来的呢?看:
"=" ASCII 0x3D经上面这个循环减去0x30,就得到D
">" ASCII 0x3E经上面这个循环减去0x30,就得到E
程序的bug都被利用上了,不得不佩服pptppt兄弟!
[ 本帖最后由 野猫III 于 2009-10-25 20:43 编辑 ]
hackwm
发表于 2009-10-22 10:34:29
大伙都牛人.
PPTPPT大牛的注册码好神奇
hflywolf
发表于 2009-10-22 10:49:24
基础真扎实,用的什么工具分析的?我的代码怎么成裸奔的啦!
我用IDA分析的,丢进去再F5代码全出来了!现在习惯先用IDA分析一遍流程,再丢OD跑关键地方!
/:001
:funk: 牛呀!这个更改真的很有境界也~~~佩服!
嘿嘿,没啥技术含量的,依葫芦画瓢乱搞一通的了!让猫见笑了。
[ 本帖最后由 hflywolf 于 2009-10-22 10:52 编辑 ]
yangbing1990
发表于 2009-10-22 12:07:04
膜拜下 学习学习算法
zaas
发表于 2009-10-22 12:37:19
原帖由 hflywolf 于 2009-10-22 09:21 发表 https://www.chinapyg.com/images/common/back.gif
没用过KeyMake编写过注册机,貌似不会! 丢个另类注册机给大家玩吧。
只是借用了猫大的KeyMakeMe程序乱搞一通,没啥技术含量,本来想找个空白的空间写代码的
发现代码段是不可写,没办法了。只好借用猫大程序的 ...
这个思路真棒,我怎么就想不到呢?
HDd1145
发表于 2009-10-22 12:59:12
zaas
发表于 2009-10-22 17:15:37
按照 hflywolf的思路,偶也把猫老大的CM给改造了一下。用了congratulations那个call~~~
方法比较笨。上边取数字的完全可以用循环来做。改造这个call导致窗体caption不正确了。004014E4 55 push ebp
004014E5 8BEC mov ebp,esp
004014E7 83C4 FC add esp,-4
004014EA 56 push esi
004014EB 57 push edi
004014EC 53 push ebx
004014ED 8B75 08 mov esi,dword ptr ss:
004014F0 8B7D 0C mov edi,dword ptr ss:
004014F3 8BC6 mov eax,esi ; KeyMakeM.0040306C
004014F5 C1E8 1C shr eax,1C
004014F8 84C0 test al,al
004014FA 74 05 je short KeyMakeM.00401501
004014FC E8 6C000000 call KeyMakeM.0040156D
00401501 8BC6 mov eax,esi
00401503 C1E8 18 shr eax,18
00401506 24 0F and al,0F
00401508 84C0 test al,al
0040150A 74 05 je short KeyMakeM.00401511
0040150C E8 5C000000 call KeyMakeM.0040156D
00401511 8BC6 mov eax,esi
00401513 C1E8 14 shr eax,14
00401516 24 0F and al,0F
00401518 84C0 test al,al
0040151A 74 05 je short KeyMakeM.00401521
0040151C E8 4C000000 call KeyMakeM.0040156D
00401521 8BC6 mov eax,esi
00401523 C1E8 10 shr eax,10
00401526 24 0F and al,0F
00401528 E8 40000000 call KeyMakeM.0040156D
0040152D 8BC6 mov eax,esi
0040152F C1E8 0C shr eax,0C
00401532 24 0F and al,0F
00401534 E8 34000000 call KeyMakeM.0040156D
00401539 8BC6 mov eax,esi
0040153B C1E8 08 shr eax,8
0040153E 24 0F and al,0F
00401540 E8 28000000 call KeyMakeM.0040156D
00401545 8BC6 mov eax,esi
00401547 C1E8 04 shr eax,4
0040154A 24 0F and al,0F
0040154C E8 1C000000 call KeyMakeM.0040156D
00401551 8BC6 mov eax,esi
00401553 24 0F and al,0F
00401555 E8 13000000 call KeyMakeM.0040156D
0040155A 33C0 xor eax,eax
0040155C 5B pop ebx
0040155D 5F pop edi
0040155E 5E pop esi
0040155F C9 leave
00401560 C2 0800 retn 8
0040156C 90 nop
0040156D 3C 09 cmp al,9
0040156F 77 07 ja short KeyMakeM.00401578
00401571 04 30 add al,30
00401573 8807 mov byte ptr ds:,al
00401575 47 inc edi
00401576 EB 05 jmp short KeyMakeM.0040157D
00401578 04 37 add al,37
0040157A 8807 mov byte ptr ds:,al
0040157C 47 inc edi
0040157D C3 retn
[ 本帖最后由 zaas 于 2009-10-22 17:31 编辑 ]
野猫III
发表于 2009-10-25 19:58:02
原帖由 zaas 于 2009-10-22 17:15 发表 https://www.chinapyg.com/images/common/back.gif
按照 hflywolf的思路,偶也把猫老大的CM给改造了一下。用了congratulations那个call~~~
方法比较笨。上边取数字的完全可以用循环来做。改造这个call导致窗体caption不正确了。004014E4 55 pu ...
像hflywolf兄弟一样,找个别的空闲代码处改,个别要重复的代码,你复制到新代码段,应该更棒!
幽雅的心
发表于 2010-2-18 08:14:51
:lol: 爆破了。嘿嘿