Logo WP

舔狗四部曲——三

扔进IDA里分析,有个JUMPOUT,查找资料,是因为IDA无法分析出来需要JMP到哪里,所以需要手动Patch汇编指令

【看雪】分享一个对抗JUMPOUT的小技巧

文件{:download="tg3"}

IDA 的使用#

快捷键#

  • E 可以修改函数的结尾
  • Alt+P 可以编辑函数的详细信息
  • Alt+E+F+D 可以删除函数定义 —— 其实就是模拟选择 Edit - Functions - Delete function
  • D 把汇编转换成数字

设置#

字体#

IDA中的每一个工作区都可以设置自己的字体大小,选中工作区之后,点 Options - Fonts

窗口调整#

拖动子窗口的标题名,就可以把子窗口拖出来

把鼠标放在标题名的下面的灰色的条条,就可以单击拖回去

![[image-20240428114007216.png|500]]

花指令#

lea和括号#

lea  ebx, [r14-1]
  • lea —— Load Effective Address
  • [rax] —— 表示对存储在寄存器 rax 中的内存地址进行间接引用

lea ebx, [r14-1] 其实就是

mov bx, r14
sub bx, 1

控制流平坦化#

[控制流平坦化 - CTF Wiki (ctf-wiki.org)](https://ctf-wiki.org/reverse/obfuscate/control-flow-flatten/

找到控制流的执行顺序,手动Patch,jmp

main的执行顺序:

loc_1160
loc_1220
loc_1200
loc_11E0
loc_1240
loc_11C0
loc_1190

check的执行顺序:

loc_14E8
loc_1540
loc_1560
loc_1510

dec的执行顺序

loc_1460
loc_1448
loc_1430
loc_1418
loc_1400
loc_13E0