9447 ctfwriteup
只做了一些低分值的逆向和pwn题目。
1. flag finder& the real flag finder
这两个题目一个1分,1个70分,没有看出难度有啥差别,都是明文比较,直接在比较的地方下断点,就看到flag了。
2.Hello joe
程序最开始mmap了0x6000的空间大小。之后调用了6次间接跳转。经调试发现,这六次间接跳转分别跳转到mmap空间的0, 0x1000, 0x2000, 0x3000,0x4000, 0x5000处进行校验,如果正确返回1,错误返回0. 只有当6个都满足时,才是flag。
dump下0x6000字节内存后,分析发现里面就是逐个字节进行比较。
在每一条路径上都其中的某些字节做了判断,需要是某3个字节中的某一个。
后面就是写代码自动化获取flag了。这里采用