BABYRE
AD babyre WP 这个题,是对函数体本身进行了加密。由于这里的加密比较简单,直接利用idapython在源数据上打patch(或者)复现对函数体的解密,然后分析主体函数就好了。 附idapython文档 附
AD babyre WP 这个题,是对函数体本身进行了加密。由于这里的加密比较简单,直接利用idapython在源数据上打patch(或者)复现对函数体的解密,然后分析主体函数就好了。 附idapython文档 附
HOOK技术 hook是一种windows下调用信息队列的机制(也就是记录交互和改变运行基底) 遇事不决,动态调试! 这个题动态调试动起来就会发现,最后的check函数是假的。然后通过流程二分定区间,最后可以锁定主体函数,是一个非常简单的加密,然后python脚本逆回去就好。 另外本题也要求了解一些内核机制,而且反编译中还有一句很有趣 12key = (char *)cr...
动态调试看地图!!!! 一个值得注意的点是,如果直接将地图以二维表格的方式绘制,可能会出现Dword一次赋值两位的问题。
cgpwn2 WP 这题本身没啥好说的,主要是不要被大大的pwn迷惑了,实际使用的是_system函数 另外,暂时未知替换return后为什么要先填充一个空字再填入commend参数地址,需要继续去读函数在栈上的具体模式,懂了再回来更。 半懂了,这个地方的空字是函数的返回值,但具体在栈上的实现下周再更吧。 另外,做这个题途中配置了vim的pwn相关代码复用,也算是有点收获
AD string WP 这个题戏好多啊 总而言之,终于摸到了格式化字符串漏洞的大门! 具体步骤 checksec发现地址是动态的,die查壳发现是64位 运行一下全是字,然后发现诶,有secret,看来是好东西(当时应该想到是地址的)。 打开发现居然有secret地址输出诶!(当时应该想到是格式化字符串的) 4.然后读流程,基本上就是文字游戏,注意两点: 游...
“万物皆可溢出” 1.通过某个变量溢出获取值来控制流程 2.通过程序段溢出修改流程 具体流程 1.查函数列表看到后门函数地址 2.注意到这里的字符串函数只有strcpy,而调用的触发条件是用字符串长度赋值的int8变量大于3小于8 3.注意字越短越容易溢出,遂用长度溢出覆盖
Hello, CTF 注意sprintf函数的用法 sprintf(&s,format_string,p1,p2...) 将按照format_string,并填入参数pn得到的字符串输入s 备注:sprintf用法总结https://baike.baidu.com/item/sprintf/9703430?fr=aladdin maze 注意左右上下移动对应的操作数,以及x轴与...