照例利用PE查壳

然后用相应的ida打开程序,找到主函数
这里做了注释,通过动态调试就可以知道我们的值被传到了memory,这是是flag
这是第一次加密,就是将flag与Dst进行异或

然后进行了字节叠加,传入v15;


然后再传入B数组(为了看起来方便做了更改) ,
我们再把变量进行梳理就很好理解他最后一次加密是怎么回事的了

本文通过使用PE工具检查程序壳并结合IDA动态调试方法,详细介绍了如何解析一个经过加密的flag值。通过分析代码和使用Z3求解器,逐步揭示了加密过程,并最终还原出正确的flag值。
照例利用PE查壳

然后用相应的ida打开程序,找到主函数
这里做了注释,通过动态调试就可以知道我们的值被传到了memory,这是是flag
这是第一次加密,就是将flag与Dst进行异或

然后进行了字节叠加,传入v15;


然后再传入B数组(为了看起来方便做了更改) ,
我们再把变量进行梳理就很好理解他最后一次加密是怎么回事的了

2713
2万+

被折叠的 条评论
为什么被折叠?