第一题
程序没有壳,没有反调试。基本属于初级逆向,当然自己也没有多高水平,又总想偷懒。言归正传,直接在getdlgtext上下断,其实程序本上比较小,又没有对资源进行加密,在主程序里走两步就到了error 和success的提示上。

004012CF上是判断输入长度,限制为4个字符。

然后进行了一系列的字符串判断


我们把输入的四位数字的ascii十进制分别设为cn1,cn2,cn3,cn4;原字符设为n1,n2,n3,n4。
这里直接用IDA反编译功能把附近的代码重编译一下,嘿嘿超级省事,前后用了半小时就搞定了。其实在olldbg中卡了一会儿,有几个寄存器不熟悉,什么st啊什么的.
这玩意以前还真没注意过,关键它还有几个特殊的对应的操作符。网上资料还不完整,干脆不管了。通过od与ida的对比很容易把参数对应起来,最终解的n1=1;n2=5;
满足这个方程的十进制数很容易找到,n3=n4=5。最后得到字符串1555;输入验证ok成功。
[培训]科锐逆向工程师培训第53期2025年7月8日开班!