1625-5 王子昂 总结《2017年10月10日》 【连续第375天总结】
A. reversing.kr
B.
PEPassword
给了两个文件,分别是加密过的和原版的
运行原版的发现弹窗Password是??????
IDA能看到这个password的运算,稍微跑一下就出来了
不过当然它不是真正的password啦╮(╯_╰)╭
运行Packed.exe出现一个输入框,没有按钮
IDA反编译没找到有用的东西
OD断GetWindowText和GetDlgItemText也没有结果
于是乖乖单步跟随,往下几步就找到了有用的东西:
查询可知,GetMessage从消息队列中获取消息,TranslateMessage将键盘的扫描码转换成按键码,DispatchMessage则将GetMessage的消息传送给处理函数
这三个函数都是虚函数,难怪IDA找不到线索
那么我们只需要跟着Dispatch找处理函数就对啦
那个je很明显就是循环部分,如果它跳说明check失败,那么我们只需要检查这里的写入就可以了
内存写入断点是一个好方法,不过如果是判断结构的话将不经过写入断点
显然IDA的交叉引用更加有效