Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.69 KB | None | 0 0
  1. DWORD func_start1;
  2.  
  3. DWORD func_end1;
  4.  
  5. void to_be_crypted1()
  6. {
  7. _asm // ïîëó÷àåì àäðåñ íà÷àëà ôóíêöèè
  8. {
  9. CALL next1
  10. next1 : pop func_start1
  11. }
  12. int a[123], b[321], c[322];// çäåñü íà÷èíàåì ïèñàòü êàêóþ íèáóäü õ*éíþ (÷åì áîëüøå òåì ëó÷øå, òåì áîëüøå çàøèôðóåòñÿ)
  13. for (int i = 0; i < 123; i++)
  14. {
  15. if (i % 2 == 0)
  16. {
  17. a[i] = i - 1;
  18. b[i] = a[i] * 123;
  19. c[i] = 321;
  20. }
  21. else
  22. {
  23. a[i] = i + 1;
  24. b[i] = 123;
  25. c[i] = a[i] * 321;
  26. }
  27. }
  28. for (int i = 0; i < 2; i++)
  29. {
  30. a[12] = b[12];
  31. a[11] = b[12];
  32. a[10] = b[12];
  33. a[9] = b[12];
  34. a[8] = b[12];
  35. }
  36. int y = 0;
  37. while (y < 12)
  38. {
  39. a[y] = a[y + 1];
  40. y++;
  41. }
  42. y = 1;
  43. while (y < 24)
  44. {
  45. a[y - 1] = a[y + 1];
  46. y++;
  47. }
  48. y = 2;// çäåñü çàêàí÷èâàåì ïèñàòü êàêóþ íèáóäü õ*éíþ
  49. _asm // ïîëó÷àåì àäðåñ êîíöà ôóíêöèè
  50. {
  51. CALL next2
  52. next2 : pop func_end1
  53. }
  54. }
  55. void crypt1()
  56. {
  57. to_be_crypted1();// âûçûâàåì ÷òîáû óçíàòü àäðåñà
  58. DWORD FuncSize = func_end1 - func_start1, OldProtect, Ignore;
  59. DWORD StartAddr = func_start1;
  60. DWORD xd = func_start1;
  61. VirtualProtect((LPVOID)StartAddr, FuncSize, PAGE_EXECUTE_READWRITE, &OldProtect);//ðàçðåøàåì çàïèñü â ýòó îáëàñòü ïàìÿòè
  62. for (int i = 0; i < FuncSize; i++)
  63. {
  64. xd[(char*)0] = rand() % 12345;
  65. xd++;
  66. }
  67. VirtualProtect((LPVOID)StartAddr, FuncSize, OldProtect, &Ignore); // çàïðåùàåì çàïèñü â ýòó îáëàñòü ïàìÿòè
  68. }
  69.  
  70. DWORD func_start2;
  71.  
  72. DWORD func_end2;
  73.  
  74. void to_be_crypted2()
  75. {
  76. _asm // ïîëó÷àåì àäðåñ íà÷àëà ôóíêöèè
  77. {
  78. CALL next1
  79. next1 : pop func_start2
  80. }
  81. int a[123], b[321], c[322];// çäåñü íà÷èíàåì ïèñàòü êàêóþ íèáóäü õ*éíþ (÷åì áîëüøå òåì ëó÷øå, òåì áîëüøå çàøèôðóåòñÿ)
  82. for (int i = 0; i < 123; i++)
  83. {
  84. if (i % 2 == 0)
  85. {
  86. a[i] = i - 1;
  87. b[i] = a[i] * 123;
  88. c[i] = 321;
  89. }
  90. else
  91. {
  92. a[i] = i + 1;
  93. b[i] = 123;
  94. c[i] = a[i] * 321;
  95. }
  96. }
  97. for (int i = 0; i < 2; i++)
  98. {
  99. a[12] = b[12];
  100. a[11] = b[12];
  101. a[10] = b[12];
  102. a[9] = b[12];
  103. a[8] = b[12];
  104. }
  105. int y = 0;
  106. while (y < 12)
  107. {
  108. a[y] = a[y + 1];
  109. y++;
  110. }
  111. y = 1;
  112. while (y < 24)
  113. {
  114. a[y - 1] = a[y + 1];
  115. y++;
  116. }
  117. y = 2;// çäåñü çàêàí÷èâàåì ïèñàòü êàêóþ íèáóäü õ*éíþ
  118. _asm // ïîëó÷àåì àäðåñ êîíöà ôóíêöèè
  119. {
  120. CALL next2
  121. next2 : pop func_end2
  122. }
  123. }
  124.  
  125. void crypt2()
  126. {
  127. to_be_crypted2();// âûçûâàåì ÷òîáû óçíàòü àäðåñà
  128. DWORD FuncSize = func_end2 - func_start2, OldProtect, Ignore;
  129. DWORD StartAddr = func_start2;
  130. DWORD xd = func_start2;
  131. VirtualProtect((LPVOID)StartAddr, FuncSize, PAGE_EXECUTE_READWRITE, &OldProtect);//ðàçðåøàåì çàïèñü â ýòó îáëàñòü ïàìÿòè
  132. for (int i = 0; i < FuncSize; i++)
  133. {
  134. xd[(char*)0] = rand() % 12345;
  135. xd++;
  136. }
  137. VirtualProtect((LPVOID)StartAddr, FuncSize, OldProtect, &Ignore); // çàïðåùàåì çàïèñü â ýòó îáëàñòü ïàìÿòè
  138. }
  139.  
  140. DWORD func_start3;
  141.  
  142. DWORD func_end3;
  143.  
  144. void to_be_crypted3()
  145. {
  146. _asm // ïîëó÷àåì àäðåñ íà÷àëà ôóíêöèè
  147. {
  148. CALL next1
  149. next1 : pop func_start3
  150. }
  151. int a[123], b[321], c[322];// çäåñü íà÷èíàåì ïèñàòü êàêóþ íèáóäü õ*éíþ (÷åì áîëüøå òåì ëó÷øå, òåì áîëüøå çàøèôðóåòñÿ)
  152. for (int i = 0; i < 123; i++)
  153. {
  154. if (i % 2 == 0)
  155. {
  156. a[i] = i - 1;
  157. b[i] = a[i] * 123;
  158. c[i] = 321;
  159. }
  160. else
  161. {
  162. a[i] = i + 1;
  163. b[i] = 123;
  164. c[i] = a[i] * 321;
  165. }
  166. }
  167. for (int i = 0; i < 2; i++)
  168. {
  169. a[12] = b[12];
  170. a[11] = b[12];
  171. a[10] = b[12];
  172. a[9] = b[12];
  173. a[8] = b[12];
  174. }
  175. int y = 0;
  176. while (y < 12)
  177. {
  178. a[y] = a[y + 1];
  179. y++;
  180. }
  181. y = 1;
  182. while (y < 24)
  183. {
  184. a[y - 1] = a[y + 1];
  185. y++;
  186. }
  187. y = 2;// çäåñü çàêàí÷èâàåì ïèñàòü êàêóþ íèáóäü õ*éíþ
  188. _asm // ïîëó÷àåì àäðåñ êîíöà ôóíêöèè
  189. {
  190. CALL next2
  191. next2 : pop func_end3
  192. }
  193. }
  194.  
  195. void crypt3()
  196. {
  197. to_be_crypted3();// âûçûâàåì ÷òîáû óçíàòü àäðåñà
  198. DWORD FuncSize = func_end3 - func_start3, OldProtect, Ignore;
  199. DWORD StartAddr = func_start3;
  200. DWORD xd = func_start3;
  201. VirtualProtect((LPVOID)StartAddr, FuncSize, PAGE_EXECUTE_READWRITE, &OldProtect);//ðàçðåøàåì çàïèñü â ýòó îáëàñòü ïàìÿòè
  202. for (int i = 0; i < FuncSize; i++)
  203. {
  204. xd[(char*)0] = rand() % 12345;
  205. xd++;
  206. }
  207. VirtualProtect((LPVOID)StartAddr, FuncSize, OldProtect, &Ignore); // çàïðåùàåì çàïèñü â ýòó îáëàñòü ïàìÿòè
  208. }
  209.  
  210. DWORD func_start4;
  211.  
  212. DWORD func_end4;
  213.  
  214. void to_be_crypted4()
  215. {
  216. _asm // ïîëó÷àåì àäðåñ íà÷àëà ôóíêöèè
  217. {
  218. CALL next1
  219. next1 : pop func_start4
  220. }
  221. int a[123], b[321], c[322];// çäåñü íà÷èíàåì ïèñàòü êàêóþ íèáóäü õ*éíþ (÷åì áîëüøå òåì ëó÷øå, òåì áîëüøå çàøèôðóåòñÿ)
  222. for (int i = 0; i < 123; i++)
  223. {
  224. if (i % 2 == 0)
  225. {
  226. a[i] = i - 1;
  227. b[i] = a[i] * 123;
  228. c[i] = 321;
  229. }
  230. else
  231. {
  232. a[i] = i + 1;
  233. b[i] = 123;
  234. c[i] = a[i] * 321;
  235. }
  236. }
  237. for (int i = 0; i < 2; i++)
  238. {
  239. a[12] = b[12];
  240. a[11] = b[12];
  241. a[10] = b[12];
  242. a[9] = b[12];
  243. a[8] = b[12];
  244. }
  245. int y = 0;
  246. while (y < 12)
  247. {
  248. a[y] = a[y + 1];
  249. y++;
  250. }
  251. y = 1;
  252. while (y < 24)
  253. {
  254. a[y - 1] = a[y + 1];
  255. y++;
  256. }
  257. y = 2;// çäåñü çàêàí÷èâàåì ïèñàòü êàêóþ íèáóäü õ*éíþ
  258. _asm // ïîëó÷àåì àäðåñ êîíöà ôóíêöèè
  259. {
  260. CALL next2
  261. next2 : pop func_end4
  262. }
  263. }
  264.  
  265. void crypt4()
  266. {
  267. to_be_crypted4();// âûçûâàåì ÷òîáû óçíàòü àäðåñà
  268. DWORD FuncSize = func_end4 - func_start4, OldProtect, Ignore;
  269. DWORD StartAddr = func_start4;
  270. DWORD xd = func_start4;
  271. VirtualProtect((LPVOID)StartAddr, FuncSize, PAGE_EXECUTE_READWRITE, &OldProtect);//ðàçðåøàåì çàïèñü â ýòó îáëàñòü ïàìÿòè
  272. for (int i = 0; i < FuncSize; i++)
  273. {
  274. xd[(char*)0] = rand() % 12345;
  275. xd++;
  276. }
  277. VirtualProtect((LPVOID)StartAddr, FuncSize, OldProtect, &Ignore); // çàïðåùàåì çàïèñü â ýòó îáëàñòü ïàìÿòè
  278. }
  279.  
  280. DWORD func_start5;
  281.  
  282. DWORD func_end5;
  283.  
  284. void to_be_crypted5()
  285. {
  286. _asm // ïîëó÷àåì àäðåñ íà÷àëà ôóíêöèè
  287. {
  288. CALL next1
  289. next1 : pop func_start5
  290. }
  291. int a[123], b[321], c[322];// çäåñü íà÷èíàåì ïèñàòü êàêóþ íèáóäü õ*éíþ (÷åì áîëüøå òåì ëó÷øå, òåì áîëüøå çàøèôðóåòñÿ)
  292. for (int i = 0; i < 123; i++)
  293. {
  294. if (i % 2 == 0)
  295. {
  296. a[i] = i - 1;
  297. b[i] = a[i] * 123;
  298. c[i] = 321;
  299. }
  300. else
  301. {
  302. a[i] = i + 1;
  303. b[i] = 123;
  304. c[i] = a[i] * 321;
  305. }
  306. }
  307. for (int i = 0; i < 2; i++)
  308. {
  309. a[12] = b[12];
  310. a[11] = b[12];
  311. a[10] = b[12];
  312. a[9] = b[12];
  313. a[8] = b[12];
  314. }
  315. int y = 0;
  316. while (y < 12)
  317. {
  318. a[y] = a[y + 1];
  319. y++;
  320. }
  321. y = 1;
  322. while (y < 24)
  323. {
  324. a[y - 1] = a[y + 1];
  325. y++;
  326. }
  327. y = 2;// çäåñü çàêàí÷èâàåì ïèñàòü êàêóþ íèáóäü õ*éíþ
  328. _asm // ïîëó÷àåì àäðåñ êîíöà ôóíêöèè
  329. {
  330. CALL next2
  331. next2 : pop func_end5
  332. }
  333. }
  334.  
  335. void crypt5()
  336. {
  337. to_be_crypted5();// âûçûâàåì ÷òîáû óçíàòü àäðåñà
  338. DWORD FuncSize = func_end5 - func_start5, OldProtect, Ignore;
  339. DWORD StartAddr = func_start5;
  340. DWORD xd = func_start5;
  341. VirtualProtect((LPVOID)StartAddr, FuncSize, PAGE_EXECUTE_READWRITE, &OldProtect);//ðàçðåøàåì çàïèñü â ýòó îáëàñòü ïàìÿòè
  342. for (int i = 0; i < FuncSize; i++)
  343. {
  344. xd[(char*)0] = rand() % 12345;
  345. xd++;
  346. }
  347. VirtualProtect((LPVOID)StartAddr, FuncSize, OldProtect, &Ignore); // çàïðåùàåì çàïèñü â ýòó îáëàñòü ïàìÿòè
  348. }
  349.  
  350. DWORD func_start6;
  351.  
  352. DWORD func_end6;
  353.  
  354. void to_be_crypted6()
  355. {
  356. _asm // ïîëó÷àåì àäðåñ íà÷àëà ôóíêöèè
  357. {
  358. CALL next1
  359. next1 : pop func_start6
  360. }
  361. int a[123], b[321], c[322];// çäåñü íà÷èíàåì ïèñàòü êàêóþ íèáóäü õ*éíþ (÷åì áîëüøå òåì ëó÷øå, òåì áîëüøå çàøèôðóåòñÿ)
  362. for (int i = 0; i < 123; i++)
  363. {
  364. if (i % 2 == 0)
  365. {
  366. a[i] = i - 1;
  367. b[i] = a[i] * 123;
  368. c[i] = 321;
  369. }
  370. else
  371. {
  372. a[i] = i + 1;
  373. b[i] = 123;
  374. c[i] = a[i] * 321;
  375. }
  376. }
  377. for (int i = 0; i < 2; i++)
  378. {
  379. a[12] = b[12];
  380. a[11] = b[12];
  381. a[10] = b[12];
  382. a[9] = b[12];
  383. a[8] = b[12];
  384. }
  385. int y = 0;
  386. while (y < 12)
  387. {
  388. a[y] = a[y + 1];
  389. y++;
  390. }
  391. y = 1;
  392. while (y < 24)
  393. {
  394. a[y - 1] = a[y + 1];
  395. y++;
  396. }
  397. y = 2;// çäåñü çàêàí÷èâàåì ïèñàòü êàêóþ íèáóäü õ*éíþ
  398. _asm // ïîëó÷àåì àäðåñ êîíöà ôóíêöèè
  399. {
  400. CALL next2
  401. next2 : pop func_end6
  402. }
  403. }
  404.  
  405. void crypt6()
  406. {
  407. to_be_crypted6();// âûçûâàåì ÷òîáû óçíàòü àäðåñà
  408. DWORD FuncSize = func_end6 - func_start6, OldProtect, Ignore;
  409. DWORD StartAddr = func_start6;
  410. DWORD xd = func_start6;
  411. VirtualProtect((LPVOID)StartAddr, FuncSize, PAGE_EXECUTE_READWRITE, &OldProtect);//ðàçðåøàåì çàïèñü â ýòó îáëàñòü ïàìÿòè
  412. for (int i = 0; i < FuncSize; i++)
  413. {
  414. xd[(char*)0] = rand() % 12345;
  415. xd++;
  416. }
  417. VirtualProtect((LPVOID)StartAddr, FuncSize, OldProtect, &Ignore); // çàïðåùàåì çàïèñü â ýòó îáëàñòü ïàìÿòè
  418. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement