系统 : Windows xp

程序 : Crackme-xp

程序下载地址 :http://pan.baidu.com/s/1slUwmVr

要求 : 编写注册机

使用工具 : OD & IDA

可在看雪论坛中查找关于此程序的破文:传送门

这是一个拥有强大反调试机制的cm,无法查询到关键子串、下获取窗口文本的断点没用,设置对按钮下消息断点都没用。

然后用IDA打开后却发现了函数表里有:

。。。。。。。。。。。。。。。。。。

这个懂点英文的人都能看出来是 注册按钮的处理函数吧?所以前面那么多防护机制是为了什么?

直接定位关键代码:

  1. /. push ebp ; btn_click
  2. |. 8BEC mov ebp, esp
  3. |. 81C4 70FFFFFF add esp, -
  4. 0040144D |. 78FFFFFF mov dword ptr [ebp-], edx
  5. |. 7CFFFFFF mov dword ptr [ebp-], eax
  6. |. B8 mov eax,
  7. 0040145E |. E8 71CC0200 call 0042E0D4
  8. |. :C745 >mov word ptr [ebp-],
  9. |. 8D45 FC lea eax, dword ptr [ebp-]
  10. 0040146C |. E8 call 004019F8
  11. |. FF45 9C inc dword ptr [ebp-]
  12. |. :C745 >mov word ptr [ebp-],
  13. 0040147A |. :C745 >mov word ptr [ebp-],
  14. |. 8D45 F8 lea eax, dword ptr [ebp-]
  15. |. E8 call 004019F8
  16. |. FF45 9C inc dword ptr [ebp-]
  17. 0040148B |. :C745 >mov word ptr [ebp-],
  18. |. :C745 2C>mov word ptr [ebp-], 2C
  19. |. 8D45 F4 lea eax, dword ptr [ebp-C]
  20. 0040149A |. E8 call 004019F8
  21. 0040149F |. FF45 9C inc dword ptr [ebp-]
  22. 004014A2 |. :C745 >mov word ptr [ebp-],
  23. 004014A8 |. :C745 >mov word ptr [ebp-],
  24. 004014AE |. 8D45 F0 lea eax, dword ptr [ebp-]
  25. 004014B1 |. E8 call 004019F8
  26. 004014B6 |. FF45 9C inc dword ptr [ebp-]
  27. 004014B9 |. :C745 >mov word ptr [ebp-],
  28. 004014BF |. :C745 >mov word ptr [ebp-],
  29. 004014C5 |. 8D45 EC lea eax, dword ptr [ebp-]
  30. 004014C8 |. E8 2B050000 call 004019F8
  31. 004014CD |. FF45 9C inc dword ptr [ebp-]
  32. 004014D0 |. :C745 >mov word ptr [ebp-],
  33. 004014D6 |. :C745 >mov word ptr [ebp-],
  34. 004014DC |. 8D45 E8 lea eax, dword ptr [ebp-]
  35. 004014DF |. E8 call 004019F8
  36. 004014E4 |. FF45 9C inc dword ptr [ebp-]
  37. 004014E7 |. :C745 >mov word ptr [ebp-],
  38. 004014ED |. :C745 5C>mov word ptr [ebp-], 5C
  39. 004014F3 |. 8D45 E4 lea eax, dword ptr [ebp-1C]
  40. 004014F6 |. E8 FD040000 call 004019F8
  41. 004014FB |. 8BD0 mov edx, eax
  42. 004014FD |. FF45 9C inc dword ptr [ebp-]
  43. |. 8B0D E0AE4300 mov ecx, dword ptr [43AEE0]
  44. |. 8B81 F0010000 mov eax, dword ptr [ecx+1F0]
  45. 0040150C |. E8 8B940000 call 0040A99C
  46. |. 8D55 E4 lea edx, dword ptr [ebp-1C]
  47. |. 8D45 EC lea eax, dword ptr [ebp-]
  48. |. E8 0BE20000 call 0040F727
  49. 0040151C |. FF4D 9C dec dword ptr [ebp-]
  50. 0040151F |. 8D45 E4 lea eax, dword ptr [ebp-1C]
  51. |. BA mov edx,
  52. |. E8 CCE10000 call 0040F6F8
  53. 0040152C |. :C745 >mov word ptr [ebp-],
  54. |. 8D45 E0 lea eax, dword ptr [ebp-]
  55. |. E8 BE040000 call 004019F8
  56. 0040153A |. 8BD0 mov edx, eax
  57. 0040153C |. FF45 9C inc dword ptr [ebp-]
  58. 0040153F |. 8B0D E0AE4300 mov ecx, dword ptr [43AEE0]
  59. |. 8B81 F4010000 mov eax, dword ptr [ecx+1F4]
  60. 0040154B |. E8 4C940000 call 0040A99C
  61. |. 8D55 E0 lea edx, dword ptr [ebp-]
  62. |. 8D45 E8 lea eax, dword ptr [ebp-]
  63. |. E8 CCE10000 call 0040F727
  64. 0040155B |. FF4D 9C dec dword ptr [ebp-]
  65. 0040155E |. 8D45 E0 lea eax, dword ptr [ebp-]
  66. |. BA mov edx,
  67. |. E8 8DE10000 call 0040F6F8
  68. 0040156B |. :C745 >mov word ptr [ebp-],
  69. |. 8D45 DC lea eax, dword ptr [ebp-]
  70. |. E8 7F040000 call 004019F8
  71. |. 8BD0 mov edx, eax
  72. 0040157B |. FF45 9C inc dword ptr [ebp-]
  73. 0040157E |. 8B0D E0AE4300 mov ecx, dword ptr [43AEE0]
  74. |. 8B81 D0010000 mov eax, dword ptr [ecx+1D0]
  75. 0040158A |. E8 0D940000 call 0040A99C
  76. 0040158F |. 8D55 DC lea edx, dword ptr [ebp-]
  77. |. 8D45 FC lea eax, dword ptr [ebp-]
  78. |. E8 8DE10000 call 0040F727
  79. 0040159A |. FF4D 9C dec dword ptr [ebp-]
  80. 0040159D |. 8D45 DC lea eax, dword ptr [ebp-]
  81. 004015A0 |. BA mov edx,
  82. 004015A5 |. E8 4EE10000 call 0040F6F8
  83. 004015AA |. :C745 >mov word ptr [ebp-],
  84. 004015B0 |. 8D45 D8 lea eax, dword ptr [ebp-]
  85. 004015B3 |. E8 call 004019F8
  86. 004015B8 |. 8BD0 mov edx, eax
  87. 004015BA |. FF45 9C inc dword ptr [ebp-]
  88. 004015BD |. 8B0D E0AE4300 mov ecx, dword ptr [43AEE0]
  89. 004015C3 |. 8B81 D4010000 mov eax, dword ptr [ecx+1D4]
  90. 004015C9 |. E8 CE930000 call 0040A99C
  91. 004015CE |. 8D55 D8 lea edx, dword ptr [ebp-]
  92. 004015D1 |. 8D45 F8 lea eax, dword ptr [ebp-]
  93. 004015D4 |. E8 4EE10000 call 0040F727
  94. 004015D9 |. FF4D 9C dec dword ptr [ebp-]
  95. 004015DC |. 8D45 D8 lea eax, dword ptr [ebp-]
  96. 004015DF |. BA mov edx,
  97. 004015E4 |. E8 0FE10000 call 0040F6F8
  98. 004015E9 |. :C745 8C>mov word ptr [ebp-], 8C
  99. 004015EF |. 8D45 D4 lea eax, dword ptr [ebp-2C]
  100. 004015F2 |. E8 call 004019F8
  101. 004015F7 |. push eax
  102. 004015F8 |. FF45 9C inc dword ptr [ebp-]
  103. 004015FB |. 8D45 F8 lea eax, dword ptr [ebp-]
  104. 004015FE |. B9 mov ecx,
  105. |. 33D2 xor edx, edx
  106. |. E8 69EB0000 call
  107. 0040160A |. 8D45 D4 lea eax, dword ptr [ebp-2C] ; (initial cpu selection)
  108. 0040160D |. 8D55 EC lea edx, dword ptr [ebp-]
  109. |. E8 C3E10000 call 0040F7D8 ; 判断call
  110. |. push eax ; 压入函数结果
  111. |. FF4D 9C dec dword ptr [ebp-]
  112. |. 8D45 D4 lea eax, dword ptr [ebp-2C]
  113. 0040161C |. BA mov edx,
  114. |. E8 D2E00000 call 0040F6F8
  115. |. pop ecx
  116. |. 84C9 test cl, cl ; 测试的是栈顶元素,所以压入元素的函数就是判断函数
  117. |. 0F84 je
  118. 0040162F |. :C745 >mov word ptr [ebp-],
  119. |. 8D45 D0 lea eax, dword ptr [ebp-]
  120. |. E8 BB030000 call 004019F8
  121. 0040163D |. push eax
  122. 0040163E |. FF45 9C inc dword ptr [ebp-]
  123. |. 8D45 F8 lea eax, dword ptr [ebp-]
  124. |. E8 09E30000 call 0040F952
  125. |. 8BD0 mov edx, eax
  126. 0040164B |. 83C2 FC add edx, -
  127. 0040164E |. 8D45 F8 lea eax, dword ptr [ebp-]
  128. |. B9 mov ecx,
  129. |. E8 18EB0000 call
  130. 0040165B |. 8D45 D0 lea eax, dword ptr [ebp-]
  131. 0040165E |. 8D55 E8 lea edx, dword ptr [ebp-]
  132. |. E8 72E10000 call 0040F7D8 ; 判断call
  133. |. push eax ; 压入函数结果
  134. |. FF4D 9C dec dword ptr [ebp-]
  135. 0040166A |. 8D45 D0 lea eax, dword ptr [ebp-]
  136. 0040166D |. BA mov edx,
  137. |. E8 81E00000 call 0040F6F8
  138. |. pop ecx
  139. |. 84C9 test cl, cl
  140. 0040167A |. 0F84 D5020000 je
  141. |. 33C0 xor eax, eax
  142. |. 74FFFFFF mov dword ptr [ebp-8C], eax
  143. |. :C745 >mov word ptr [ebp-],
  144. 0040168E |. 33D2 xor edx, edx
  145. |. 70FFFFFF mov dword ptr [ebp-], edx
  146. |. EB 1E jmp short 004016B6
  147. |> 8D45 FC /lea eax, dword ptr [ebp-]
  148. 0040169B |. E8 |call 00401A28
  149. 004016A0 |. 8B95 70FFFFFF |mov edx, dword ptr [ebp-]
  150. 004016A6 |. 0FBE0C10 |movsx ecx, byte ptr [eax+edx] ; 迭代用户名字符串
  151. 004016AA |. 018D 74FFFFFF |add dword ptr [ebp-8C], ecx ; 累加
  152. 004016B0 |. FF85 70FFFFFF |inc dword ptr [ebp-] ; 循环变量自增
  153. 004016B6 |> 8D45 FC lea eax, dword ptr [ebp-]
  154. 004016B9 |. E8 94E20000 |call 0040F952 ; 获取长度
  155. 004016BE |. 3B85 70FFFFFF |cmp eax, dword ptr [ebp-] ; 遍历完毕?
  156. 004016C4 |.^ 7F D2 \jg short
  157. 004016C6 |. 8B95 74FFFFFF mov edx, dword ptr [ebp-8C] ; 获取累加结果
  158. 004016CC |. 0FAF95 74FFFF>imul edx, dword ptr [ebp-8C]
  159. 004016D3 |. 81C2 AC000000 add edx, 0AC
  160. 004016D9 |. 74FFFFFF mov dword ptr [ebp-8C], edx ; 保存结果
  161. 004016DF |. :C745 A4>mov word ptr [ebp-], 0A4
  162. 004016E5 |. 8D45 CC lea eax, dword ptr [ebp-]
  163. 004016E8 |. 8B95 74FFFFFF mov edx, dword ptr [ebp-8C]
  164. 004016EE |. E8 32DF0000 call 0040F625
  165. 004016F3 |. FF45 9C inc dword ptr [ebp-]
  166. 004016F6 |. 8D55 CC lea edx, dword ptr [ebp-]
  167. 004016F9 |. 8D45 F4 lea eax, dword ptr [ebp-C]
  168. 004016FC |. E8 26E00000 call 0040F727
  169. |. FF4D 9C dec dword ptr [ebp-]
  170. |. 8D45 CC lea eax, dword ptr [ebp-]
  171. |. BA mov edx,
  172. 0040170C |. E8 E7DF0000 call 0040F6F8
  173. |. :C745 B0>mov word ptr [ebp-], 0B0
  174. |. 8D45 C8 lea eax, dword ptr [ebp-]
  175. 0040171A |. E8 D9020000 call 004019F8
  176. 0040171F |. 8BC8 mov ecx, eax
  177. |. FF45 9C inc dword ptr [ebp-]
  178. |. 8D55 F4 lea edx, dword ptr [ebp-C]
  179. |. 8D45 EC lea eax, dword ptr [ebp-]
  180. 0040172A |. E8 20E00000 call 0040F74F
  181. 0040172F |. 8D55 C8 lea edx, dword ptr [ebp-]
  182. |. push edx
  183. |. 8D45 C4 lea eax, dword ptr [ebp-3C]
  184. |. E8 BD020000 call 004019F8
  185. 0040173B |. 8BC8 mov ecx, eax
  186. 0040173D |. FF45 9C inc dword ptr [ebp-]
  187. |. 8D55 E8 lea edx, dword ptr [ebp-]
  188. |. pop eax
  189. |. E8 06E00000 call 0040F74F
  190. |. 8D55 C4 lea edx, dword ptr [ebp-3C]
  191. 0040174C |. 8D45 F0 lea eax, dword ptr [ebp-]
  192. 0040174F |. E8 D3DF0000 call 0040F727
  193. |. FF4D 9C dec dword ptr [ebp-]
  194. |. 8D45 C4 lea eax, dword ptr [ebp-3C]
  195. 0040175A |. BA mov edx,
  196. 0040175F |. E8 94DF0000 call 0040F6F8
  197. |. FF4D 9C dec dword ptr [ebp-]
  198. |. 8D45 C8 lea eax, dword ptr [ebp-]
  199. 0040176A |. BA mov edx,
  200. 0040176F |. E8 84DF0000 call 0040F6F8
  201. |. 8D55 F0 lea edx, dword ptr [ebp-]
  202. |. 8D45 F8 lea eax, dword ptr [ebp-]
  203. 0040177A |. E8 59E00000 call 0040F7D8 ; 判断call
  204. 0040177F |. 84C0 test al, al
  205. |. 0F84 CE010000 je
  206. |. :C745 BC>mov word ptr [ebp-], 0BC
  207. 0040178D |. 8D45 C0 lea eax, dword ptr [ebp-]
  208. |. E8 call 004019F8
  209. |. FF45 9C inc dword ptr [ebp-]
  210. |. :C745 C8>mov word ptr [ebp-], 0C8
  211. 0040179E |. :C745 D4>mov word ptr [ebp-], 0D4
  212. 004017A4 |. 8D45 BC lea eax, dword ptr [ebp-]
  213. 004017A7 |. E8 4C020000 call 004019F8
  214. 004017AC |. FF45 9C inc dword ptr [ebp-]
  215. 004017AF |. :C745 C8>mov word ptr [ebp-], 0C8
  216. 004017B5 |. :C745 E0>mov word ptr [ebp-], 0E0
  217. 004017BB |. 8D45 B8 lea eax, dword ptr [ebp-]
  218. 004017BE |. E8 call 004019F8
  219. 004017C3 |. FF45 9C inc dword ptr [ebp-]
  220. 004017C6 |. :C745 C8>mov word ptr [ebp-], 0C8
  221. 004017CC |. :C745 EC>mov word ptr [ebp-], 0EC
  222. 004017D2 |. 8D45 B4 lea eax, dword ptr [ebp-4C]
  223. 004017D5 |. E8 1E020000 call 004019F8
  224. 004017DA |. FF45 9C inc dword ptr [ebp-]
  225. 004017DD |. :C745 C8>mov word ptr [ebp-], 0C8
  226. 004017E3 |. :C745 F8>mov word ptr [ebp-], 0F8
  227. 004017E9 |. 8D45 B0 lea eax, dword ptr [ebp-]
  228. 004017EC |. E8 call 004019F8
  229. 004017F1 |. 8BD0 mov edx, eax
  230. 004017F3 |. FF45 9C inc dword ptr [ebp-]
  231. 004017F6 |. 8B0D E0AE4300 mov ecx, dword ptr [43AEE0]
  232. 004017FC |. 8B81 E0010000 mov eax, dword ptr [ecx+1E0]
  233. |. E8 call 0040A99C
  234. |. 8D55 B0 lea edx, dword ptr [ebp-]
  235. 0040180A |. 8D45 C0 lea eax, dword ptr [ebp-]
  236. 0040180D |. E8 15DF0000 call 0040F727
  237. |. FF4D 9C dec dword ptr [ebp-]
  238. |. 8D45 B0 lea eax, dword ptr [ebp-]
  239. |. BA mov edx,
  240. 0040181D |. E8 D6DE0000 call 0040F6F8
  241. |. :C745 >mov word ptr [ebp-],
  242. |. 8D45 AC lea eax, dword ptr [ebp-]
  243. 0040182B |. E8 C8010000 call 004019F8
  244. |. 8BD0 mov edx, eax
  245. |. FF45 9C inc dword ptr [ebp-]
  246. |. 8B0D E0AE4300 mov ecx, dword ptr [43AEE0]
  247. 0040183B |. 8B81 E4010000 mov eax, dword ptr [ecx+1E4]
  248. |. E8 call 0040A99C
  249. |. 8D55 AC lea edx, dword ptr [ebp-]
  250. |. 8D45 BC lea eax, dword ptr [ebp-]
  251. 0040184C |. E8 D6DE0000 call 0040F727
  252. |. FF4D 9C dec dword ptr [ebp-]
  253. |. 8D45 AC lea eax, dword ptr [ebp-]
  254. |. BA mov edx,
  255. 0040185C |. E8 97DE0000 call 0040F6F8
  256. |. :C745 >mov word ptr [ebp-],
  257. |. 8D45 A8 lea eax, dword ptr [ebp-]
  258. 0040186A |. E8 call 004019F8
  259. 0040186F |. 8BD0 mov edx, eax
  260. |. FF45 9C inc dword ptr [ebp-]
  261. |. 8B0D E0AE4300 mov ecx, dword ptr [43AEE0]
  262. 0040187A |. 8B81 E8010000 mov eax, dword ptr [ecx+1E8]
  263. |. E8 call 0040A99C
  264. |. 8D55 A8 lea edx, dword ptr [ebp-]
  265. |. 8D45 B8 lea eax, dword ptr [ebp-]
  266. 0040188B |. E8 97DE0000 call 0040F727
  267. |. FF4D 9C dec dword ptr [ebp-]
  268. |. 8D45 A8 lea eax, dword ptr [ebp-]
  269. |. BA mov edx,
  270. 0040189B |. E8 58DE0000 call 0040F6F8
  271. 004018A0 |. :C745 1C>mov word ptr [ebp-], 11C
  272. 004018A6 |. 8D45 A4 lea eax, dword ptr [ebp-5C]
  273. 004018A9 |. E8 4A010000 call 004019F8
  274. 004018AE |. 8BD0 mov edx, eax
  275. 004018B0 |. FF45 9C inc dword ptr [ebp-]
  276. 004018B3 |. 8B0D E0AE4300 mov ecx, dword ptr [43AEE0]
  277. 004018B9 |. 8B81 EC010000 mov eax, dword ptr [ecx+1EC]
  278. 004018BF |. E8 D8900000 call 0040A99C
  279. 004018C4 |. 8D55 A4 lea edx, dword ptr [ebp-5C]
  280. 004018C7 |. 8D45 B4 lea eax, dword ptr [ebp-4C]
  281. 004018CA |. E8 58DE0000 call 0040F727
  282. 004018CF |. FF4D 9C dec dword ptr [ebp-]
  283. 004018D2 |. 8D45 A4 lea eax, dword ptr [ebp-5C]
  284. 004018D5 |. BA mov edx,
  285. 004018DA |. E8 19DE0000 call 0040F6F8
  286. 004018DF |. 6A push
  287. 004018E1 |. 8D45 BC lea eax, dword ptr [ebp-]
  288. 004018E4 |. E8 3F010000 call 00401A28
  289. 004018E9 |. push eax
  290. 004018EA |. 8D45 C0 lea eax, dword ptr [ebp-]
  291. 004018ED |. E8 call 00401A28
  292. 004018F2 |. push eax ; |Text
  293. 004018F3 |. 6A push ; |hOwner = NULL
  294. 004018F5 |. E8 A63A0300 call <jmp.&USER32.MessageBoxA> ; \MessageBoxA
  295. 004018FA |. 6A push
  296. 004018FC |. 8D45 B4 lea eax, dword ptr [ebp-4C]
  297. 004018FF |. E8 call 00401A28
  298. |. push eax
  299. |. 8D45 B8 lea eax, dword ptr [ebp-]
  300. |. E8 1B010000 call 00401A28
  301. 0040190D |. push eax ; |Text
  302. 0040190E |. 6A push ; |hOwner = NULL
  303. |. E8 8B3A0300 call <jmp.&USER32.MessageBoxA> ; \MessageBoxA

其中判断call的代码:

  1. 0040F7D8 /$ push ebp
  2. 0040F7D9 |. 8BEC mov ebp, esp
  3. 0040F7DB |. push ebx
  4. 0040F7DC |. 8B00 mov eax, dword ptr [eax]
  5. 0040F7DE |. 8B12 mov edx, dword ptr [edx]
  6. 0040F7E0 |. E8 B7640100 call 00425C9C ; 两个字符串是否相同?
  7. 0040F7E5 |. 0F94C0 sete al
  8. 0040F7E8 |. 83E0 and eax,
  9. 0040F7EB |. 5B pop ebx
  10. 0040F7EC |. 5D pop ebp
  11. 0040F7ED \. C3 retn

就是一个很简单的加密,直接打开http://www.cnblogs.com/ZRBYYXDM/p/5115596.html中搭建的框架,修改OnBtnDecrypt函数如下:

  1. void CKengen_TemplateDlg::OnBtnDecrypt()
  2. {
  3. // TODO: Add your control notification handler code here
  4. CString str;
  5. GetDlgItemText( IDC_EDIT_NAME,str ); //获取用户名字串基本信息。
  6. int len = str.GetLength();
  7.  
  8. DWORD Res = ;
  9. if ( len != ){ //格式控制。
  10. unsigned sum = ;
  11. for ( int i = ; i != len ; i++ )
  12. sum += str[i];
  13.  
  14. CString PassWord;
  15. PassWord.Format( "CA-%d-3914",sum * sum + 0xAC );
  16. SetDlgItemText( IDC_EDIT_PASSWORD,PassWord );
  17. }
  18. else
  19. MessageBox( "用户名格式错误!" );
  20. }

再在OnInitDialog中添加此代码修改标题:SetWindowText(_T("Keygen"));

运行效果:

强大反调试cm的奇葩破解的更多相关文章

  1. Windows反调试技术(上)

    写在前面 在逆向工程中为了防止破解者调试软件,通常都会在软件中采用一些反调试技术来防破解.下面就是一些在逆向工程中常见的反调试技巧与示例. BeingDebuged 利用调试器加载程序时调试器会通过C ...

  2. 使用KRPano资源分析工具强力加密KRPano项目(XML防破解,切片图保护,JS反调试)

    软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...

  3. 反调试技术常用API,用来对付检测od和自动退出程序

    在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己.为了了解如何破解反调试技术 ...

  4. C/C++ 程序反调试的方法

    C/C++ 要实现程序反调试有多种方法,BeingDebugged,NtGlobalFlag,ProcessHeap,CheckRemoteDebuggerPresent,STARTUPINFO,Is ...

  5. Windows 下常见的反调试方法

    稍稍总结一下在Crack或Rervese中比较常见的一些反调试方法,实现起来也比较简单,之后有写的Demo源码参考,没有太大的难度. ①最简单也是最基础的,Windows提供的API接口:IsDebu ...

  6. 浅谈Android反调试 之 PTRACE_TRACEME

    反调试原理: 关于Ptrace:  http://www.cnblogs.com/tangr206/articles/3094358.html ptrace函数 原型为:     #include & ...

  7. 解决Android加固多进程ptrace反调试的思路整理

    本文博客链接:http://blog.csdn.net/qq1084283172/article/details/53613481 一.Android多进程反调试的原理代码 当ptrace附加目标进程 ...

  8. Windows反调试技术(下)

    OD的DBGHELP模块 检测DBGHELP模块,此模块是用来加载调试符号的,所以一般加载此模块的进程的进程就是调试器.绕过方法也很简单,将DBGHELP.DLL改名. #include <Wi ...

  9. 聊一聊对一个 C# 商业程序的反反调试

    一:背景 1.讲故事 前段时间有位朋友在微信上找到我,说他对一个商业的 C# 程序用 WinDbg 附加不上去,每次附加之后那个 C# 程序就自动退出了,问一下到底是怎么回事?是不是哪里搞错了,有经验 ...

随机推荐

  1. 前端常用的几个js判断(二)

    10.鼠标悬停(hover)切换 class 属性假如当用户鼠标悬停在一个可点击的元素上时,你希望改变其效果,下面这段代码可以在其悬停在元素上时添加 class 属性,当用户鼠标离开时,则自动取消该 ...

  2. .Net Globalization and Localization

    随着互联网的发展日益壮大和活跃,网上购物交易越来越频繁,一个网站支持多种语言在所难免,所以国际化和本地化在现在的网站中的作用越来越大,一个网站的使用量和搜索量有可能受国际化的影响一点.所以在当今做一个 ...

  3. 雅美尓(yaml)实战

    献给跟我一样对yaml(雅美尓)有婶婶挫败感的同学! 开始第一个pylon工程,我们就跟yaml配置文件开始了不解之缘.yaml是什么?它有哪些规则? 大IBM的文章如是说:YAML 是一种比 XML ...

  4. javascript实现列表的点击展开折叠

    <script> window.onload = function() { //要折叠的区域 var catalog = document.getElementById("div ...

  5. 在CentOS 6.7中安装 latex2html, 实现 latex 自动转化为 word

    由于latex文档生成的pdf不便于提供审阅和修改,亟需一个软件实现从latex向word文档的自动转换( 如何把Latex自动转为Word 介绍了由latex2html 可实现这个功能,这也是初衷) ...

  6. C# MD5加密

    public static string Encrypt(string txt) { System.Security.Cryptography.MD5CryptoServiceProvider md5 ...

  7. UIImagePickerController和UIAlertController结合使用

    在处理个人资料 - 头像的时候,通常有两个选项,一个是调用系统相机,一个是调用系统相册.这里要使用的就是UIImagePickerController方法. 在头像位置的imageView添加一个手势 ...

  8. Eclipse里面Outline中图标的含义

    先说颜色:  绿色:public  黄色:protected  蓝色:no modifier  红色:private 再说形状:  实心:method  空心:variable  实心中间有字母C:c ...

  9. map 取值

    1>可以取出Map中所有的键所在的Set集合:再通过Set的迭代器获取到每一个键,之后再用get();方法获得对应的值. public static void main(String[] arg ...

  10. RoseRT配置高版本的编译器

    RoseRT配置高版本的VC++ ,我有VC++2008 Express ,实习时下载滴! 感谢Google,感谢大神地指导!困扰的问题终于解决,豁然开朗,so开始吧! 第一大步:重中之重, 确保nm ...