侧边栏壁纸
  • 累计撰写 25 篇文章
  • 累计创建 11 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

浅浅记录一下第一次手动脱壳的经历

LinJHS
2022-11-19 / 0 评论 / 0 点赞 / 50 阅读 / 2149 字 / 正在检测是否收录...

浅浅记录一下第一次手动脱壳的经历

如果写的有错误,大佬们可以帮帮忙指正以下 ~ 谢谢 Thanks♪(・ω・)ノ

前言

动调前一定要关闭杀毒软件

我不知道为什么我开着杀毒软件一直弄不好,关掉杀软就一次成功

(我比较懒就不配图了)

内容

首先用 Exeinfo PE 查看壳的类型,判断需要手动脱壳。

接着用 StudyPE+ 禁用 ASLR 来固定 PE 基质方便接下来的操作。

然后在 dbg 选项中关闭系统断点,让程序开始停在软件模块。(我才知道原来可以这样子让程序停在软件模块,我以前都是直接输入地址,跳转到入口附近下断点)

接下来用 ESP 定律,按一下 F8 ,看到 ESP / RSP 变红之后在 ESP / RSP 下个断点,然后 F9 。

接下来就是 F8 一步步找到 OEP(程序的入口点)。

接下来打开 Scylla ,直接 dump ,然后修复 IAT ,Fix Dump。

注:IAT(Import Address Table,导入地址表)由于导入函数就是被程序调用但其执行代码又不在程序中的函数,这些函数的代码位于一个或者多个 DLL 中。当 PE 文件被装入内存的时候,Windows 装载器才将 DLL 装入,并将调用导入函数的指令和函数实际所处的地址联系起来(动态连接),这操作就需要导入表完成。其中导入地址表就指示函数实际地址。

然后就脱壳完了(这么简单?)。

接下来就可以直接在 IDA 静态调试了。


参考资料:

  1. TSCTF-J2022 官方WP https://md.byr.moe/s/b5cZWnhDa
  2. x64dbg手脱64位程序upx3.96壳后修复 https://www.52pojie.cn/thread-1534675-1-1.html
  3. IAT https://baike.baidu.com/item/IAT/20444498
  4. ESP定律原理详解 https://baijiahao.baidu.com/s?id=1662196196423030806
  5. 单步跟踪法 https://ctf-wiki.org/reverse/windows/unpack/trace/
0

评论区