前言
偶然发现某宝某商家卖盗版游戏还私自给上自己的激活码验证,于是就分析分析看看是怎么个验证:
.NET逆向分析验证逻辑
首先查看程序是啥语言写的:
dotNET程序,好家伙,可以直接看源码,使用dnSpy打开,可以看到这里有个很明显的类:JiHuoA(激活)
点进去之后,又有一个很明显的方法:立即激活哈哈哈哈
点进去,调试:
可以看到明显有3个if判断,下断点,调试,发现第一个flag在不管输入啥的时候都是true,就不管了,看flag2
在胡乱输入的时候,falg2是false,进入false分支就是返回退出了,所以这里flag2应该是true才行
flag2是true 的条件很明显,就是当我们的输入(JiHuo.tt1)为固定值(256448或者768843)的时候则进入true分支
然后flag3是验证一个文件是否存在,不存在就去释放出来,存在就跳转去去下一个页面,这个文件是用来启动游戏用的:
总之,这里的验证逻辑是,如果激活码输入正确,那么启动器文件将被释放,游戏可以启动。如果激活码输入错误且没有发起人,游戏将无法启动,验证激活码是最基本的If判断
这里的YeMian1.z是个固定值,看起来应该就是为了方便商家针对不同游戏进行修改用的
总结
像这种验证逻辑简直就是小白学破解第一课的水平哈哈哈哈哈哈,就这,还要卖激活码,牛的