TXXXXX Software XXXXX Keygen 算法分析
本帖最后由 云在天 于 2019-6-7 13:07 编辑0x00 Tangible Software Solutions 系列
网址:https://www.tangiblesoftwaresolutions.com/
不知道为啥 还真卖那么多刀……
0x01 dnspy 调试
搜字符串吧
嗯 妥妥的 动态调试一遍就知道text是Registration code
order number要大于9400,小于30000
if (App._g32(text))
只有这里对注册码进行判断,跟进去
前面都是查看注册码是否为ban掉的假码
Copyright_Tangible_Software_Solutions_g1525这里面就是对注册码进行判断了
为什么注册码的命名那么长,搞得一进来还以为干啥呢……
这里就可以慢慢分析了
首先注册码为15位
前五位为数字+两位大写字母+三位数字+三位大写字母+两位数字
对注册码进行的判断主要有三处:
1.注册码的第四位和第五位为一组(str)
注册码的第八位和第九位为一组(str1)
注册码第一位和第十五位为一组(str2)
对以上三组(str,str1,str2)要使得下面的判断返回true
现在就要先弄出来哪些二位数是符合这个函数的条件的
拷贝代码,用vs跑一下算了……
直接得出"23","29","31","37","41","43","47","53","59","61","67","71","73","79","83","89","97"
所以str、str1、str2三组数只能是以上这些数字
2.注册码第一位>第二位>第三位;第十五位>第十四位
3.注册码第十位数为偶数(这个最简单了)
注册算法的验证只对数字进行判断,大写字母随便选
0x03 Keygen
就这样捡到了
0x04 后记
@boyulin 大佬发过成品,我在此是以前向boyulin学习的后续
想要成品的 善用论坛搜索吧 看完上面的分析,即使不会写keygen,也可以手算一个出来{:301_1003:} 纠正一下 :
原文中 【拷贝代码,用vs跑一下算了……
直接得出"23","29","31","37","41","43","47","53","59","61","67","71","73","79","83","89","97" 】
这个代码就是求 100 以内的质数(素数),符合条件的漏掉了 “13” “17” “19” 冥界3大法王 发表于 2018-9-13 08:45
@青春丿易逝
牛逼~~基础好才能驾驭高段符术~~
我也是很水的啊…… 刚好这软件也没壳{:1_907:} 膜拜大佬,开发商十有八九会气哭 艾莉希雅 发表于 2018-9-13 01:31
膜拜大佬,开发商十有八九会气哭
怎么会被气哭呢 都是歪果仁的东西 再说了吾爱早就有成品了{:1_918:} 感谢发布原创作品,吾爱破解论坛因你更精彩! @青春丿易逝
牛逼~~基础好才能驾驭高段符术~~ 不明觉厉,顶 大佬,好文章 看不懂呀。