题目四:Ultimate Packer for eXecutables
DIE 显示样本被 UPX 压缩,还提示入口信息异常。
![]()
直接 upx -d 会报错,因为作者把头部签名改掉了。
![]()
用 010 Editor 打开,手工把 UPX! 对应的几个字节覆写回来。
![]()
保存后重新 upx -d 就能顺利脱壳。后续流程:把修复后的二进制丢进 IDA,跟代码逻辑写解密脚本即可。注意程序中有 input * 122 这种会溢出的运算,所以脚本里采用遍历可打印字符、逐字节模 256 验证,避免直接倒推导致结果不对。