Crusader_Decomp/tmp_scan.py

8 lines
5.2 KiB
Python
Raw Permalink Normal View History

from capstone import Cs, CS_ARCH_X86, CS_MODE_16
hex_bytes = "55 8b ec 81 ec 48 03 56 57 c7 46 d8 00 00 c7 46 d2 00 00 83 3e 94 8c 00 74 08 a1 94 8c 89 46 d0 eb 05 c7 46 d0 00 00 c4 5e 06 26 c4 9f da 00 26 8b 47 02 a3 94 8c 68 00 00 68 93 3e 6a 05 6a 00 6a 0a 6a 02 16 8d 86 ce fc 50 9a e2 b8 03 00 83 c4 10 a1 9c 65 0b 06 9e 65 74 10 ff 36 9e 65 ff 36 9c 65 9a 32 ee 0c 00 83 c4 04 c4 5e 06 26 8a 87 e0 00 b4 00 0b c0 75 23 26 83 af cc 00 04 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8e c0 26 c7 47 02 00 00 26 c7 07 00 00 c7 46 cc 00 00 e9 21 39 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 ce 8b 5e ce 83 fb 79 76 03 e9 e5 38 d1 e3 2e ff a7 9f 3d c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 50 ff 76 08 53 0e e8 4a fd 83 c4 06 e9 cd 38 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 83 87 d6 00 02 8e c0 26 8b 04 89 46 be a1 9c 65 0b 06 9e 65 75 03 e9 a6 38 ff 76 be ff 36 9e 65 ff 36 9c 65 9a 53 ea 0c 00 83 c4 06 e9 90 38 e9 8d 38 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 83 87 d6 00 02 8e c0 26 8b 04 89 46 f2 a1 9c 65 0b 06 9e 65 74 3e 6a 00 6a 00 c4 46 06 26 03 87 d4 00 89 46 c0 05 04 00 ff 76 08 50 26 8b 87 d6 00 03 46 f2 26 ff b7 d8 00 50 26 ff b7 d8 00 26 ff b7 d6 00 ff 36 9e 65 ff 36 9c 65 9a f5 ec 0c 00 83 c4 14 c4 5e 06 26 83 87 d6 00 09 e9 1f 38 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 bc 89 46 ba 8e 46 08 26 c4 9f cc 00 26 8b 07 89 46 b8 c4 5e 06 26 83 87 cc 00 02 8a 46 b8 88 46 b7 06 8b 46 06 8c c2 07 26 03 87 d4 00 89 46 c0 03 46 ba 8a 5e b7 8e c2 93 26 88 47 04 e9 c5 37 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 bc 89 46 b4 8e 46 08 26 c4 9f cc 00 26 8b 07 89 46 b2 c4 5e 06 26 83 87 cc 00 02 89 46 b0 06 8b 46 06 8c c2 07 26 03 87 d4 00 89 46 c0 03 46 b4 8b 5e b0 8e c2 93 26 89 47 04 e9 6e 37 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 bc 89 46 ae 8e 46 08 26 c4 9f cc 00 26 8b 47 02 26 8b 17 89 46 ac 89 56 aa c4 5e 06 26 83 87 cc 00 04 89 46 a8 89 56 a6 06 8b 46 06 8c c2 07 26 03 87 d4 00 89 46 c0 03 46 ae 8b 5e a8 8b 4e a6 8e c2 93 26 89 47 06 26 89 4f 04 e9 06 37 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 f2 8e 46 08 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 f0 8e 46 08 06 8b 46 06 8c c2 07 26 03 87 d4 00 89 46 c0 03 46 f2 05 04 00 8e 46 08 26 8b 8f ce 00 26 8b b7 cc 00 52 50 51 8b 4e f0 d1 e9 58 5f 07 1e 8e d8 f3 a5 13 c9 f3 a4 1f e9 93 36 c4 5e 06 26 c4 9f cc 00 26 8b 47 02 26 8b 17 89 46 a4 89 56 a2 c4 5e 06 26 83 87 cc 00 04 c4 5e 0a 26 89 47 02 26 89 17 e9 68 36 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 f2 8e 46 08 26 c4 9f cc 00 26 8b 47 02 26 8b 17 89 46 a0 89 56 9e c4 5e 06 26 83 87 cc 00 04 89 46 e8 89 56 e6 26 8b 87 ce 00 26 8b b7 cc 00 c4 7e e6 8b 4e f2 d1 e9 1e 8e d8 f3 a5 13 c9 f3 a4 1f 8b 46 f2 f7 d8 89 46 9c 8e 46 08 26 29 87 cc 00 e9 fa 35 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 88 46 9b 8e 46 08 26 ff 8f cc 00 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8a 56 9b 8e c0 26 88 17 e9 bd 35 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 98 8e 46 08 26 83 af cc 00 02 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8b 56 98 8e c0 26 89 17 e9 7e 35 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 83 87 d6 00 02 8e c0 26 8b 04 89 46 96 8e 46 08 26 83 af cc 00 02 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8b 56 96 8e c0 26 89 17 e9 3f 35 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 83 87 d6 00 04 8e c0 26 8b 44 02 26 8b 14 89 46 94 89 56 92 8e 46 08 26 83 af cc 00 04 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8b 56 94 8b 4e 92 8e c0 26 89 57 02 26 89 0f e9 f2 34 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 90 8e 46 08 06 8b 46 06 8c c2 07 26 03 87 d4 00 89 46 c0 03 46 90 8b d8 8e c2 26 8a 47 04 98 89 46 8e c4 5e 06 26 83 af cc 00 02 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8b 56 8e 8e c0 26 89 17 e9 92 34 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 8c 8e 46 08
base = 0xCF98B
md = Cs(CS_ARCH_X86, CS_MODE_16)
for ins in md.disasm(bytes.fromhex(hex_bytes), base):
txt = f"{ins.address:08X}: {ins.mnemonic:<6} {ins.op_str}"
if any(tok in txt for tok in ('0xcc', '0xce', '0xd4', '0xd6', '0xd8', '0x39ca')):
print(txt)