selph
selph
发布于 2022-05-03 / 373 阅读
0
0

记一次简单的dotnet逆向

前言

偶然发现某宝某商家卖盗版游戏还私自给上自己的激活码验证,于是就分析分析看看是怎么个验证:

image.png

.NET逆向分析验证逻辑

首先查看程序是啥语言写的:

image.png

dotNET程序,好家伙,可以直接看源码,使用dnSpy打开,可以看到这里有个很明显的类:JiHuoA(激活)

image.png

点进去之后,又有一个很明显的方法:立即激活哈哈哈哈

image.png

点进去,调试:

image.png

可以看到明显有3个if判断,下断点,调试,发现第一个flag在不管输入啥的时候都是true,就不管了,看flag2

image.png

在胡乱输入的时候,falg2是false,进入false分支就是返回退出了,所以这里flag2应该是true才行

flag2是true 的条件很明显,就是当我们的输入(JiHuo.tt1)为固定值(256448或者768843)的时候则进入true分支

然后flag3是验证一个文件是否存在,不存在就去释放出来,存在就跳转去去下一个页面,这个文件是用来启动游戏用的:

image.png

综上可以看出,这里的验证逻辑就是,输入激活码正确了,就释放启动器文件,允许启动游戏,如果输入激活码错误了,没有启动器,也就没法启动游戏,而验证激活码则是最基础最基础的if判断

这里的YeMian1.z是个固定值,看起来应该就是为了方便商家针对不同游戏进行修改用的

总结

像这种验证逻辑简直就是小白学破解第一课的水平哈哈哈哈哈哈,就这,还要卖激活码,牛的


评论