【Blue原创教程】NET破解之第一课(初始化赋值修改)
本帖最后由 Blue1845596018 于 2014-4-9 15:02 编辑有NET软件包(发我百度网盘地址)或者有NET软件官网的论坛短消息我,收集下后续课程的素材
------------------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------------------------------------------
最近来问我如何破解NET的人比较多,所以打算做一系列的新手教程,仅仅帮助大家入门而已,之后的造诣就看个人了
其实NET的教程论坛搜索一下NET的关键字已经很多了,写得很好很详细啊都,我也是这么看教程入门的罢了(现在依然在入门阶段),为什么没人看呢,为什么不善用搜索呢
好了,没有那么多为什么,就是懒吧,想来懒的人也不会看我的教程,依然是不会破解的,找人问,谁有时间会手把手教你呢,想学习就靠自己努力呗,真心不难的,只要愿意学
------------------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------------------------------------------
废话结束,开始第一课基础教程,本打算简单介绍一下NET和普通语言的不同,不过想了下,开始就介绍这些枯燥的东西会弄得大家都没有破解的兴趣了,留到以后教程中穿插吧
第一课还是直接实战动手成功破解一个吧,有了信心和动力,枯燥的理论就没那么难以看下去了,第一课会相对比较详细,之后的课程简单的步骤会直接文字略过,不再截图
因为是新手教程,这趟课的工具只需要NETReflector8.1和插件reflexil1.6,最新的应该是8.3和1.7了
NETReflector8.1 链接: http://pan.baidu.com/s/1c0gmOFY 密码: m6r2
reflexil1.6 链接: http://pan.baidu.com/s/1c0gmOFY 密码: m6r2
练手软件(原版和破解版) 链接: http://pan.baidu.com/s/1eQiQA3o 密码: xfhp
------------------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------------------------------------------
先打开软件执行一下,看一下未注册的样子
未注册只能三条记录,好的,我们打开我们的工具NETReflector(以后简称RE),打开界面如图
随便选择一个.net framework加载就行了
加载后打开我们的程序,我们的程序加载的样子
此时可以界面点击搜索或者快捷键F3,搜索关键字符串(和OD爆破很像吧,也可以找字符串,而且找到字符串以后比OD更容易找到关键跳,对于一般的NET软件来说)
选第三个是搜索字符串
点击结果查看一下代码
此处注意框中的IF判断条件,如果registered为TRUE,则取消注册按钮,并替换未注册的字符串,再看看别的
这个一看就是注册逻辑,看看注册成功后的程序执行了什么操作,核心的就是把this.prtForm.registered = true;
把REGISTERED赋值TRUE,此处可以改跳转逻辑让异常的注册码也注册成功,不过这次不用这个方法,我们点击REGISTERED,点进去
然后快捷键按CTRL+R或者界面点击,查看哪些地方申明了这个REGISTERED
此处可以看到初始化赋值这个REGISTERED为FALSE,那修改一下初始化为TRUE是不是就可以了呢,我们来尝试一下,选择插件,第一次需要点ADD-INS,选择插件加载,以后就会在插件列表中看到,直接选用就可以了
IL代码中进行修改,ldc.i4.0对应FALSE,要修改为TRUE,改为ldc.i4.1即可
修改完成后UPDATE,然后保存一下
保存后执行一下看看效果
没有限制了,完成,是不是挺简单的?
有问题留言吧
传送门
第一课 http://www.52pojie.cn/thread-248348-1-1.html
第二课 http://www.52pojie.cn/thread-249034-1-1.html
第三课 http://www.52pojie.cn/thread-250626-1-1.html
第四课 http://www.52pojie.cn/thread-250633-1-1.html
qiaobochao 发表于 2014-4-1 09:06
为啥ldc.i4.0代表falseldc.i4.1就代表true呢
ldc.i4.0 是0ldc.i4.1是1
标志位的值为0就是false,值为1就是true 本帖最后由 杭州浪子 于 2014-5-23 21:20 编辑
大家好,我是新手,我跟着这篇文章学习了一边,有几个问题问下,希望知道的大神指教下!
问题一:根据什么原理知道淘宝采集软件用NETReflector8来破解?
问题二:怎么知道有没有加壳呢?难道加壳也能用NETReflector8软件来反调试?
问题三:reflexil.1.6这个插件是干嘛用的?
问题四:为什么要修改成ldc.i4.0的值,而不是stfld的值?还有为什么改成ldc.i4.1就可以是true了?
关于问题四,我分析了下
看Opcode这一列,ldrag.0猜测是每行分隔标记
第0行为ldrag.0
第1行为ldc.i4.0
第2行为registered变量
第3行为ldrag.0
这个语法我猜想是 ldc.i4.0的值赋值给registered。这里我对照上下文,猜测ldc.i4.0是false,但是true是哪个值还得看下文,幸好下文有true的Opcode值。
看第16行和第17行,对应上下文bool_0=true这句话,那么ldc.i4.0应该就是true了,所以要这样修改,不知道我这样理解对不对?
大神,今天火警还更新不 大大,更新一下今天的火警呀~~ 感谢分享了!! 好强大。顶你继续更新就好 厉害,正好适合我这样的菜鸟啊 哈哈 完全看不懂求视频 我也来学习一下啊,菜鸟的我爱学习 进来学习了 支持LZ此教程太适合新手了