某串口调试助手破解,新人,求轻喷
本帖最后由 wyjstar 于 2015-12-14 18:25 编辑这几天在调一块板子,原先用的串口调试助手老是崩溃,就去网上随便下了个。
下载之后发现这个软件是共享版,30天License过期之后每次启动会弹框框提示注册
点击随后注册虽然可以继续用,但总是觉得不爽,于是去网上找破解版,发现貌似破解很少,有破解也不是最新版的。
看来还得自己动手丰衣足食。
首先用OD载入:
一开始思路是破解Add Lic这里,结果找到跳转点并修改之后发现随便输个License能改变License那里的值,并不会改变剩余时间,到期后还是会提示注册。
既然License值可以改变并且可以被记录,那么一定在那个地方存储着,于是在软件安装目录、AppData等目录找了一通,发现并没有文件。于是把目光转向注册表,一搜索,果然有发现。
http://a4.qpic.cn/psb?/36c64bbe-09cd-485f-b39d-50e5275992fe/UoCWJNBDqbhnkUtVJlseUyGaBUm10MUpHMSqMkaNUNk!/b/dFsBAAAAAAAA&ek=1&kp=1&pt=0&bo=ywIbAAAAAAAFAPE!&t=5&su=0251331825&sce=0-12-12&rf=2-9
这个路径下找到了该软件的注册表项
仔细观察,发现上面那些项是软件的一些设置,下面ValueC、ValueD、ValueK、ValueT、ValueV才是跟软件注册相关的内容。很明显,ValueK的值就是注册码的值,而ValueD是二进制值,比较可以,具体内容如下:
经过几次实验,发现0x0000到0x001d为固定值,改变0x001e与0x0020的值会影响上面注册框那里显示的剩余时间改变,然而这并没有什么卵用,超过实际剩余时间还是会提示注册;改变0x0022位置的值会让软件崩溃;而ValueT、ValueV意义不明 。
最终把目光停在了ValueC,多次实验发现ValueC的值就是软件启动次数的计数。尝试把它改为0的时候奇迹出现了,再次打开软件后发现生成一个新的30天试用License,到期时间是运行软件的时间往后推30天。进一步研究发现,此软件运行的时候,如果发现注册表对应位置没有ValueC,或者ValueC的值为0的时候,认为该软件是第一次运行,会生成一个30天试用License;在软件关闭的时候,对ValueC的值+1。
至此,我们破解这个软件的思路就很清晰了,只要不让这个软件对ValueC值执行+1操作就行了,每次打开软件都生成一个新的30天试用License就可以了。
回到OD,载入程序,执行中文搜索,发现两处ValueC,
修改汇编代码,如下图
保存修改到exe文件,进行测试,OK。
本人新手,这次破解多少有点巧合的成分在里面,望老鸟轻喷
破解版传到百度网盘了,有需要可以下载。链接:http://pan.baidu.com/s/1boesFBD 密码:2jv9
还是让本哥来告诉你什么是运气把
小哥我直接用OD载入突然发现这个跳转很可疑:
00401523 /74 29 je short SerialPo.0040154E
于是改为跳过然后程序好像崩溃了 然后本哥直接打开程序就是注册版了。。前后操作不超过10秒时间搞定。。。
懒得去删注册表信息重新玩了 真没意思浪费哥的时间了。。。你可能会问小哥为何这么6呢 我想可能是我比较任性把?{:1_918:}
哇哦,不错,看得比较透彻 新手 入门第一篇技术文章 优秀处理。 膜拜看得懂英文的!!! 感谢楼主的文章
用楼主的方法,看了下,软件自己可以算注册码,可以搜常量,0x1e(也就是10进制的30,有效天数),猜测这个是生成Key时用的,果然找到了
0040A8CA C74424 04 1E000>mov dword ptr ss:,0x1E
这里把0x1E改成你自己想要的天数就可以生成不同的Key,算法看不懂,这里是软件设计的失败之处吧,也可以说是作者给我们留下的后门,啧啧
串口调试助手 ,这个以前也经常用 wgz001 发表于 2015-12-15 09:29
感谢楼主的文章
用楼主的方法,看了下,软件自己可以算注册码,可以搜常量,0x1e(也就是10进制的30,有 ...
感谢大牛,又提供了一种破解思路,这个方法我倒是没有想过,看来多多发帖交流很必要啊{:1_921:} 这个追踪注册码的思路很不错,学习了
页:
[1]
2