萌新的初次破解——一个简单的MFC机器码/注册码验证机制
本帖最后由 bb8820 于 2019-10-23 17:12 编辑受人之托,拿到了一个小程序:
放到PEid里看一下。
看样子是MFC写的,这个小程序6MB大小,估计是用的MFC静态库,分析代码可能有点不好看。
点击注册按钮,可以看到这样一个提示框
那就搜这段话好了。
可是,作为小白,ida里面我怎么设置都搜不出来MessageBox里面的中文,其他的倒是可以...希望大佬们多多指教
所以,我就用了比较笨的方法,搜unicode码,大致看了一下,“错误”这两个词应该是只在这里出现的,那就先搜误这个字吧。
Alt+I分别搜立即数0x8b和0xef,顺序应该是地址X:0xef,X+1:0x8b,在结果的.rdata里面找一找,果然找到了一个这样的地址。
跳转过去
这里就很简单了,大致分析一下
把43c6b5处的jnz换成jz或者nop nop应该就能达到破解的效果,用od试试(这个程序应该有个线程在搜索什么的,搞了个1G多的大数组,我的破电脑快被他撑满了...)
找到位置:
替换成nop,点注册按钮,OK~
保存成exe就ok了
用注册表快照可以看到他把正确的注册码保存到了注册表里
(完)
Poner 发表于 2019-10-23 19:12
虽然字符串大法很陋虽然楼主没给分析他的注册算法但介于楼主是新手这里还是给予优秀文章的评价鼓励楼 ...
0efn是什么编码 错误两字用什么编码可以找到 虽然字符串大法很陋虽然楼主没给分析他的注册算法但介于楼主是新手这里还是给予优秀文章的评价鼓励楼主能更努力的学习
希望后续还能看到更好的破文! 支持支持 看样子是MFC的?通过PEID能看出来吗? 厉害啊,学习学习。 感谢分享 不错,还可以,多学学努努力 你不是萌新 支持原创 加油