lanceyeunng 发表于 2024-11-13 21:27

buuctf-新年快乐

本帖最后由 lanceyeunng 于 2024-11-13 21:41 编辑

UPX 加壳过程:备份导入地址表、重定位信息、创建新的 OEP(入口点)

UPX 脱壳过程:找到加壳前的原始入口点OPE,dump存储,恢复IAT(导入地址表),修复重定位信息..混合保存出来

查找Flag流程:DIE查看壳信息-->X64DBG脱壳-->IDA查找Flag
----------------------------------------------------------------------
可以得知,UPX加密且32位系统

打开DBG【pushad意味着32位进程upx壳解压缩代码的入口,64位是多个push】点击运行或者F9/fn+F9,直到汇编代码出现pushad


检查是否符合堆栈平衡定律(esp定律),在pushad下一个的点的esp内存位置添加断点,继续运行程序

发现目标:【壳代码中的 JMP 点 - 跳转到 原始的OEP】但是可以发现左侧的箭头无法继续往下,选择步过或者运行目标位置

选中jmp位置打开自带插件(Scylla)进行脱壳恢复数据,得到脱壳后的文件

在ida中找到main函数,f5进行伪代码可以得知str2就是flag即flag{HappyNewYear!}












daymissed 发表于 2024-11-14 10:41

感谢分享,复现成功.

d2n1314 发表于 2024-11-14 11:15

感谢分享,

sqzjx44 发表于 2024-11-14 11:19

感谢分享

yigaofeng 发表于 2024-11-14 11:42

新年快乐

lifedkk 发表于 2024-11-14 11:45

感谢分享,很有用

VitoX4 发表于 2024-11-14 11:58

新年快乐

Redbell 发表于 2024-11-14 14:44

每次看到这种脱壳的事脑袋都下意识的变大...其实先用upx做了也就没什么坎了

zhen231 发表于 2024-11-14 16:29


感谢分享,很有用

Dylanzhaoer 发表于 2024-11-14 17:27

新年快乐
页: [1] 2
查看完整版本: buuctf-新年快乐