1、查壳
2、载入IDA,查看字符串,发现提示信息
3、根据字符串进入函数 DialogFunc_0
4、这里即是main函数起始处
5、 我们输入的字符串会存储到 String 中,String 在内存的相对位置为 -104h
6、首先判断 String 的长度是否为 6,根据上一步可知 String 的后三位会溢出到var_101,var_100,var_FF 中
之后依次运行 1~4,可以得到正确输出
1--因为溢出三位到其余变量中,var_108 存储的为 String 前三位字符的值,加一后判断是否为 123,即 String 前三位为122
2--var_101 为 x
3--var_FF 为 z
4--var_100 为 y
7、将上述值组装起来便能得到我们输入的为 122xyz 时,会得到正确结果。
原文:https://www.cnblogs.com/Tsuiyields/p/13704872.html