1625-5 王子昂 总结《2017年12月1日》 【连续第427天总结】
A. JarvisOJ-Re-软件密码破解-2
B.
这题挺有意思的,确实从JarvisOJ上学到了不少啊
运行发现是个CUI程序,随便输入会进入死循环
拖入IDA反编译,主函数结构很简单:
进行了一大堆进程操作,总结下来就是将输入的内容作为参数重新开启了一个子进程,然后等待它返回
由于调试事件会被最上层的调试器拦截掉,所以父进程是不可能接收到事件的消息了……从这个角度上来看,动态调试就很困难了
于是重新开启一个进程,加入参数进行调试
发现它在main的时候有一个判断,当有参数的时候就跳到另一个流程了
单步跟发现在这里有一个INT3会断下来交给父进程
跟下来可以发现它与“elcome to EEF test!”进行逐字符异或,然后再将结果全部+1
最后通过OutputDebugString将结果传回父进程
然后父进程通过ReadProcessMemory接收,与硬编码进行比较
算法还是比较简单的,这个传递消息机制很有意思
解出flag
C. 明日计划
JarvisOJ
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!