新手一枚,如有错误(不足)请指正,谢谢!!
<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}