gaoqun2 发表于 2009-6-10 20:45:29

佳巧仓库管理系统 3.2 网络版注册机【论坛有此机下载,请大大修正下错误

佳巧仓库管理系统 3.2 网络版 算法注册机【论坛里以前有此机下载,不过有错,请大大修正下错误。附破文参考。】



-------------------------------------------------------------------------------------------------------------------------------------------------------------------


佳巧仓库管理系统 算法分析
【文章标题】: 新手请进 佳巧仓库管理系统 算法分析
【文章作者】: KAN-LI
【作者邮箱】: [email protected]
【作者QQ号】: 591258070
【软件名称】: 佳巧仓库管理系统 3.2
【软件大小】: 不大不小
【下载地址】: http://www.onlinedown.net/soft/42016.htm
【加壳方式】: 作者懒
【保护方式】: 无
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: OD 1。1
【爱作平台】: WINXP SP2
【软件介绍】: 我都不知道
【作者声明】: 只是感兴趣,没有其他目的
--------------------------------------------------------------------------------
【详细过程】
使用万能断点断下后,ALT+F9 返回

00786704|.E8 B70AF9FF   CALL Storage.007171C0
00786709|.8B45 F4       MOV EAX,DWORD PTR SS:      ;机器码
0078670C|.8D55 F8       LEA EDX,DWORD PTR SS:
0078670F|.E8 A00BF9FF   CALL Storage.007172B4             ;关键 CALL
00786714|.8B55 F8       MOV EDX,DWORD PTR SS:
00786717|.8B45 FC       MOV EAX,DWORD PTR SS:
0078671A|.E8 A5EBC7FF   CALL Storage.004052C4
0078671F|.75 49         JNZ SHORT Storage.0078676A      ;关键跳转 F7 进入
__________________________________________________________________________________________________________
   
F7 进入 0078671F 后,省略 没用代码到下面

007172C8|.8945 FC       MOV DWORD PTR SS:,EAX      ;机器码
007172CB|.8B45 FC       MOV EAX,DWORD PTR SS:
007172CE|.E8 95E0CEFF   CALL Storage.00405368
007172D3|.33C0          XOR EAX,EAX
007172D5|.55            PUSH EBP
007172D6|.68 A2737100   PUSH Storage.007173A2
007172DB|.64:FF30       PUSH DWORD PTR FS:
007172DE|.64:8920       MOV DWORD PTR FS:,ESP
007172E1|.C745 E8 00000>MOV DWORD PTR SS:,0
007172E8|.C745 EC 00000>MOV DWORD PTR SS:,0
007172EF|.C745 F0 00000>MOV DWORD PTR SS:,0
007172F6|.C745 F4 00000>MOV DWORD PTR SS:,0
007172FD|.8B45 FC       MOV EAX,DWORD PTR SS:
00717300|.E8 73DECEFF   CALL Storage.00405178
00717305|.8BF0          MOV ESI,EAX
00717307|.85F6          TEST ESI,ESI
00717309|.7E 40         JLE SHORT Storage.0071734B
0071730B|.B9 01000000   MOV ECX,1
00717310|>8B45 FC       /MOV EAX,DWORD PTR SS:
00717313|.8A5C08 FF   |MOV BL,BYTE PTR DS:   ;机器码字符传入
00717317|.8BFB          |MOV EDI,EBX
00717319|.81E7 FF000000 |AND EDI,0FF                      ;EDI 与 0xFF 做 逻辑与运算
0071731F|.8BC7          |MOV EAX,EDI                      ;其实上面几步是把数字的 ASCII 码送入 EAX
00717321|.C1E0 04       |SHL EAX,4                        ;EAX * 16
00717324|.2BC7          |SUB EAX,EDI                      ;忘恩负义啊 ,EAX 的值是 EDI 给的 减去
00717326|.F7E9          |IMUL ECX                         ;乘以循环次数
00717328|.99            |CDQ                              ;抗展,EDX 清0
00717329|.0345 F0       |ADD EAX,DWORD PTR SS:    ;这里与上次的数值相加
0071732C|.1355 F4       |ADC EDX,DWORD PTR SS:
0071732F|.8945 F0       |MOV DWORD PTR SS:,EAX    ;循环最后一次的时候的数据将产生第一段 注册码
00717332|.8955 F4       |MOV DWORD PTR SS:,EDX
00717335|.6BC7 0B       |IMUL EAX,EDI,0B                  ;EDI * 11 结果送入 EAX
00717338|.F7E9          |IMUL ECX                         ;EAX * 循环次数
0071733A|.99            |CDQ
0071733B|.0345 E8       |ADD EAX,DWORD PTR SS:    ;上次的数据相加
0071733E|.1355 EC       |ADC EDX,DWORD PTR SS:
00717341|.8945 E8       |MOV DWORD PTR SS:,EAX    ;循环最后一次的时候的数据将产生第二段 注册码
00717344|.8955 EC       |MOV DWORD PTR SS:,EDX
00717347|.41            |INC ECX                        ;循环次数加一
00717348|.4E            |DEC ESI
00717349|.^ 75 C5         \JNZ SHORT Storage.00717310





--------------------------------------------------------------------------------
【经验总结】
软件加密的简单程度,超出你的预算,没什么好说的,贴上 C 语言注册机

#include<stdio.h>
#include<string.h>
main()
{
      int i,len,sum1=0,sum2=0,ax,di,cx=1;
      char code;
      printf("输入你的机器码吧:");
      gets(code);
      len=strlen(code);
      for(i=0;i<len;i++)
      {
          di=code;
          ax=di*16;       // SHL EAX,4
          ax-=di;      // SUB EAX,EDI
          ax*=cx;         // IMUL ECX
          sum1+=ax;      //ADD EAX,DWORD PTR SS:
          ax=di*11;      // IMUL EAX,EDI,0B
          ax*=cx;         //IMUL ECX
          sum2+=ax;      // ADD EAX,DWORD PTR SS:
          cx++;
      }
       printf("兄弟你要的注册码是:%d-%d",sum1,sum2);
       printf("\n");
       printf("有钱的话请支持共享软件\n\n");
}





-------------------------------------------------------------------------------------------------------------------------------------------------------------------
页: [1]
查看完整版本: 佳巧仓库管理系统 3.2 网络版注册机【论坛有此机下载,请大大修正下错误