吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 35208|回复: 58
收起左侧

[.NET逆向] 【Blue原创教程】NET破解之第四课(C#的if-else分析)

  [复制链接]
Blue1845596018 发表于 2014-4-9 14:50
本帖最后由 Blue1845596018 于 2014-4-9 15:00 编辑

好了,终于要开始讲条件判断了,这次会使用第三课写的例子进行分析破解,直接进入正题
------------------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------------------------------------------

用到的工具依然是那两个,自行下载

NETReflector8.1 链接: http://pan.baidu.com/s/1c0gmOFY 密码: m6r2

reflexil1.6 链接: http://pan.baidu.com/s/1c0gmOFY 密码: m6r2

第三课的例子 链接: http://pan.baidu.com/s/1bniWSsJ 密码: nttn


------------------------------------------------------------------------------我是分割线--------------------------------------------------------------------------------------------------------------------

分析下If-else
C#中的If-else
[C#] 纯文本查看 复制代码
if (判断条件) 
     //判断条件为true(真)执行的代码
else 
     //判断条件为false(假)执行的代码


IL中的If-else
[C#] 纯文本查看 复制代码
条件为真:goto 真
假
//判断条件为false(假)执行的代码
goto 退出
真
//判断条件为true(真)执行的代码
退出


下面我们来看第三课里我们编写的实例
C#中源码
[C#] 纯文本查看 复制代码
            if (textBox1.Text == "Blue")
                
                MessageBox.Show("注册成功");

            else
                MessageBox.Show("注册失败");


IL的代码
[C#] 纯文本查看 复制代码
IL_0000:  nop
    IL_0001:  ldarg.0
    IL_0002:  ldfld      class [System.Windows.Forms]System.Windows.Forms.TextBox WindowsFormsApplication1.Form1::textBox1
    IL_0007:  callvirt   instance string [System.Windows.Forms]System.Windows.Forms.Control::get_Text()
    IL_000c:  ldstr      "Blue"
    IL_0011:  call       bool [mscorlib]System.String::op_Equality(string,
                                                                   string)
    IL_0016:  ldc.i4.0
    IL_0017:  ceq
    IL_0019:  stloc.0
    IL_001a:  ldloc.0
    IL_001b:  brtrue.s   IL_002a

    IL_001d:  ldstr      bytearray (E8 6C 8C 51 10 62 9F 52 )                         // .l.Q.b.R
    IL_0022:  call       valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string)
    IL_0027:  pop
    IL_0028:  br.s       IL_0035

    IL_002a:  ldstr      bytearray (E8 6C 8C 51 31 59 25 8D )                         // .l.Q1Y%.
    IL_002f:  call       valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string)
    IL_0034:  pop
    IL_0035:  ret



看到IL中,IL_001b: brtrue.s IL_002a,如果为TRUE跳转到IL_002a,就是注册成功的逻辑
下面开始破解这个程序
brtrue.s改brfalse.s
1.png

这个界面怎么来的。。。。。。请看第一课和第二课,如果已经看了,继续
2.png

UPDATE后保存,执行一下看看
3.png

4.png

是不是感觉有点不完美,如果我想输入Blue也是注册成功呢,好吧,我们继续想办法
回到RE
5.png

改这个我框出来的下拉列表,当前是第10行,那就让他无论条件判断是TRUE还是FALSE,都跳转到11
6.png

这样修改的话无论条件成立与否都是执行11行的
修改保存,执行看看


7.png

有人会问了,如果注册逻辑是倒的么,或者这个地方,我实际想要的是输入任意字符都是注册失败怎么办
返回RE,继续想办法
8.png

把我选中的11~14行删除的话,不就是无论TRUE和FALSE都是执行第15行了,试试看
9.png

右键删除,另存,执行
10.png

11.png

顺利搞定

这课就到这里了,大家平时需要注意的是NET的IL代码,不是随便修改的,不符合语法规范或者改得不对就会报错,执行不起来的,如何避免,只有多改多试多积累了

修改软件注册逻辑的时候,如果修改正常逻辑走不下去(大部分软件都走不下去的其实)因为正常逻辑里会对注册码进行解码换算赋值等等,这些你输的假码都是无法完成的

所以会报错,这个时候就要分析正常流程到底做了什么,有的只是把注册码写入TXT,DATA或者注册表,重启之后再验证,有的是拆解,解码,比对机器码,赋值时间等等

如果改注册不行就可以尝试用别的破解方法,初始值啊,改功能逻辑跳转等等

评分.jpg



传送门
第一课 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

点评

相当不错的教程,学习了,但你第一课的那个软件似乎改跳转(无条件跳BR,都无法实现注册成功哦.  发表于 2014-4-9 17:14

免费评分

参与人数 31吾爱币 +2 热心值 +31 收起 理由
涛的世界 + 1 + 1 谢谢@Thanks!
zhuyuanzhang110 + 1 + 1 我很赞同!
wiliam + 1 谢谢@Thanks!
lzp19890423 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
yeluosuif + 1 谢谢@Thanks!
netlius + 1 谢谢@Thanks!
panzhen + 1 我很赞同!
chaoteng2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
356987544 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
hotool + 1 我很赞同!
jacky520510 + 1 我很赞同!
Bleach + 1 很喜欢楼主的作品分享,学到很多噢~!谢谢.
wogeshange + 1 我很赞同!
wanxia + 1 谢谢@Thanks!
浮华若梦 + 1 谢谢@Thanks!
冰尘 + 1 谢谢@Thanks!
blmszster + 1 我很赞同!
kuqideyanlei + 1 我很赞同!
swater07 + 1 我很赞同!
currwin + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
jacklymin + 1 谢谢@Thanks!
lwangqinger + 1 继续学习中!
周卫国 + 1 谢谢@Thanks!
chaojiak47 + 1 跟着大神学.net
q2234037172 + 1 谢谢@Thanks!
小范 + 1 我很赞同!
Shark恒 + 1 我很赞同!
hgehsh + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
拓海真一 + 1 头像大爱 ^_^
dry + 1 我很赞同!
show00p + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
show00p 发表于 2014-4-9 15:02
提示: 作者被禁止或删除 内容自动屏蔽
star0angel 发表于 2014-4-9 15:12
 楼主| Blue1845596018 发表于 2014-4-9 15:14
show00p 发表于 2014-4-9 15:02
占你1楼了额  我认得你额 去年没进吾爱 就认识你了 额

= =真的假的,我很低调的啊,不仅菜而且懒,为了写教程特地去学习
头像被屏蔽
show00p 发表于 2014-4-9 15:16
提示: 作者被禁止或删除 内容自动屏蔽
┣▇▇▇═─ 发表于 2014-4-9 15:34
这个收了,好东西。。。
4148886 发表于 2014-4-9 15:38
来学习了,期待更多教程
wzywrs 发表于 2014-4-9 19:37
这个已经学会啦,快点更新啊
微山湖大草鱼 发表于 2014-4-9 19:37
我也认得你!哈哈
lwangqinger 发表于 2014-4-9 21:26
继续学习中!老师每一期给我们留下作业吧
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 18:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表