这里记录一下bugku平台上一些re题的题解
入门逆向
直接拖进IDA反编译
直接可以看到flag
Easy_vb
IDA或OD反编译,搜索字符串
看到有flag样式的字符串,是MCTF比赛的题,bugku上需要提交flag(xxx),所以把MCTF改成flag{}
Easy_Re
用OD调试,搜索字符串,找到需要我们输入字符串的位置:
发现提示语和%s,找到输入字符串的位置,加断点单步调试
程序会把输入的字符串和flag进行比较,相同则通过,在寄存器中找到正确的flag
游戏过关
这题可以有至少三种解法:
1、第一种解法
直接游戏通关,很简单,依次输入1-8即可
2、使用OD修改程序
首先查找字符串找到输出flag关键函数
找到如图所示函数的起始地址,跳转两次找到关键判断
可以看到jnz指令进行了跳转,如果没有跳转,将会执行输出flag的函数,现在修改程序,将跳转过后的指令修改为输出flag指令
直接运行程序,输入任意数字都可得到flag
3、进行解码解出flag
可在上图4-2中看到处理flag的部分,将下面的16进制进行解码即可都得到flag
逆向入门
下载下来admin.exe,发现打不开,peid检查发现不是PE程序,用文本编辑器打开,发现时图片转base64,转成图片得到二维码扫描得到flag
love
IDA打开反编译,找到输出部分
发现进行了处理之后将两个base64比较,如果相同就输出flag正确,所以只要将Str2进行反变换就得到了正确的flag
1 | import base64 |
Comments