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: 爆破了。嘿嘿
页: 1 2 3 [4]
查看完整版本: KeyMakeMe 20091021