kn0sky 发表于 2022-5-3 16:06

记一次简单的dotnet逆向



## 前言

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



## .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是个固定值,看起来应该就是为了方便商家针对不同游戏进行修改用的

## 总结

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

kn0sky 发表于 2022-5-3 21:05

ykeithou 发表于 2022-5-3 19:36
這個只要拖在ida尋找字符串就會有了,會有數字顯示

还真是哈哈哈哈,才注意到,感谢师傅提醒

_默默_ 发表于 2022-5-3 16:10

牛哇牛哇

yamakazedesu 发表于 2022-5-3 16:27

学习到了!!求大佬多多更新!!!

shuaier 发表于 2022-5-3 17:01

牛叉了,大哥!

落红护花 发表于 2022-5-3 17:39

能否发一下原程序?练一下手?

XiaoZouYu 发表于 2022-5-3 17:48

强啊,跟着学习:Dweeqw

wasdzjh 发表于 2022-5-3 17:49

能否练个手。锻炼一下。

sohoLi 发表于 2022-5-3 18:47

某宝大佬骚操作

ykeithou 发表于 2022-5-3 19:36

這個只要拖在ida尋找字符串就會有了,會有數字顯示
页: [1] 2
查看完整版本: 记一次简单的dotnet逆向