[BJDCTF 2nd]8086
步骤:
- 首先查壳儿,无壳,直接上ida,检索字符串,程序里就一个字符串
没法f5反编译出伪代码,大致看了一下汇编,start函数之后调用了sub_10030函数,sub_10030函数是一个死循环
中间那一串感觉应该是什么算法,选中,按c,force,强制转换成汇编查看
大概就是一个字符串与ox1f进行了异或操作,得到了]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b
字符串
知道了程序的算法,逆向一下写exp
str="]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b"
flag=""
for i in str:
flag+=chr(ord(i)^0x1F)
print (flag)