吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 5187|回复: 26

[原创逆向图文] 一个超级简单的cm 简略分析

  [复制链接]
rain灿 发表于 2014-10-5 19:56 | 显示全部楼层 |阅读模式

本帖最后由 rain灿 于 2014-10-5 20:25 编辑

题外话-咱们论坛表情真是酷毙了。。。。

今天要说的是一个cm的简单爆破及分析。

首先。。cm地址   链接: http://pan.baidu.com/s/1i388dHb 密码: wiht (转的52)


要做的任务有:
1、爆破
2、伪造一个key 上传截图
3、分析注册码的流程。




首先先来尝试一下爆破。


先来看看这个cm长啥样子。。
一开始的启动窗口
QQ图片20141005182937.jpg

这搓样我也是醉了。。。

然后主窗口
QQ图片20141005183046.jpg

右下角还有个逆向按钮。。。。
(好像过于详细了。。 那下面就简略点了。。)

然后载入od!
按照恒大教我们的。
右键-中文搜索引擎-搜索ASCII。

查找"注册”
然后在每个段首下断。

最后爆破完应该是这三个修改地方
00402503  je 00402544  →  jmp short 00402544
004029EB jnz 00402A30 →  jmp short 00402A30
00402EDD je 00402FB5  →  nop


爆破不爱多说。
下面开始伪造一个key。
这是断FF55FC5F5E(易语言按钮事件特征码)的效果。。。
启动窗口的事件 发现没用。
然后运行。然后发现又断下了
在进去看下。
  1. .....
  2. 00402983    8945 F8         mov dword ptr ss:[ebp-8],eax
  3. 00402986    68 17F34A00     push 004AF317                            ; \授权文件.key
  4. 0040298B    FF75 F8         push dword ptr ss:[ebp-8]
  5. 0040298E    B9 02000000     mov ecx,2
  6. 00402993    E8 C2FEFFFF     call 0040285A                            ; 连接字符串。。。取运行目录()+"\授权文件.key"
  7. 00402998    83C4 08         add esp,8
  8. 0040299B    8945 F4         mov dword ptr ss:[ebp-C],eax
  9. 0040299E    8B5D F8         mov ebx,dword ptr ss:[ebp-8]
  10. ....
  11. 004029BA    75 05           jnz short 004029C1
  12. 004029BC    B8 B2984900     mov eax,004998B2                         ; ā
  13. 004029C1    50              push eax
  14. 004029C2    68 01000000     push 1
  15. 004029C7    BB F0834000     mov ebx,004083F0
  16. 004029CC    E8 214E0000     call 004077F2                            ; 判断授权文件.key是否存在。不存在返回0 存在返回1
  17. 004029D1    83C4 10         add esp,10
  18. 004029D4    8945 F0         mov dword ptr ss:[ebp-10],eax
  19. 004029D7    8B5D F4         mov ebx,dword ptr ss:[ebp-C]
  20. 004029DA    85DB            test ebx,ebx
  21. 004029DC    74 09           je short 004029E7
  22. 004029DE    53              push ebx
  23. 004029DF    E8 FC4D0000     call 004077E0
  24. 004029E4    83C4 04         add esp,4
  25. 004029E7    837D F0 00      cmp dword ptr ss:[ebp-10],0              ; 返回的值和0比较
  26. 004029EB    0F85 3F000000   jnz 00402A30
  27. 004029F1    6A 00           push 0
  28. 004029F3    68 25F34A00     push 004AF325                            ; 免费用户
  29. 004029F8    6A FF           push -1
  30. 004029FA    6A 08           push 8
  31. ....
  32. 00402A73    68 04000080     push 80000004                            ; (下面才是重点,很多人不会伪造key里面的内容。)
  33. 00402A78    6A 00           push 0
  34. 00402A7A    68 2EF34A00     push 004AF32E                            ; 注册码  (节名称)
  35. 00402A7F    68 04000080     push 80000004
  36. 00402A84    6A 00           push 0
  37. 00402A86    68 35F34A00     push 004AF335                            ; 信息  (配置项的名字)
  38. 00402A8B    68 04000080     push 80000004
  39. 00402A90    6A 00           push 0
  40. 00402A92    8B45 F4         mov eax,dword ptr ss:[ebp-C]
  41. .....
  42. 00402B26    74 09           je short 00402B31
  43. 00402B28    53              push ebx
  44. 00402B29    E8 B24C0000     call 004077E0
  45. 00402B2E    83C4 04         add esp,4
  46. 00402B31    DD45 F0         fld qword ptr ss:[ebp-10]                ; 把机器码112833956压入堆栈
  47. 00402B34    DC0D 3AF34A00   fmul qword ptr ds:[4AF33A]               ; 在乘上465
  48. 00402B3A    DD5D E8         fstp qword ptr ss:[ebp-18]
  49. 00402B3D    DD45 E8         fld qword ptr ss:[ebp-18]
  50. 00402B40    E8 4DECFFFF     call 00401792                            ; 得928181988 十六进制是3752EEE4
  51. 00402B45    68 01030080     push 80000301
  52. 00402B4A    6A 00           push 0
  53. 00402B4C    50              push eax
  54. 00402B4D    68 01000000     push 1
  55. 00402B52    BB C0834000     mov ebx,004083C0
  56. 00402B57    E8 964C0000     call 004077F2
  57. 00402B5C    83C4 10         add esp,10
  58. 00402B5F    8945 E4         mov dword ptr ss:[ebp-1C],eax
  59. 00402B62    68 01030080     push 80000301
  60. 00402B67    6A 00           push 0
  61. 00402B69    68 05000000     push 5                    (这个5 就是取的位数)
  62. 00402B6E    68 04000080     push 80000004
  63. 00402B73    6A 00           push 0
  64. 00402B75    8B45 E4         mov eax,dword ptr ss:[ebp-1C]
  65. 00402B78    85C0            test eax,eax
  66. 00402B7A    75 05           jnz short 00402B81
  67. 00402B7C    B8 B2984900     mov eax,004998B2                         ; ā
  68. 00402B81    50              push eax
  69. 00402B82    68 02000000     push 2
  70. 00402B87    BB 007D4000     mov ebx,00407D00
  71. 00402B8C    E8 614C0000     call 004077F2                            ; 取后5位是2EEE4
  72. 00402B91    83C4 1C         add esp,1C                               ; 下面的算法是重复的。。就是- ÷ ×
  73. 00402B94    8945 E0         mov dword ptr ss:[ebp-20],eax
  74. ....
  75. 00402BFC    DD45 D4         fld qword ptr ss:[ebp-2C]
  76. 00402BFF    DC35 42F34A00   fdiv qword ptr ds:[4AF342]               ; 机器码 112833956 除以780
  77. 00402C05    DD5D CC         fstp qword ptr ss:[ebp-34]
  78. 00402C08    DD45 CC         fld qword ptr ss:[ebp-34]
  79. 00402C0B    E8 82EBFFFF     call 00401792                            ; 得144658 十六进制是23512
  80. 00402C10    68 01030080     push 80000301
  81. 00402C15    6A 00           push 0
  82. 00402C17    50              push eax
  83. 00402C18    68 01000000     push 1
  84. .....
  85. 00402C4C    50              push eax
  86. 00402C4D    68 02000000     push 2
  87. 00402C52    BB 007D4000     mov ebx,00407D00
  88. 00402C57    E8 964B0000     call 004077F2                            ; 取后五位是23512
  89. 00402C5C    83C4 1C         add esp,1C
  90. .....
  91. 00402CC7    DD45 B8         fld qword ptr ss:[ebp-48]
  92. 00402CCA    DC25 4AF34A00   fsub qword ptr ds:[4AF34A]               ; 机器码112833956-46578
  93. 00402CD0    DD5D B0         fstp qword ptr ss:[ebp-50]
  94. 00402CD3    DD45 B0         fld qword ptr ss:[ebp-50]
  95. 00402CD6    E8 B7EAFFFF     call 00401792                            ; 得 112787378  十六进制是6B8FFB2
  96. 00402CDB    68 01030080     push 80000301
  97. 00402CE0    6A 00           push 0
  98. 00402CE2    50              push eax
  99. 00402CE3    68 01000000     push 1
  100. 00402CE8    BB C0834000     mov ebx,004083C0
  101. 00402CED    E8 004B0000     call 004077F2
  102. 00402CF2    83C4 10         add esp,10
  103. 00402CF5    8945 AC         mov dword ptr ss:[ebp-54],eax
  104. 00402CF8    68 01030080     push 80000301
  105. 00402CFD    6A 00           push 0
  106. 00402CFF    68 05000000     push 5
  107. 00402D04    68 04000080     push 80000004
  108. 00402D09    6A 00           push 0
  109. 00402D0B    8B45 AC         mov eax,dword ptr ss:[ebp-54]
  110. 00402D0E    85C0            test eax,eax
  111. 00402D10    75 05           jnz short 00402D17
  112. 00402D12    B8 B2984900     mov eax,004998B2                         ; ā
  113. 00402D17    50              push eax
  114. 00402D18    68 02000000     push 2
  115. 00402D1D    BB 007D4000     mov ebx,00407D00
  116. 00402D22    E8 CB4A0000     call 004077F2                            ; 取后五位是8FFB2
  117. 00402D27    83C4 1C         add esp,1C
  118. .....
  119. 00402D8A    E8 514A0000     call 004077E0
  120. 00402D8F    83C4 04         add esp,4
  121. 00402D92    DD45 9C         fld qword ptr ss:[ebp-64]
  122. 00402D95    DC35 52F34A00   fdiv qword ptr ds:[4AF352]               ; 机器码112833956 除以 362
  123. 00402D9B    DD5D 94         fstp qword ptr ss:[ebp-6C]
  124. 00402D9E    DD45 94         fld qword ptr ss:[ebp-6C]
  125. 00402DA1    E8 ECE9FFFF     call 00401792                            ; 得 311696 十六进制是 4C190
  126. 00402DA6    68 01030080     push 80000301
  127. 00402DAB    6A 00           push 0
  128. 00402DAD    50              push eax
  129. 00402DAE    68 01000000     push 1
  130. 00402DB3    BB C0834000     mov ebx,004083C0
  131. 00402DB8    E8 354A0000     call 004077F2
  132. 00402DBD    83C4 10         add esp,10
  133. 00402DC0    8945 90         mov dword ptr ss:[ebp-70],eax
  134. 00402DC3    68 01030080     push 80000301
  135. 00402DC8    6A 00           push 0
  136. 00402DCA    68 05000000     push 5
  137. 00402DCF    68 04000080     push 80000004
  138. 00402DD4    6A 00           push 0
  139. 00402DD6    8B45 90         mov eax,dword ptr ss:[ebp-70]
  140. 00402DD9    85C0            test eax,eax
  141. 00402DDB    75 05           jnz short 00402DE2
  142. 00402DDD    B8 B2984900     mov eax,004998B2                         ; ā
  143. 00402DE2    50              push eax
  144. 00402DE3    68 02000000     push 2
  145. 00402DE8    BB 007D4000     mov ebx,00407D00
  146. 00402DED    E8 004A0000     call 004077F2                            ; 取后五位是 4C190
  147. 00402DF2    83C4 1C         add esp,1C
  148. 00402DF5    8945 8C         mov dword ptr ss:[ebp-74],eax
  149. 00402DF8    8B5D 90         mov ebx,dword ptr ss:[ebp-70]
  150. 00402DFB    85DB            test ebx,ebx
  151. 00402DFD    74 09           je short 00402E08
  152. 00402DFF    53              push ebx
  153. 00402E00    E8 DB490000     call 004077E0
  154. 00402E05    83C4 04         add esp,4
  155. 00402E08    FF75 8C         push dword ptr ss:[ebp-74]
  156. 00402E0B    68 5AF34A00     push 004AF35A                            ; -
  157. 00402E10    FF75 A8         push dword ptr ss:[ebp-58]
  158. 00402E13    68 5AF34A00     push 004AF35A                            ; -
  159. 00402E18    FF75 C4         push dword ptr ss:[ebp-3C]
  160. 00402E1B    68 5AF34A00     push 004AF35A                            ; -
  161. 00402E20    FF75 E0         push dword ptr ss:[ebp-20]
  162. 00402E23    B9 07000000     mov ecx,7
  163. 00402E28    E8 2DFAFFFF     call 0040285A                            ; 用-连接字符串  得到的注册码是2EEE4-23512-8FFB2-4C190
复制代码

我的注册码是:2EEE4-23512-8FFB2-4C190
至此。
分析完毕。
这里贴出来一下半自动注册机把。
要超级模块的。
  1. 机器码=到整数(编辑框1.内容)
  2. 编辑框2.内容=取文本右边 (十到十六 (机器码 × 465), 5) + “-” + 取文本右边 (十到十六 (机器码 ÷ 780), 5) + “-” + 取文本右边 (十到十六 (机器码 - 46578), 5) + “-” + 取文本右边 (十到十六 (机器码 ÷ 362), 5)
复制代码


在key里面应该这么填
QQ图片20141005193632.jpg
然后就成功了=-=

至此。。。完结~




评分

参与人数 29HB +43 THX +14 收起 理由
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
24567 + 2
Jawon + 1
一路走来不容易 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
WolfKing + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
Soul1999 + 1
消逝的过去 + 2
yexing + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
pygicx + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
三月十六 + 1
风里去 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
爱编 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
l278785481 + 1
maxdz + 1
小菜虫 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
霁幽 + 1
SmallEXpel + 1
szukodf + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
叶落花开 + 1
y_jiping + 1
jaunic + 1
hnymsh + 1
lies + 1
WyM + 4 我很赞同!
Mrack + 3 + 1 菜菜牛逼,我爱你
Shark恒 + 10 + 1 积极评分从我做起,感谢!
Nx3sdHy + 5 + 1 Get!Thanks!
判官 + 5 + 1 菜菜师傅,别打我了

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| rain灿 发表于 2014-10-5 19:56 | 显示全部楼层

{:6_162:} 尼玛。。全错误了。。。。=-= 骚等 我在去修改下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
WyM 发表于 2014-10-5 20:07 | 显示全部楼层

我是板凳
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Nx3sdHy 发表于 2014-10-5 20:13 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| rain灿 发表于 2014-10-5 20:34 | 显示全部楼层

扫地僧 发表于 2014-10-5 20:23
默默的看着菜菜师傅逗逼

{:6_167:}小样=-=。。。。真乖。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Mrack 发表于 2014-10-5 23:21 来自手机端 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Mrack 发表于 2014-10-5 23:23 | 显示全部楼层

逗比菜菜好,膜拜分析算法,写注册机
(⊙o⊙)
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
王尼玛 发表于 2014-10-6 20:12 | 显示全部楼层

膜拜分析算法
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
bigeorry 发表于 2014-10-10 18:29 | 显示全部楼层

哈哈。菜菜大神也出来了!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
旁观者 发表于 2014-10-10 19:29 | 显示全部楼层

学习学习,带我们分析带我们飞
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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