注册原理:

1. 机器码生成原理:

根据函数得到dwSerial,然后与一个常数0x51627384异或,结果的十六进制表示就是机器码。

 LPTSTR  pVolumeNameBuffer = new TCHAR[256];LPTSTR  pFileSystemNameBuffer = new TCHAR[256];//GetVolumeInformation "C:\", Vname, 255, Serial, 0, 0, FSName, 255DWORD dwSerial = 0;BOOL bSuc = GetVolumeInformationA("c:\\", pVolumeNameBuffer, 256, &dwSerial, NULL, NULL,  pFileSystemNameBuffer, 256);DWORD dwMac = dwSerial ^ 0x51627384;

2. 注册码生成原理;

无图无真相,先上图

注册码生成方法:

1. 先将机器码平方,算出一个数,将这个数转换成十进制表示(应该是20位左右的一个数字),记为key1

2. 根据CALL 00403F58从key1中提取出一个八位的数字.记为key2。

3.将key2与dwSerial异或一下,转换成十进制数,记为key3.

4.从key3中取八位数字就是最终的机器码。

代码与程序与注册代码与OD的udd文件下载地址:http://download.csdn.net/detail/xiaocaiju/7514911

关键代码:

00469ADF   .  E8 30A4F9FF   call    00403F14
00469AE4   .  50            push    eax                              ; |VolumeNameBuffer
00469AE5   .  68 CCA64600   push    0046A6CC                         ; |c:\
00469AEA   .  E8 BDCEF9FF   call    <jmp.&kernel32.GetVolumeInformat>; \(initial cpu selection)
00469AEF   .  A1 D8284700   mov     eax, dword ptr [4728D8]
00469AF4   .  35 84736251   xor     eax, 51627384
00469AF9   .  33D2          xor     edx, edx
00469AFB   .  8945 D0       mov     dword ptr [ebp-30], eax
00469AFE   .  8955 D4       mov     dword ptr [ebp-2C], edx
00469B01   .  FF75 D4       push    dword ptr [ebp-2C]
00469B04   .  FF75 D0       push    dword ptr [ebp-30]
00469B07   .  8D95 64FEFFFF lea     edx, dword ptr [ebp-19C]
00469B0D   .  B8 08000000   mov     eax, 8
00469B12   .  E8 F1EAF9FF   call    00408608                         ;  十六进制转换成字符串,生成机器码
00469B17   .  8B95 64FEFFFF mov     edx, dword ptr [ebp-19C]
00469B1D   .  B8 D0284700   mov     eax, 004728D0
00469B22   .  E8 FD9FF9FF   call    00403B24
00469B27   .  FF75 D4       push    dword ptr [ebp-2C]               ;  0
00469B2A   .  FF75 D0       push    dword ptr [ebp-30]               ;  压入机器码
00469B2D   .  8B45 D0       mov     eax, dword ptr [ebp-30]          ;  eax = [ebp-30],d1769acc
00469B30   .  8B55 D4       mov     edx, dword ptr [ebp-2C]          ;  edx = 0
00469B33   .  E8 C0C7F9FF   call    004062F8                         ;  a^2+b^2;机器码平方
00469B38   .  52            push    edx                              ;  平方的高八位
00469B39   .  50            push    eax                              ;  平方的低八位
00469B3A   .  8D45 DC       lea     eax, dword ptr [ebp-24]
00469B3D   .  E8 92EAF9FF   call    004085D4                         ;  生成一大坨数据,转换成十进制
00469B42   .  8D85 60FEFFFF lea     eax, dword ptr [ebp-1A0]
00469B48   .  50            push    eax
00469B49   .  8B45 DC       mov     eax, dword ptr [ebp-24]
00469B4C   .  E8 FFA1F9FF   call    <GetLength>                      ;  20位的数据
00469B51   .  8BD0          mov     edx, eax
00469B53   .  83EA 08       sub     edx, 8                           ;  edx = 20-8 = 12
00469B56   .  B9 08000000   mov     ecx, 8                           ;  ecx = 8,取的位数
00469B5B   .  8B45 DC       mov     eax, dword ptr [ebp-24]          ;  eax = 数字串
00469B5E   .  E8 F5A3F9FF   call    00403F58                         ;  从生成的数据中取了八位,62011121
00469B63   .  8B85 60FEFFFF mov     eax, dword ptr [ebp-1A0]
00469B69   .  E8 16EBF9FF   call    00408684                         ;  十进制转换成十六进制
00469B6E   .  8945 D0       mov     dword ptr [ebp-30], eax          ;  [ebp-30]=3B236F1
00469B71   .  8955 D4       mov     dword ptr [ebp-2C], edx
00469B74   .  A1 D8284700   mov     eax, dword ptr [4728D8]          ;  eax = 0x8014e948
00469B79   .  33D2          xor     edx, edx
00469B7B   .  3345 D0       xor     eax, dword ptr [ebp-30]          ;  eax 就是注册码
00469B7E   .  3355 D4       xor     edx, dword ptr [ebp-2C]
00469B81   .  8945 D0       mov     dword ptr [ebp-30], eax
00469B84   .  8955 D4       mov     dword ptr [ebp-2C], edx
00469B87   .  8D45 DC       lea     eax, dword ptr [ebp-24]
00469B8A   .  50            push    eax                              ;  eax = pDisk
00469B8B   .  FF75 D4       push    dword ptr [ebp-2C]
00469B8E   .  FF75 D0       push    dword ptr [ebp-30]
00469B91   .  8D85 5CFEFFFF lea     eax, dword ptr [ebp-1A4]
00469B97   .  E8 38EAF9FF   call    004085D4                         ;  转成十进制

庖丁解牛破解与注册机编写相关推荐

  1. TraceMe.exe注册码破解及注册机编写

    一.追注册码步骤解析 打开OllyDbg反汇编软件,对实验程序TraceMe.exe进行反汇编. 点击View-Executable modules查看可执行模块,在新窗口中右击,选择Show nam ...

  2. 小白第一次注册机编写,c/bat/易某言(不好意思说2333)

    小白第一次注册机编写,c/bat/易某言(不好意思说出口2333) 零.视频教程 一.免责声明 二.软件相关信息 三.查壳 四.分析软件注册流程 五.IDA载入 六.OD载入 (一).找关键跳转 1. ...

  3. Syncnavigator破解版注册机

    下载网站:www.SyncNavigator.CN   客服QQ1793040 ---------------------------------------------------------- 关 ...

  4. MyEclipse Enterprise Workbench 9.0 破解及注册机 注册码

    MyEclipse 9.0的激活机制终于破解了,破解步骤比老版本要复杂一些,但是是绝对可以破解的,这个破解对主程序无任何修改,只替换公钥,如果有牛人会快速从公钥反推私钥,那就什么都不用改了,步骤如下: ...

  5. SRS_Audio_Sandbox注册码破解版+注册机+中文

    刚装了win7,发现音乐有杂音,上网搜了很多资料,无非是一些让你重装声卡驱动之类的,我就试了试,发现怎么新装都不管事,晕了...后来有篇帖子建议装上SRS,说是可以加强音效,我就抱着侥幸的心里装了,结 ...

  6. UltraEdit v18.0 破解版注册机

    转自:http://001.net76.net/ultraedit-v18-0.html ultraEdit是强大的文本编辑器,可以编辑文本,16进制,ASCII 码,比系统自带的记事本强大,而且好用 ...

  7. 010Edit分析 爆破 + 算法逆向 + 注册机编写

    爆破 假码 pName = xuanci pKey = 00112233445566778899 登录出错 复制错误信息 --------------------------- 010 Editor ...

  8. 菜鸟 学注册机编写之 “查表”

    测试环境 系统: xp sp3 调试器 :od 1.10 高手不要见笑,仅供小菜玩乐,有不对或不足的地方还请多多指教,不胜感激! 1.首先运行程序随便输入用户与注册码如下图所示: 2.载入OD通过下M ...

  9. 绘图软件:Autodesk AutoCAD 2012 简体中文正式版下载(32/64位)+有效破解激活注册机

    AutoCAD 2012 32位下载地址: 迅雷下载 (官方地址)| 电驴链接  (1.09G) AutoCAD 2012 64位下载地址: 迅雷下载 (官方地址)| 电驴链接 (1.22G) --强 ...

最新文章

  1. 洛谷P1434 [SHOI2002]滑雪
  2. 算法导论第十二章:二叉查找树
  3. python方向键映射_python交互界面无法使用方向键
  4. leetcode-125-Valid Palindrome
  5. 中国式创新技术“步态识别”终于来临,你大胆地走两步,我就知道你是谁
  6. 一文搞懂 Java 线程中断
  7. 【转】使用JMeter对数据库做压力测试
  8. 从程序员到项目经理(15):项目管理三大目标
  9. python开学吧真假,开学第一课,课课有总结
  10. OpenShift Redhat的使用和介绍
  11. 用MATLAB解决实际数学问题,用matlab解决一道数学问题
  12. 试题8 算法训练 P0103(从键盘输入一个大写字母,要求改用小写字母输出。)
  13. python安装matplotlib绘图库
  14. 如何将立创元器件封装库导入AD使用
  15. Linux系统中解决Device eth0 does not seem to be present,delaying initialization问题
  16. Mac VM 虚拟机固定IP
  17. 荣耀9igoogle模式_将您的iGoogle主页导出到另一个帐户
  18. 史上最强的烧脑合集!能全都搞懂的只有天才!
  19. CF-GYM 103119 L. Random Permutation
  20. 非对称加密算法SM2

热门文章

  1. CentOS 硬盘管理实践
  2. CloudSim 学习实例1
  3. 【Flink源码】JobManager启动流程
  4. 前端参数效验防止sql注入的方法
  5. Linux 下小米WIFI 的无线网卡驱动
  6. 虞美人.听雨 - 蒋捷
  7. 「存储传记」从“屌丝”到王者,EMC的逆袭之路
  8. 爱彼迎财报利好背后,国内民宿迎来爆发前夜
  9. easypr解析(六)
  10. java map foreach_java foreach遍历map集合的方法案例