Guest User

Untitled

a guest
Jun 22nd, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.93 KB | None | 0 0
  1. from Crypto.Cipher import AES
  2. from Crypto.Util import Counter
  3. import struct
  4.  
  5. def aes_ctr_dec(buf, key, iv):
  6. ctr = Counter.new(128, initial_value=long(iv.encode('hex'), 16))
  7. return AES.new(key, AES.MODE_CTR, counter=ctr).encrypt(buf)
  8.  
  9. f = open("data_80000000.bin", "rb")
  10. b = f.read()
  11. f.close()
  12.  
  13. f = open("data_80300000.bin", "wb")
  14. f.write(b);
  15.  
  16. key = "C46F64F4BEC6FC861BCF2ADFFBE76FA0".decode("hex")
  17.  
  18. ctr = "4eee0b42904e8f29c30e8696782c0bef".decode("hex")
  19. off = 0x000041C0
  20. size = 0xEB0
  21. base = 0x803041C0
  22. f.seek(off);
  23. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  24.  
  25. ctr = "60a4c99ce6a9e0226e4a0209456a9328".decode("hex")
  26. off = 0x00005080
  27. size = 0x1180
  28. base = 0x80305080
  29. f.seek(off);
  30. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  31.  
  32. ctr = "df9bfebecf655ba19f4ede67b30dee19".decode("hex")
  33. off = 0x00006200
  34. size = 0xD0
  35. base = 0x80306200
  36. f.seek(off);
  37. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  38.  
  39. ctr = "daa15a79a2855e4dfa855f8d996e9d05".decode("hex")
  40. off = 0x000062D0
  41. size = 0x1AC0
  42. base = 0x803062D0
  43. f.seek(off);
  44. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  45.  
  46. ctr = "4837ad9727e434fc373805cd1a12f4ed".decode("hex")
  47. off = 0x00007D90
  48. size = 0xC0
  49. base = 0x80307D90
  50. f.seek(off);
  51. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  52.  
  53. ctr = "c262cdc0dc121d93ab74d12830d4861b".decode("hex")
  54. off = 0x00007E50
  55. size = 0x10
  56. base = 0x80307E50
  57. f.seek(off);
  58. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  59.  
  60. ctr = "d48dcefe99ee6bacc825b2965badd602".decode("hex")
  61. off = 0x00007E60
  62. size = 0x1750
  63. base = 0x80307E60
  64. f.seek(off);
  65. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  66.  
  67. ctr = "8673ba15ca2d044931895dd6072cd83f".decode("hex")
  68. off = 0x000095B0
  69. size = 0x1040
  70. base = 0x803095B0
  71. f.seek(off);
  72. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  73.  
  74. ctr = "11094aae72d1acd3e3a629c607b6bec4".decode("hex")
  75. off = 0x0000A5F0
  76. size = 0x20D0
  77. base = 0x8030A5F0
  78. f.seek(off);
  79. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  80.  
  81. ctr = "d1185dbfc3d0febe7c79f41ca90e684e".decode("hex")
  82. off = 0x0000C6C0
  83. size = 0x1200
  84. base = 0x8030C6C0
  85. f.seek(off);
  86. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  87.  
  88. ctr = "0d62481344457432ca9bb9bf367b3625".decode("hex")
  89. off = 0x0000D8D0
  90. size = 0x910
  91. base = 0x8030D8D0
  92. f.seek(off);
  93. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  94.  
  95. ctr = "19af19db73ed5b75dabb7e378e28bdc7".decode("hex")
  96. off = 0x0000E1E0
  97. size = 0x10
  98. base = 0x8030E1E0
  99. f.seek(off);
  100. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  101.  
  102. ctr = "b0ca69543d782eef2a0c74dcd0bdf627".decode("hex")
  103. off = 0x0000E1F0
  104. size = 0xF20
  105. base = 0x8030E1F0
  106. f.seek(off);
  107. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  108.  
  109. ctr = "620d1ef950ffa26215ad5f8dc5abf4fc".decode("hex")
  110. off = 0x0000F110
  111. size = 0x2610
  112. base = 0x8030F110
  113. f.seek(off);
  114. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  115.  
  116. ctr = "efbe1eba3f52b106ccf72f711f6cb4cd".decode("hex")
  117. off = 0x00011720
  118. size = 0x1AD0
  119. base = 0x80311720
  120. f.seek(off);
  121. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  122.  
  123. ctr = "f73df8b089bfa4ef793ba8f9e1640cc2".decode("hex")
  124. off = 0x000133E0
  125. size = 0x550
  126. base = 0x803133E0
  127. f.seek(off);
  128. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  129.  
  130. ctr = "6fb50ce1b52a9382746b89f0eb7346fd".decode("hex")
  131. off = 0x00013930
  132. size = 0x74080
  133. base = 0x80313930
  134. f.seek(off);
  135. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  136.  
  137. ctr = "e5dc1d1386b010b6aaf30b012d8590de".decode("hex")
  138. off = 0x000879B0
  139. size = 0x1750
  140. base = 0x803879B0
  141. f.seek(off);
  142. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  143.  
  144. ctr = "d0cf7b4d2de23f99d814919fa7aaa415".decode("hex")
  145. off = 0x00089100
  146. size = 0xF10
  147. base = 0x80389100
  148. f.seek(off);
  149. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  150.  
  151. ctr = "997e1f35d91e46153871716100c22a3b".decode("hex")
  152. off = 0x0008A170
  153. size = 0x390
  154. base = 0x8038A170
  155. f.seek(off);
  156. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  157.  
  158. ctr = "cb602ed97bcce90037ff9775f2531797".decode("hex")
  159. off = 0x0008A570
  160. size = 0xC10
  161. base = 0x8038A570
  162. f.seek(off);
  163. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  164.  
  165. ctr = "b4c070685bc38dfc9d36e03e1791a571".decode("hex")
  166. off = 0x0008B180
  167. size = 0x2EA0
  168. base = 0x8038B180
  169. f.seek(off);
  170. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  171.  
  172. ctr = "4fbd6897ef42d7d226c188e8188ceef2".decode("hex")
  173. off = 0x0008E020
  174. size = 0x1260
  175. base = 0x8038E020
  176. f.seek(off);
  177. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  178.  
  179. ctr = "f849113d88223533ebd8161637897bdc".decode("hex")
  180. off = 0x0008F280
  181. size = 0x1F0
  182. base = 0x8038F280
  183. f.seek(off);
  184. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  185.  
  186. ctr = "2014efbb5ae7603a03f6fcfcf63a2a79".decode("hex")
  187. off = 0x0008F470
  188. size = 0xCA0
  189. base = 0x8038F470
  190. f.seek(off);
  191. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  192.  
  193. ctr = "fd89008534f58104d3ed2940d5a4723e".decode("hex")
  194. off = 0x00090110
  195. size = 0xEA0
  196. base = 0x80390110
  197. f.seek(off);
  198. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  199.  
  200. ctr = "e789690bf5b9f4bb14ad17dc2722ac5b".decode("hex")
  201. off = 0x00091F40
  202. size = 0xF0
  203. base = 0x80391F40
  204. f.seek(off);
  205. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  206.  
  207. ctr = "c966f2d49111175783eb90d5d90dac1f".decode("hex")
  208. off = 0x00092030
  209. size = 0x10
  210. base = 0x80392030
  211. f.seek(off);
  212. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  213.  
  214. ctr = "ab3c0dc07bfa4f9bfcd2fa7892a1bab1".decode("hex")
  215. off = 0x00092040
  216. size = 0x4B0
  217. base = 0x80392040
  218. f.seek(off);
  219. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  220.  
  221. ctr = "b34c9baca093d3cae6442a5ff0e9ef11".decode("hex")
  222. off = 0x000924F0
  223. size = 0x4C0
  224. base = 0x803924F0
  225. f.seek(off);
  226. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  227.  
  228. ctr = "e7574a5e0376370c8fb4d1337d4c0299".decode("hex")
  229. off = 0x00092CD0
  230. size = 0x8C0
  231. base = 0x80392CD0
  232. f.seek(off);
  233. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  234.  
  235. ctr = "2d9ae5a5f45a5a06d20949464b7780a5".decode("hex")
  236. off = 0x00093590
  237. size = 0x60
  238. base = 0x80393590
  239. f.seek(off);
  240. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  241.  
  242. ctr = "f88041a47bcdf83c9cbaf880a52b8eb9".decode("hex")
  243. off = 0x000935F0
  244. size = 0x1E0
  245. base = 0x803935F0
  246. f.seek(off);
  247. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  248.  
  249. ctr = "d4b526ff77c298676bb4d3400a969a71".decode("hex")
  250. off = 0x00094C90
  251. size = 0x4430
  252. base = 0x80394C90
  253. f.seek(off);
  254. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  255.  
  256. ctr = "34d3b24fdd8138e725d629bd6af09a04".decode("hex")
  257. off = 0x00099150
  258. size = 0x1A60
  259. base = 0x80399150
  260. f.seek(off);
  261. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  262.  
  263. ctr = "70540efc53f2238659f5aa681325d1b2".decode("hex")
  264. off = 0x0009ABB0
  265. size = 0x6D0
  266. base = 0x8039ABB0
  267. f.seek(off);
  268. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  269.  
  270. ctr = "2dc9e997160f4bc3dfe59aeff6fdd756".decode("hex")
  271. off = 0x0009B280
  272. size = 0x14A0
  273. base = 0x8039B280
  274. f.seek(off);
  275. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  276.  
  277. ctr = "a1e338da7b1988a8eeb35bb9b5629398".decode("hex")
  278. off = 0x0009C720
  279. size = 0x10
  280. base = 0x8039C720
  281. f.seek(off);
  282. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  283.  
  284. ctr = "031d04c9e9e3a6058d01d4c97190751a".decode("hex")
  285. off = 0x0009C730
  286. size = 0x798C0
  287. base = 0x8039C730
  288. f.seek(off);
  289. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  290.  
  291. ctr = "68ff2e7767085f60eae528b2d42934d7".decode("hex")
  292. off = 0x001161E0
  293. size = 0x11D0
  294. base = 0x804161E0
  295. f.seek(off);
  296. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  297.  
  298. ctr = "809976e2aefdcbd8fa7aca85b1431eb5".decode("hex")
  299. off = 0x001173B0
  300. size = 0x3830
  301. base = 0x804173B0
  302. f.seek(off);
  303. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  304.  
  305. ctr = "efaf4c358eba733dbc986d4310b07280".decode("hex")
  306. off = 0x0011ABE0
  307. size = 0x2A0
  308. base = 0x8041ABE0
  309. f.seek(off);
  310. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  311.  
  312. ctr = "27351d53e945cfda7a1fb9232c2ff6e6".decode("hex")
  313. off = 0x0011AE80
  314. size = 0x150
  315. base = 0x8041AE80
  316. f.seek(off);
  317. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  318.  
  319. ctr = "109dff223360801f322033ea1d1b70ef".decode("hex")
  320. off = 0x0011CD80
  321. size = 0x4C0
  322. base = 0x8041CD80
  323. f.seek(off);
  324. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  325.  
  326. ctr = "82f41ac0a99cf5be766d2dde5008d517".decode("hex")
  327. off = 0x0011D240
  328. size = 0x20
  329. base = 0x8041D240
  330. f.seek(off);
  331. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  332.  
  333. ctr = "c6b3cff51f01b497abce68b5b6fddb29".decode("hex")
  334. off = 0x0011D260
  335. size = 0x36A0
  336. base = 0x8041D260
  337. f.seek(off);
  338. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  339.  
  340. ctr = "f7f5e2c70043db7d67b4f4c30bf68f41".decode("hex")
  341. off = 0x00120900
  342. size = 0x560
  343. base = 0x80420900
  344. f.seek(off);
  345. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  346.  
  347. ctr = "7cdcee2f726368a34a221500d9721ff1".decode("hex")
  348. off = 0x00120E60
  349. size = 0x2790
  350. base = 0x80420E60
  351. f.seek(off);
  352. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  353.  
  354. ctr = "ee1950a051938696818a25593381cb00".decode("hex")
  355. off = 0x00123610
  356. size = 0x1120
  357. base = 0x80423610
  358. f.seek(off);
  359. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  360.  
  361. ctr = "f82493ea721a68e59d4d5361ad1137c7".decode("hex")
  362. off = 0x00124730
  363. size = 0xC20
  364. base = 0x80424730
  365. f.seek(off);
  366. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  367.  
  368. ctr = "5e7184cd286156e5e06d654ce12924d7".decode("hex")
  369. off = 0x00125350
  370. size = 0x1280
  371. base = 0x80425350
  372. f.seek(off);
  373. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  374.  
  375. ctr = "d03c35cdfe6e0b109c4c8f230926dc0c".decode("hex")
  376. off = 0x001265D0
  377. size = 0x1A0
  378. base = 0x804265D0
  379. f.seek(off);
  380. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  381.  
  382. ctr = "c35d5de8839ad195cc89dc4eecd2744a".decode("hex")
  383. off = 0x00126770
  384. size = 0x1B20
  385. base = 0x80426770
  386. f.seek(off);
  387. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  388.  
  389. ctr = "9047ee016ca5a05ba5a44e945911d1d2".decode("hex")
  390. off = 0x00128290
  391. size = 0x110
  392. base = 0x80428290
  393. f.seek(off);
  394. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  395.  
  396. ctr = "b51b538fc3f18d7d076ca42b8925a28c".decode("hex")
  397. off = 0x001283A0
  398. size = 0x10
  399. base = 0x804283A0
  400. f.seek(off);
  401. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  402.  
  403. ctr = "2cba6526dad9b809c12671c59521c531".decode("hex")
  404. off = 0x001283B0
  405. size = 0x47F0
  406. base = 0x804283B0
  407. f.seek(off);
  408. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  409.  
  410. ctr = "dcaa3b88e2a23aa7a871bdde040325bf".decode("hex")
  411. off = 0x0012CBB0
  412. size = 0x2FD0
  413. base = 0x8042CBB0
  414. f.seek(off);
  415. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  416.  
  417. ctr = "a4e2d28b4900f732a8a33a1b15e1c289".decode("hex")
  418. off = 0x0012FB80
  419. size = 0x8C0
  420. base = 0x8042FB80
  421. f.seek(off);
  422. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  423.  
  424. ctr = "c5f60b049dfba15773f3879c8ba36aae".decode("hex")
  425. off = 0x001307E0
  426. size = 0x1CC0
  427. base = 0x804307E0
  428. f.seek(off);
  429. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  430.  
  431. ctr = "0a810e7cb229c2d5c2b5dc94e0c034b8".decode("hex")
  432. off = 0x001324A0
  433. size = 0x1030
  434. base = 0x804324A0
  435. f.seek(off);
  436. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  437.  
  438. ctr = "6795c793e18652a0c23003d85ec38f66".decode("hex")
  439. off = 0x001334D0
  440. size = 0xF30
  441. base = 0x804334D0
  442. f.seek(off);
  443. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  444.  
  445. ctr = "3cb5909a61e126ac5a97361f64a70f6d".decode("hex")
  446. off = 0x00134400
  447. size = 0x1AB0
  448. base = 0x80434400
  449. f.seek(off);
  450. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  451.  
  452. ctr = "5793559de55bc447a2a621c99e5ac33a".decode("hex")
  453. off = 0x00136130
  454. size = 0x540
  455. base = 0x80436130
  456. f.seek(off);
  457. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  458.  
  459. ctr = "ca82a08d9cf418b28047aab85e323290".decode("hex")
  460. off = 0x00136750
  461. size = 0x10
  462. base = 0x80436750
  463. f.seek(off);
  464. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  465.  
  466. ctr = "8dd026863438c5501969b8c175827d2d".decode("hex")
  467. off = 0x00136760
  468. size = 0x10
  469. base = 0x80436760
  470. f.seek(off);
  471. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  472.  
  473. ctr = "6d90648d7f0d6b68e24d1d37d22ee379".decode("hex")
  474. off = 0x00136770
  475. size = 0x10
  476. base = 0x80436770
  477. f.seek(off);
  478. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  479.  
  480. ctr = "4557911c9f1682ca656f26c0ce9cdf7e".decode("hex")
  481. off = 0x00136840
  482. size = 0x1120
  483. base = 0x80436840
  484. f.seek(off);
  485. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  486.  
  487. ctr = "4cfb5899cbe32e3d0a58ee7db89190fb".decode("hex")
  488. off = 0x00137BE0
  489. size = 0x820
  490. base = 0x80437BE0
  491. f.seek(off);
  492. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  493.  
  494. ctr = "9bccfbbcec3624cc7255f59a59d16636".decode("hex")
  495. off = 0x00138400
  496. size = 0x190
  497. base = 0x80438400
  498. f.seek(off);
  499. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  500.  
  501. ctr = "cbae5af8a956efdeaf7e4b513c1cb14f".decode("hex")
  502. off = 0x00138590
  503. size = 0xEB0
  504. base = 0x80438590
  505. f.seek(off);
  506. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  507.  
  508. ctr = "005192eea7ad85810d56c33e070aaf44".decode("hex")
  509. off = 0x00139440
  510. size = 0x10
  511. base = 0x80439440
  512. f.seek(off);
  513. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  514.  
  515. ctr = "ad276a1735f8c0a889110be59e8b6f67".decode("hex")
  516. off = 0x00139450
  517. size = 0x10
  518. base = 0x80439450
  519. f.seek(off);
  520. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  521.  
  522. ctr = "dbeb7217b54af2c4624fc86f6e050e4d".decode("hex")
  523. off = 0x00139460
  524. size = 0x1720
  525. base = 0x80439460
  526. f.seek(off);
  527. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  528.  
  529. ctr = "f1e428b09d900cf07a0802000449f389".decode("hex")
  530. off = 0x0013ABA0
  531. size = 0x970
  532. base = 0x8043ABA0
  533. f.seek(off);
  534. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  535.  
  536. ctr = "570546c33fdd2db43329c70e016289b7".decode("hex")
  537. off = 0x0013B510
  538. size = 0x2280
  539. base = 0x8043B510
  540. f.seek(off);
  541. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  542.  
  543. ctr = "ca62a2fb470ed21d7fd71f14b05eff03".decode("hex")
  544. off = 0x0013D790
  545. size = 0x910
  546. base = 0x8043D790
  547. f.seek(off);
  548. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  549.  
  550. ctr = "42a60072a701d45128913715f468edf5".decode("hex")
  551. off = 0x0013E0A0
  552. size = 0x2150
  553. base = 0x8043E0A0
  554. f.seek(off);
  555. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  556.  
  557. ctr = "0eb85ca97b4ba0bf92f4badb8a6c8056".decode("hex")
  558. off = 0x001401F0
  559. size = 0x870
  560. base = 0x804401F0
  561. f.seek(off);
  562. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  563.  
  564. ctr = "0c2fb5048a4665ad9618fe79b21a9f1f".decode("hex")
  565. off = 0x00141720
  566. size = 0x1F0
  567. base = 0x80441720
  568. f.seek(off);
  569. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  570.  
  571. ctr = "04504a1b324dbcdbecec4e3279f69972".decode("hex")
  572. off = 0x00141910
  573. size = 0xF20
  574. base = 0x80441910
  575. f.seek(off);
  576. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  577.  
  578. ctr = "6b0f5e6cadec7253c168ea1cb2ef7a84".decode("hex")
  579. off = 0x00142830
  580. size = 0x11E0
  581. base = 0x80442830
  582. f.seek(off);
  583. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  584.  
  585. ctr = "1349fd7e59634d36e9c8ae3cef006382".decode("hex")
  586. off = 0x00143A10
  587. size = 0x260
  588. base = 0x80443A10
  589. f.seek(off);
  590. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  591.  
  592. ctr = "80d001979fdb50448203fac68e75775f".decode("hex")
  593. off = 0x00143C70
  594. size = 0xB80
  595. base = 0x80443C70
  596. f.seek(off);
  597. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  598.  
  599. ctr = "b920f9e8ce18c7c084a0ddf9bd5a71e1".decode("hex")
  600. off = 0x001447F0
  601. size = 0x1C0
  602. base = 0x804447F0
  603. f.seek(off);
  604. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  605.  
  606. ctr = "a4c44d541d76467404ea89c4fa7140d8".decode("hex")
  607. off = 0x001449B0
  608. size = 0x10
  609. base = 0x804449B0
  610. f.seek(off);
  611. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  612.  
  613. ctr = "ee584d31e48f6bfcd6d3271044dc8355".decode("hex")
  614. off = 0x001449C0
  615. size = 0x7D0
  616. base = 0x804449C0
  617. f.seek(off);
  618. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  619.  
  620. ctr = "cc94d61f5da2967caeefbdef50071a3e".decode("hex")
  621. off = 0x00145190
  622. size = 0xD0
  623. base = 0x80445190
  624. f.seek(off);
  625. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  626.  
  627. ctr = "53be020996839dcf23596688d12050cc".decode("hex")
  628. off = 0x00145260
  629. size = 0x30A0
  630. base = 0x80445260
  631. f.seek(off);
  632. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  633.  
  634. ctr = "c9fff23c710689480356bfde8c972716".decode("hex")
  635. off = 0x00148300
  636. size = 0x4B0
  637. base = 0x80448300
  638. f.seek(off);
  639. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  640.  
  641. ctr = "29d9425b63ec734e08d14acc55c6d2d1".decode("hex")
  642. off = 0x001487D0
  643. size = 0x8B0
  644. base = 0x804487D0
  645. f.seek(off);
  646. f.write(aes_ctr_dec(b[off:off+size], key, ctr))
  647.  
  648. f.close()
Add Comment
Please, Sign In to add comment