野猫III 发表于 2009-10-11 11:44:57

KeyMakeMe 20091010

软件名称:KeyMakeMe 20091010
软件编写:Keymake 2.0 ZHOU2X
加壳与否:无壳
难易程序:中初级(明码)
软件要求:算法分析及用KeyMake编写注册机
活动目的:提升对Keymake编写注册机的信心
活动奖励:已奖啦,公布源代码,呵呵。2009-10-13
注册参考:
用户名:WildCatIII
注册码:DPM-LJWZ-NSM


[ 本帖最后由 野猫III 于 2009-10-11 11:49 编辑 ]

[ 本帖最后由 野猫III 于 2009-10-21 16:58 编辑 ]

sniy 发表于 2009-10-11 11:46:04

先占座...留位置


0040121C   .0BC0          OR EAX,EAX
0040121E   .75 05         JNZ SHORT KeyMakeM.00401225
00401220   .E9 C3000000   JMP KeyMakeM.004012E8
00401225   >8D0D 60324000 LEA ECX,DWORD PTR DS:
0040122B   .8D1D 98314000 LEA EBX,DWORD PTR DS:   ;获取注册码给EBX
00401231   .8D05 D0304000 LEA EAX,DWORD PTR DS:   ;获取注册用户名给EAX
00401237   .55            PUSH EBP
00401238   .892D CC304000 MOV DWORD PTR DS:,EBP
0040123E   .895D FC       MOV DWORD PTR SS:,EBX
00401241   .BB 01000000   MOV EBX,1
00401246   .A3 65304000   MOV DWORD PTR DS:,EAX
0040124B   .50            PUSH EAX                         ; /String => "sniy"
0040124C   .E8 C3010000   CALL <JMP.&kernel32.lstrlenA>    ; \用户名长度
00401251   .8B3D 65304000 MOV EDI,DWORD PTR DS:    ;KeyMakeM.004030D0
00401257   .8BF0          MOV ESI,EAX
00401259   .8BC3          MOV EAX,EBX
0040125B   .B9 1A000000   MOV ECX,1A
00401260   >8BC3          MOV EAX,EBX                     ;EBX——>EAX
00401262   .99            CDQ
00401263   .6BC0 03       IMUL EAX,EAX,3                  ;乘3
00401266   .C1E0 03       SHL EAX,3                         ;EAX左移三位
00401269   .2BC3          SUB EAX,EBX                     ;EAX+EBX
0040126B   .D1E0          SHL EAX,1                         ;EAX左移一位
0040126D   .4E            DEC ESI                           ;ESI减1
0040126E   .79 05         JNS SHORT KeyMakeM.00401275
00401270   .83C0 20       ADD EAX,20
00401273   .EB 08         JMP SHORT KeyMakeM.0040127D
00401275   >33D2          XOR EDX,EDX                     ;异或EDX
00401277   .8A543B FF   MOV DL,BYTE PTR DS:    ;逐次取每位
0040127B   .03C2          ADD EAX,EDX                     ;EAX+EDX
0040127D   >99            CDQ
0040127E   .F7F9          IDIV ECX                           ;除ECX
00401280   .80C2 41       ADD DL,41                        ;DL+65
00401283   .8893 50304000 MOV BYTE PTR DS:,DL;得到相应对应ASCII的注册码
00401289   .43            INC EBX                           ;EBX减1
0040128A   .80FB 0C       CMP BL,0C                         ;BL与12比较
0040128D   .^ 76 D1         JBE SHORT KeyMakeM.00401260       ;小于则跳
0040128F   .C605 54304000>MOV BYTE PTR DS:,2D       ;去掉一个T
00401296   .C605 59304000>MOV BYTE PTR DS:,2D       ;去掉一个E
0040129D   .8D05 51304000 LEA EAX,DWORD PTR DS:    ;获得注册码
004012A3   .50            PUSH EAX                  ; /String => "FUJ-CWQK-YSM"
004012A4   .E8 6B010000   CALL <JMP.&kernel32.lstrlenA>    ; \lstrlenA




[ 本帖最后由 sniy 于 2009-10-11 12:44 编辑 ]

HDd1145 发表于 2009-10-11 11:51:41

tianxj 发表于 2009-10-11 11:53:26

我要源码/:010

tianxj 发表于 2009-10-11 12:02:16

算法不难,复制代码就行
提示框是怎么做出来的

猫:用Keymake编译的时候,选择第二种方式的。

[ 本帖最后由 野猫III 于 2009-10-11 14:54 编辑 ]

sniy 发表于 2009-10-11 13:05:00

再占个位置...观望....

HDd1145 发表于 2009-10-11 14:07:49

pptppt 发表于 2009-10-11 16:48:21

由于生活琐事好久没来了,真不好意思,练习下:00401241   .BB 01000000      mov ebx,1                           //赋初值=1
00401246   .A3 65304000      mov dword ptr ds:,eax
0040124B   .50               push eax                           ///用户名入栈
0040124C   .E8 C3010000      call <jmp.&kernel32.lstrlenA>      \//取用户名长度
00401251   .8B3D 65304000      mov edi,dword ptr ds:       KeyMakeM.004030D0
00401257   .8BF0               mov esi,eax                         //用户名长度给ESI
00401259   .8BC3               mov eax,ebx                         //循环初值给EAX
0040125B   .B9 1A000000      mov ecx,1A                        //ecx赋值为1A
00401260   >8BC3               mov eax,ebx                         //循环变量给EAX
00401262   .99               cdq
00401263   .6BC0 03            imul eax,eax,3                      //EAX=EAX*3
00401266   .C1E0 03            shl eax,3                           //EAX左移3位
00401269   .2BC3               sub eax,ebx                         //EAX=EAX-EBX
0040126B   .D1E0               shl eax,1                           //EAX左移1位
0040126D   .4E               dec esi                           //用户名长度-1
0040126E   .79 05            jns short KeyMakeM.00401275
00401270   .83C0 20            add eax,20                        //EAX加20
00401273   .EB 08            jmp short KeyMakeM.0040127D
00401275   >33D2               xor edx,edx
00401277   .8A543B FF          mov dl,byte ptr ds:      //依次取用户名
0040127B   .03C2               add eax,edx                         //依次取的用户名ASC码加上面计算结果
0040127D   >99               cdq
0040127E   .F7F9               idiv ecx                            //除1A
00401280   .80C2 41            add dl,41                           //余数+41
00401283   .8893 50304000      mov byte ptr ds:,dl   //dl存入ebx+403050
00401289   .43               inc ebx                           //循环变量加1
0040128A   .80FB 0C            cmp bl,0C                           //bl和0C进行比较,也就是说要循环12次
0040128D   .^ 76 D1            jbe short KeyMakeM.00401260
0040128F   .C605 54304000 2D   mov byte ptr ds:,2D         //用"-"替换字符串第4位
00401296   .C605 59304000 2D   mov byte ptr ds:,2D         //用"-"替换字符串第9位
0040129D   .8D05 51304000      lea eax,dword ptr ds:       //取字符串地址
004012A3   .50               push eax                           /String => "CWU-ECQK-YSM"
写了个注册机,后发现要求是要keymake来做,又弄了个,2个注册机都上传吧,支持猫老大!

[ 本帖最后由 pptppt 于 2009-10-11 16:54 编辑 ]

tianxj 发表于 2009-10-11 17:33:18

原帖由 pptppt 于 2009-10-11 16:48 发表 https://www.chinapyg.com/images/common/back.gif
由于生活琐事好久没来了,真不好意思,练习下:00401241   .BB 01000000      mov ebx,1                           //赋初值=1
00401246   .A3 65304000      mov dword ptr ds:,eax
0040124B    ...

强悍!!!

sniy 发表于 2009-10-11 19:37:32

原帖由 pptppt 于 2009-10-11 16:48 发表 https://www.chinapyg.com/images/common/back.gif
由于生活琐事好久没来了,真不好意思,练习下:00401241   .BB 01000000      mov ebx,1                           //赋初值=1
00401246   .A3 65304000      mov dword ptr ds:,eax
0040124B    ...
赞一个...
页: [1] 2 3
查看完整版本: KeyMakeMe 20091010