main:
其中if判断中IsDebuggerPresent()函数作用
检测是否被调试,被调试返回1,没有被调试返回0
直接运行时弹窗flag是乱码,对应if里的第12行
if外debugbreak()作用:暂停程序执行,进入调试模式
动态调试
不知道为啥debug调试还是会进if里
找到messageboxa函数
上下两个messageboxa函数,正常运行直接跳过了第一个,执行第二个
要执行一下if外的401000函数,它在debugbreak()函数下面,对应汇编int3断点下面的call 0453d212.00871000,
取消跳转让其执行这个call,执行第一个messageboxa函数
显然不行,修改跳转到第二个messageboxa,(也可以不跳转,在执行过call后直接跟随eax的地址查看数据,因为第二个messageboxa输出的值是eax的东西吧)