其他分享
首页 > 其他分享> > ida pro 使用F5碰到的陷阱与总结(二)

ida pro 使用F5碰到的陷阱与总结(二)

作者:互联网

前面写遇到了一个陷阱,

这里记录一下另一个v5(&loc_804C257, &v4);(其中v5=0),是在函数0804c217中,

 我们看下F5自动翻译会出现哪些问题,如上。

那么,我们把v5(&loc_804C257, &v4)这段汇编代码改一下,让F5再运行一遍,看一下结果。

 

 

最后一张图是重新执行F5后的伪代码,这里pivot_root(,)的第二个参数变成了flags,而不是原先的a1。这估计是因为F5插件在汇编代码更改以后,意识到了flags这个变量在发生改变,所以pivot_root(,)的第二个参数变成了flags,这里原先的汇编代码中其实也是flags的,只不过如果没有下面的循环,等于flags和等于a1是一样的,F5自动优化为将pivot_root(,)的第二个参数改为a1了。

通过这段代码说明:以后碰到这种循环,可以把它先改为循环的逻辑,然后重新运行F5,这样可以省去我们重新一段一段阅读代码的时间。可见,这个break的crackme也真够变态的。

标签:F5,代码,a1,flags,v5,pivot,pro,ida
来源: https://blog.csdn.net/feekee/article/details/121055274