查壳,拖入ida分析(哦,记得加载附有的pdb文件,不然可能会显示的不一样)
查看分析主函数:

下面这个函数,我理解为将&add和&v绑定(咱俩都指一样的东西)
![]()

然后下面这部分对我们的输入进行操作,从头遍历到尾

将我们的输入进行异或并赋值给add(记住add和v的关系)

将key赋值给cmp

同样的,以下是将cmp和v9(实际上就是将key与异或后的输入进行字符串比较),符合则“good job”

明白流程后,开始写脚本:

flag如下:flag{Welcome_to_Neusoft}
博客介绍了查壳后用ida进行分析的过程,需加载pdb文件。查看分析主函数,理解函数将&add和&v绑定,对输入进行异或操作并与key比较,符合则输出“good job”。明白流程后写脚本,最终得到flag为flag{Welcome_to_Neusoft}。
查壳,拖入ida分析(哦,记得加载附有的pdb文件,不然可能会显示的不一样)
查看分析主函数:

下面这个函数,我理解为将&add和&v绑定(咱俩都指一样的东西)
![]()

然后下面这部分对我们的输入进行操作,从头遍历到尾

将我们的输入进行异或并赋值给add(记住add和v的关系)

将key赋值给cmp

同样的,以下是将cmp和v9(实际上就是将key与异或后的输入进行字符串比较),符合则“good job”

明白流程后,开始写脚本:

flag如下:flag{Welcome_to_Neusoft}

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