纯C++编写 无花无壳给新手练习能秒破的CM For Two
本帖最后由 Poner 于 2017-3-28 18:22 编辑如题 For Two
第一版感觉太小学生了对不?第二版稍微增加点难度 至少得初中生才能玩的动吧 本帖最后由 xh5510 于 2017-3-28 19:41 编辑
实在不会了,望指点一下;
输入真码的时候只会读取前两位,而属于假码的时候却会全部读取,是必须要改流程呢还是说有一个暗桩呢
老哥,你这个CM应该是有点bug,必须要更改下流程,真码是不会成功的,因为你是靠读取空格来判断输入内容,所以再输入真码My World!的时候默认认为只输入了My,所以上面我截图部分判断的时候就会变成错误的密码,只能把sub eax,edx改为sub eax,eax,让他把密码部分强制成功才能出现done!
不知道我分析的对不对,望指点!
凉游浅笔深画眉 发表于 2017-3-28 20:24
Poner
My World!
其实我解完CM For One后,我最好奇最感兴趣的就是作者的输入输出处理。
我刚开始也猜测是cin、cout处理输入输出的,但如果是这样,我想OD应该是能标识的。
再后来为了满足自己的好奇心,我就一个一个函数跟了进去,发现作者好像是用ReadFile和WriteFile处理输入输出的,
当然也有可能是cin和cout用到了ReadFile和WriteFile函数,不知道我的推测是否正确,@Poner。 这样吗 这个可以有 Poner
My World!
建议:
char a;
cin>>a;
改
cin.getline(a,20); 进来学习一下,但是好像看不懂!!! 看到咱俩一个水平的写的程序,我也就放心了 1的也别删啊,我还没试过1呢 围观,路过学习了 谢谢楼主分享