>
>
reverse re2
shenshuoyaoyouguang
我真就做了一个月
一个压缩包,里面有一个文本文档和一个exe
查壳,无壳
od载入,找到关键点
一个fopen ,w会将内容清空,题目也没有给flag.txt,有疑点 od 就没有思路了打开ida
shift+f12 字符串窗口,找到关键点
ctrl+x 查找交叉引用,f5查看反汇编,
出现错误,百度一下,堆栈不平衡
找到它提示的地方,没有发现什么异常,其实是我菜,有异常也发现不了
既然发现不了,那就找离他最近的改变堆栈的地方 sub_401186 这个函数很可疑
点进去一看,哇,看不懂.
没关系,我有骚操作,选中这个函数, 按u 取消定义
再f5就没有提示了
经过大量的动态调试后,得出结果
字符串对比,是加密后进行对比的
对着它写出相应的脚本就好
下面这个函数 应该就是真正的得到flag 的地方了
动态调试,有异常的地方,直接跟进去看看
每次走到fgetc(File) 的时候,程序都会终止,后来我想明白了,源文件都打开失败,怎么进行写入,读取操作.
如果动态调试 ,你会发现每次如果不修改 这个地方,就会直接报源文件打开失败,然后exit(0)
问题来了,我哪里来的源文件,偷啊. gg
然后我去水了一会群
突然脑洞大开,它 enflag.txt 里面不是给了一段字符码,而fopen() w 会清除文本里面的内容,那里面的东西不久没用了码,那为什么还要放东西呢,我为什么不能借用一下呢,为什么呢.
然后我就去测试了一下
就这?就这?就这?
我有一个大胆的想法,如果让做题的人自己去根据给的文本去算这个flag,会怎么样,笑.出题的师傅还是太仁慈了
admin
牛皮
yuchoxuuan
其实,我当年这道题是一位一位的当注入题才出来的
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论