扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
破解的是《加密与解密第三版》中的traceme.exe,下载地址将会在最后给出。
创新互联公司专注于成都做网站、成都网站建设、网页设计、网站制作、网站开发。公司秉持“客户至上,用心服务”的宗旨,从客户的利益和观点出发,让客户在网络营销中找到自己的驻足之地。尊重和关怀每一位客户,用严谨的态度对待客户,用专业的服务创造价值,成为客户值得信赖的朋友,为客户解除后顾之忧。这个是软件的主界面,软件的主要流程是,当按下check后,会读取用户名和序列号的内容,然后检查用户名是否超过五位,不超过则弹框报错。超过后,会读入用户名和序列号。会根据用户名生成正确的序列号,然后用正确的序列号和输入框内的序列号做对比,如果内容一致则显示成功。如果不一致,则显示再试一次。
首先用ollydbg打开traceme。根据教程上说的,这种读取输入框内内容的exe通常用到user32.dll的GetDlgItemTextA方法。所以使用Ctrl+G调出窗口
输入要跟踪的表达式中输入GetDlgItemTextA并且在user32.dll中找到它的代码段
左上角的红色代表我已经在GetDlgItemTextA处设置了断点,一旦程序运行了GetDlgItemTextA,就会停下来。接下来就开始运行exe程序了。
序列号我是瞎输的,然后按check开始检验。果不其然就停在了75e66b36处。然后就可以不停的按F7键,
直到这边,可以看到call命令已经运行了两次GetDlgItemTextA,可以判断程序已经将输入框中的用户名和序列号读取了,接下来可以猜测test方法就是在比对序列号。不过结果不是我现象的那样。test方法下面有一个je的跳转。我点击了它。
立即出现了一个红色的箭头,这个箭头一直通向
原来是检查用户名字符的数目的,那么就继续找下去。
第一个箭头是我刚刚看的第一个箭头,第二个箭头又是一个test的方法,我看看它跳转到哪里去了,
嗯没错这个跳转到的地址显示的是序列号错误,说明这个地方的test是判断的序列号是否正确,错误就跳转到序列号错误部分,如果不跳转呢?
不跳转显示的是成功,那么就把这个跳转涂掉试试看。右键
没错,我成功了,这个就是传说中的爆破。它让判断失败失败后依旧运行成功的结果。不过这样无论输入什么结果都是成功的。可以在这个地方右键,选择菜单中的“复制到可执行文件”,然后选择“所有修改”。在弹出的新窗口中,保存文件。
生成了新的traceme.exe,这个exe不管输入什么序列号都是成功的。
当然也可以不掉过使用F8继续运行程序,观察现象,直到这个地方。
在右边有一个明显是我输入的序列号的地方,而上面还有一个2360,并且使用了一个叫做lstrcmpA的方法去使用了这两个参数。这个可以猜测是真的序列号和输入的验证号比对的一个过程。
很明显这个lstrcmpA用了一个叫做CompareStringA的方法,它们确实是在比较是否一致。
可以在程序正常打开的情况下,试着输入admin和序列号2360
这个是在程序运算的时候,在内存中看到这正确的答案。
当然还有一种方法是根据汇编代码来逆推出根据用户名生成序列号的方法,不过这个目前我还没研究出来。
traceme.exe的下载地址:https://u19693866.ctfile.com/fs/19693866-388338607
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流