新手一枚,如有错误(不足)请指正,谢谢!!
<mark>个人博客:点击进入/点击进入</mark>
[BJDCTF 2nd]guessgame
题目链接:点击进入
IDA载入,shift+F12搜索字符串,即可得到flag
得到flag为BJD{S1mple_ReV3r5e_W1th_0D_0r_IDA}
(刚开始没查找字符串,傻乎乎的看了主代码没找到flag,然后又去看了会在main函数前执行的pre_c_init和pre_cpp_init)
[BJDCTF 2nd] 8086
题目链接:点击进入
Intel 8086……
IDA32位载入的时候更改一下处理器(虽然我没感觉这个步骤有啥用……好像不改也行)
1KB的程序,main函数是加载sub_10030函数,sub_10030函数是个死循环,,直接看汇编
最上面有个字符串,应该就是程序把它处理后得到flag了
但是要找一下加密代码在哪,唯一可疑的地方就是jmp下面的代码了
选中,摁C解释成代码,选择Force强制转换
得到代码
这个代码比较简单可以直接看汇编。大体就是将0x22个字符挨个与0x1F异或得到flag
(或者将jmp指令nop掉之后,将红色代码摁p声明成函数,然后F5伪代码)
直接写python脚本
enstr="]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b;"
for i in enstr:
print(chr(ord(i)^0x1f),end="")
得到flag为BJD{jack_de_hu1b1an_xuede_henHa0}