Problem: [HGAME 2022 week4]WOW
思路
代码下面自解密了

运行到前面的比对处把密文patch掉就可以
import ida_bytes import idc patch_data = [ 0x29, 0x20, 0x98, 0x62, 0xFC, 0x46, 0x79, 0x56, 0xA5, 0x90, 0x4A, 0xF6, 0xA3, 0x70, 0xD9, 0x1B, 0x34, 0x02, 0x1B, 0x50, 0x65, 0x86, 0x33, 0x35, 0xBB, 0xA5, 0x9F, 0x96, 0xBB, 0x2B, 0xE3, 0x2A ] def patch_array(): # 目标地址(修改为你的地址) start_addr = 0x0093FBC8 # 验证地址有效性 if not ida_bytes.is_mapped(start_addr): print(f"[-] 错误地址 0x{start_addr:X}") return # 遍历地址进行patch for idx, byte in enumerate(patch_data): current_addr = start_addr + idx ida_bytes.patch_byte(current_addr, byte) print(f"[*] 已修改地址 0x{current_addr:X} 为 0x{byte:02X}") print(f"[+] 已完成 {len(patch_data)} 字节的写入") ida_bytes.refresh_idaview_anyway() if __name__ == '__main__': patch_array()
EXP
- 具体攻击代码
总结
- 对该题的考点总结
