题目链接:https://buuoj.cn/challenges#[BJDCTF%202nd]8086
把题目拖进exeinfo里,说这不是有效的PE文件。

把题目拖进IDA里看看,程序刚开始是这样的

它调用了sub_10030函数,跟进去,是一个自我循环

查看一下它的汇编指令

在循环的函数后面这里有一些数据,选中这些数据按"c",把它强制转化成代码

分析下代码,可以看到有串字符串"]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b;",通过了loop循环与"1Fh"进行xor,写个脚本跑出flag
str = "]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b;"
flag = ""
for i in str:
flag += chr(ord(i) ^ 0x1F)
print(flag)
flag:BJD{jack_de_hu1b1an_xuede_henHa0}
博客围绕BJDCTF 8086题目展开,将题目拖进exeinfo发现不是有效PE文件,再用IDA分析,程序调用sub_10030函数且是自我循环,查看汇编指令,把部分数据强制转化成代码,分析代码得到字符串,通过loop循环与“1Fh”进行xor,编写脚本得出flag。
1219

被折叠的 条评论
为什么被折叠?



