摘要: angr绕过反调试,一个是通过之前的方式,使用从特定位置开始测试的方法,还有一种通过hook进行反调试的方法。 其原理就在于angr能够符号化表示函数tumctf2016_zwiebe 另外,对于代码自修改程序,需要使用如下的方式 另外,也可以hook到一些关键函数上,达到控制效果。 比如控制sca 阅读全文
posted @ 2019-03-13 19:30 61355ing 阅读(686) 评论(0) 推荐(0) 编辑
摘要: angr也可以将符号写在内存里,控制内存中的值,结合任意位置开始有奇效,但就是慢sym-write 因为最近好像要开始0ctf了,再分析一道0ctf的题目,0ctf_trace 这个题目两个文件,一个.bin的看起来像是二进制文件,其中trace是MIPS指令集。上万行,头大。 首先通过grep j 阅读全文
posted @ 2019-03-13 19:07 61355ing 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 从程序的任意位置开始可以大大的减少测试的时间,使用的方法是控制程序运行到某时刻的寄存器的值来进行的。asisctffinals2015_fake 同样的,测试的结果也可以通过约束寄存器的值进行。 阅读全文
posted @ 2019-03-13 16:38 61355ing 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 并需要注意不让这28个字符中出现0x00或者'\n',当然有其他的限制条件也可以一并加上去。 如果并不能准确的确定find和avoid的位置,也可以对结果进行筛选。但下面的代码对应的是sm.run,如果有fine和avoid则对应的是sm.explore, 阅读全文
posted @ 2019-03-13 16:04 61355ing 阅读(885) 评论(2) 推荐(2) 编辑
摘要: 如何应对C++程序 angr只实现了C库,所以应对C++程序,需要使用full_init_state方法,并设置unicorn引擎。csaw_wyvern 并且这个过程相对于C通常会更长 阅读全文
posted @ 2019-03-13 15:49 61355ing 阅读(478) 评论(0) 推荐(0) 编辑
摘要: angr是早在几年前就出来了的一款很好用的工具,如今也出了docker,所以想直接安个docker来跑一跑。 docker pull angr/angr 。下载下来以后,进入docker ,这时并没有docker的运行环境的,需要使用su angr命令进入angr的用户才有相关的环境。 其规则为找到 阅读全文
posted @ 2019-03-13 14:58 61355ing 阅读(1136) 评论(0) 推荐(0) 编辑