飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 12883|回复: 41

[原创] 里诺进销存管理软件 V3.29 单机版 算法注册机+VC源码

[复制链接]

该用户从未签到

发表于 2009-2-18 15:32:28 | 显示全部楼层 |阅读模式
里诺进销存管理软件 V3.29 单机版 算法注册机

去年5月份的时候 在家就想用个进销存软件管理下生意 一不小心就找到了里诺进销存 的确不错的一款软

件哦
可惜要收费。。。
混了这么久PYG的小菜--我 怎么也不能就这么看着自己的毛爷爷跑到别人那去了把。。。
于是就来试试 那次特激动 应为第一次追出了注册码 所以还在QQ空间留了记录 哈哈
http://user.qzone.qq.com/36707630/blog/1211301411

那次因为要用软件就没继续弄了
过了大半年了 又有台电脑要用这软件 于是 就想起了 写一次注册机
因为我C语言不怎么好 VC也不大会 就边看书边百度 搞了3个小时才搞定。。哈哈 也特别激动的
所以就来这里留下纪念了

先来两张图
关于.gif 注册机.gif

过程 :
  1. 查找 注册信息

  2. 0070CAAF   .  68 84CB7000   push    0070CB84                         ; 软件注册------双击来到这里  然后网上找比较过程咯0070CAB4   .  68 90CB7000   push    0070CB90                         ;  注册成功,本程序所有功能限制下次启动时将被自动解除,欢迎您成为我们正式版本用户!
  3. 0070CAB9   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  4. 0070CABC   .  E8 73BDD8FF   call    00498834
  5. 0070CAC1   .  50            push    eax                              ; |hOwner
  6. 0070CAC2   .  E8 E1BDCFFF   call    <jmp.&user32.MessageBoxA>        ; \MessageBoxA
  7. 0070CAC7   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  8. 0070CACA   .  E8 ED30DAFF   call    004AFBBC
  9. 0070CACF   .  33C0          xor     eax, eax
  10. 0070CAD1   .  5A            pop     edx
  11. 0070CAD2   .  59            pop     ecx
  12. 0070CAD3   .  59            pop     ecx
  13. 0070CAD4   .  64:8910       mov     dword ptr fs:[eax], edx
  14. 0070CAD7   .  EB 36         jmp     short 0070CB0F
  15. 0070CAD9   .^ E9 A279CFFF   jmp     00404480
  16. 0070CADE   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  17. 0070CAE1   .  E8 D630DAFF   call    004AFBBC
  18. 0070CAE6   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  19. 0070CAE9   .  E8 16010000   call    0070CC04
  20. 0070CAEE   .  E8 B97DCFFF   call    004048AC
  21. 0070CAF3   .  EB 1A         jmp     short 0070CB0F
  22. 0070CAF5   >  6A 40         push    40
  23. 0070CAF7   .  68 84CB7000   push    0070CB84                         ;  软件注册
  24. 0070CAFC   .  68 E0CB7000   push    0070CBE0                         ;  注册失败,请检查您的注册名和注册码!
  25. 0070CB01   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  26. 0070CB04   .  E8 2BBDD8FF   call    00498834
  27. 0070CB09   .  50            push    eax                              ; |hOwner
  28. 0070CB0A   .  E8 99BDCFFF   call    <jmp.&user32.MessageBoxA>        ; \MessageBoxA

复制代码
网上找 可以看到有个跳转 到注册失败 上面有个call 跟进
  1. 0070C9FE   .  55            push    ebp
  2. 0070C9FF   .  68 3DCB7000   push    0070CB3D
  3. 0070CA04   .  64:FF30       push    dword ptr fs:[eax]
  4. 0070CA07   .  64:8920       mov     dword ptr fs:[eax], esp
  5. 0070CA0A   .  8B45 FC       mov     eax, dword ptr [ebp-4]
  6. 0070CA0D   .  E8 A6020000   call    0070CCB8                         ;  关键CALL ---跟进
  7. 0070CA12   .  84C0          test    al, al
  8. 0070CA14      0F84 DB000000 je      0070CAF5                         ;  跳到注册失败
  9. 0070CA1A   .  33C0          xor     eax, eax

复制代码
跟进后 可以看到 假码 机器码都出现了 要开始算咯。。。
  1. 0070CCE3  |.  E8 9C50D8FF   call    00491D84
  2. 0070CCE8  |.  8B45 F8       mov     eax, dword ptr [ebp-8]           ;  假码
  3. 0070CCEB  |.  8D55 FC       lea     edx, dword ptr [ebp-4]
  4. 0070CCEE  |.  E8 4DD7CFFF   call    0040A440
  5. 0070CCF3  |.  8B45 FC       mov     eax, dword ptr [ebp-4]           ;  假码
  6. 0070CCF6  |.  50            push    eax                              ;  假码
  7. 0070CCF7  |.  8D55 EC       lea     edx, dword ptr [ebp-14]
  8. 0070CCFA  |.  8B86 04030000 mov     eax, dword ptr [esi+304]
  9. 0070CD00  |.  E8 7F50D8FF   call    00491D84
  10. 0070CD05  |.  8B45 EC       mov     eax, dword ptr [ebp-14]          ;  机器码
  11. 0070CD08  |.  8D55 F0       lea     edx, dword ptr [ebp-10]
  12. 0070CD0B  |.  E8 30D7CFFF   call    0040A440
  13. 0070CD10  |.  8B55 F0       mov     edx, dword ptr [ebp-10]          ;  机器码
  14. 0070CD13  |.  8D4D F4       lea     ecx, dword ptr [ebp-C]
  15. 0070CD16  |.  8BC6          mov     eax, esi
  16. 0070CD18  |.  E8 FF000000   call    0070CE1C                         ;  算法
  17. 0070CD1D  |.  8B55 F4       mov     edx, dword ptr [ebp-C]           ;  注册码 -----这里出现了注册码 上面的CALL肯定就是算法咯 跟进
复制代码
0070CD18  |.  E8 FF000000   call    0070CE1C                         ;  算法
跟进来后 可以看到2个循环 逐步读取机器码 将机器码字符转换为其ASCII码的十六进制
  1. 0070CE1C  /$  55            push    ebp
  2. 0070CE1D  |.  8BEC          mov     ebp, esp
  3. 0070CE1F  |.  51            push    ecx
  4. 0070CE20  |.  B9 04000000   mov     ecx, 4
  5. 0070CE25  |>  6A 00         /push    0
  6. 0070CE27  |.  6A 00         |push    0
  7. 0070CE29  |.  49            |dec     ecx
  8. 0070CE2A  |.^ 75 F9         \jnz     short 0070CE25
  9. 0070CE2C  |.  51            push    ecx
  10. 0070CE2D  |.  874D FC       xchg    dword ptr [ebp-4], ecx
  11. 0070CE30  |.  53            push    ebx
  12. 0070CE31  |.  56            push    esi
  13. 0070CE32  |.  57            push    edi
  14. 0070CE33  |.  8BF9          mov     edi, ecx
  15. 0070CE35  |.  8955 FC       mov     dword ptr [ebp-4], edx           ;  机器码
  16. 0070CE38  |.  8B45 FC       mov     eax, dword ptr [ebp-4]           ;  机器码给EAX
  17. 0070CE3B  |.  E8 3485CFFF   call    00405374
  18. 0070CE40  |.  33C0          xor     eax, eax
  19. 0070CE42  |.  55            push    ebp
  20. 0070CE43  |.  68 DDCF7000   push    0070CFDD
  21. 0070CE48  |.  64:FF30       push    dword ptr fs:[eax]
  22. 0070CE4B  |.  64:8920       mov     dword ptr fs:[eax], esp
  23. 0070CE4E  |.  8BC7          mov     eax, edi
  24. 0070CE50  |.  E8 5F80CFFF   call    00404EB4
  25. 0070CE55  |.  8B45 FC       mov     eax, dword ptr [ebp-4]           ;  机器码给EAX
  26. 0070CE58  |.  E8 2783CFFF   call    00405184
  27. 0070CE5D  |.  8BF0          mov     esi, eax
  28. 0070CE5F  |.  85F6          test    esi, esi
  29. 0070CE61  |.  7E 26         jle     short 0070CE89
  30. 0070CE63  |.  BB 01000000   mov     ebx, 1                           ;  FOR 循环 int i = 1
  31. 0070CE68  |>  8D4D EC       /lea     ecx, dword ptr [ebp-14]
  32. 0070CE6B  |.  8B45 FC       |mov     eax, dword ptr [ebp-4]          ;  读入机器码 机器码位数给 EAX
  33. 0070CE6E  |.  0FB64418 FF   |movzx   eax, byte ptr [eax+ebx-1]       ;  循环读机器码
  34. 0070CE73  |.  33D2          |xor     edx, edx
  35. 0070CE75  |.  E8 E2DECFFF   |call    0040AD5C                        ;  循环变每位机器码
  36. 0070CE7A  |.  8B55 EC       |mov     edx, dword ptr [ebp-14]
  37. 0070CE7D  |.  8D45 F8       |lea     eax, dword ptr [ebp-8]
  38. 0070CE80  |.  E8 0783CFFF   |call    0040518C
  39. 0070CE85  |.  43            |inc     ebx
  40. 0070CE86  |.  4E            |dec     esi
  41. 0070CE87  |.^ 75 DF         \jnz     short 0070CE68
  42. 0070CE89  |>  8B45 F8       mov     eax, dword ptr [ebp-8]           ;  机器码转换的值 第一位4转成34 第二位M转成4D。。
  43. 0070CE8C  |.  E8 F382CFFF   call    00405184
  44. 0070CE91  |.  8BF0          mov     esi, eax
  45. 0070CE93  |.  85F6          test    esi, esi
  46. 0070CE95  |.  7E 2C         jle     short 0070CEC3
  47. 0070CE97  |.  BB 01000000   mov     ebx, 1
  48. 0070CE9C  |>  8B45 F8       /mov     eax, dword ptr [ebp-8]
  49. 0070CE9F  |.  E8 E082CFFF   |call    00405184
  50. 0070CEA4  |.  2BC3          |sub     eax, ebx                           循环转换
  51. 0070CEA6  |.  8B55 F8       |mov     edx, dword ptr [ebp-8]          ;  34变57
  52. 0070CEA9  |.  8A1402        |mov     dl, byte ptr [edx+eax]          ;  十六进制转换
  53. 0070CEAC  |.  8D45 E8       |lea     eax, dword ptr [ebp-18]
  54. 0070CEAF  |.  E8 E881CFFF   |call    0040509C
  55. 0070CEB4  |.  8B55 E8       |mov     edx, dword ptr [ebp-18]
  56. 0070CEB7  |.  8D45 F4       |lea     eax, dword ptr [ebp-C]
  57. 0070CEBA  |.  E8 CD82CFFF   |call    0040518C
  58. 0070CEBF  |.  43            |inc     ebx
  59. 0070CEC0  |.  4E            |dec     esi
  60. 0070CEC1  |.^ 75 D9         \jnz     short 0070CE9C

复制代码
下面代码不贴啦  
最后算法 大概是  
1 取机器码每位字符的ASCII码的十六进制
2 将最后2位机器码的ASCII码的十六进制数 颠倒排列 存入 key1
3 将最后2位机器码的前2位的ASCII码的十六进制是 颠倒排列 存入 key2
4 将内置字符串"jxcw268d58k" 截取前4位 令其前三位为大写 存入 key3 = JXCw
             再截取5位 存入 key4 = 268d5
5 将内置字符 "-" 存入 key5
最后注册码 key= key3+key5+key2+key4+key5+key1

看起来好麻烦 其实3个for循环就够了

PS 我没有看其他电脑里面的 内置字符串"jxcw268d58k" 是否都一样 如果是一样的就可以通用了。。

另外传上源代码: 里诺进销存注册机Dlg.rar (2.06 KB, 下载次数: 166)
整个太大不让我传 我就传了个 。CPP文件就够啦 哈哈

[ 本帖最后由 crackiss 于 2009-2-18 15:35 编辑 ]

评分

参与人数 1威望 +40 飘云币 +80 收起 理由
km159 + 40 + 80 您发布的主题属于精品!

查看全部评分

PYG19周年生日快乐!

该用户从未签到

发表于 2009-2-18 16:06:02 | 显示全部楼层
哈哈传说的沙发?超赞顶起来..../:good /:good /:good
PYG19周年生日快乐!

该用户从未签到

发表于 2009-2-18 18:19:33 | 显示全部楼层
精神值得学习
PYG19周年生日快乐!

该用户从未签到

发表于 2009-2-18 18:24:05 | 显示全部楼层
向你学习/:good
PYG19周年生日快乐!
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 239 天

    [LV.7]常住居民III

    发表于 2009-2-18 18:55:36 | 显示全部楼层
    谢谢楼主,经过测试,内置字符串"jxcw268d58k" 是一样
    还有楼主估计是一时大意写错了注册码的组合,应该是:
    最后注册码 key= key3+key5+key1+key4+key5+key2

    1和2换转了,我看楼主的注册机截图都是正确的。再次谢谢楼主。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 239 天

    [LV.7]常住居民III

    发表于 2009-2-18 20:29:25 | 显示全部楼层
    这样注册了还有暗桩吗?具体怎么才会激活暗桩呢?楼上可以说出来跟跟。
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2009-2-18 21:43:15 | 显示全部楼层
    额 我一直没碰过这个软件的暗装。。
    感谢 yjh同志确认内置字符串"jxcw268d58k" 是一样
    谢谢你的提醒。。我本来就笨 不喜欢循环 这3个循环当时搞的我就头大了。。测试了好多次改了好多次才通过的 哈哈 我也初学编程呀。。。幸福并痛快着。。
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2020-11-5 17:48
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-2-19 02:36:11 | 显示全部楼层
    支持下原创,我也在用这个软件,收藏一个注册机~:loveliness:
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-2-19 06:51:57 | 显示全部楼层
    注册了还有暗桩?也太哪个了!
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2009-2-19 08:57:57 | 显示全部楼层
    应该不会有暗桩了吧。。。。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表