defcamp re200题解
文件:Linux 64位程序
用ida反编译,看看main函数
程序先构造了一个单项链表,数据存的是n,o,p,q,r.....10个字符。
然后用fgets读入数据,在0x40074d函数中检查。
进入函数0x40074d查看,用了双重循环。
可以知道链表的结构为 (0x00偏移,0x04字符,0x08下一项指针)
最后就是找flag中的字符在链表里面的偏移,保存到v6这个buffer里面。
最后拿v6和v9两个数组比较,相等则正确。
用python查看一下偏移
v9数组的值是5,2,7,2,5,6
对应的字符就是rotors
还有一个是反动态调试,直接在0x40084a处把push rbp改成retn即可。
没看懂感谢分享{:1_907:}
没看懂,IT果然从事的岗位多,我是学.NET的! 谢谢分享优质的资源 谢谢分享优质的资源
想问下lz,在ida里面怎么修改代码 谢谢楼主分享
谢谢楼主分享 谢谢分享优质的资源
谢谢分享优质的资源
页:
[1]
2