net编程入门教程 (net教程完整版)

如果你之前有学过逆向或者看过Shark恒的零基础破解教程,你可能会对我写的教程有一种亲切感,我尽量仿照Shark恒的教程去写这个系列,以便于提高可读性,更便于你从OllyDbg过度到dnSpy的应用。

开始零基础破解图文系列教程

介绍一下这个软件吧,我写的一个简单的软件,方便初学者学习,容易理解。

程序需要输入正确的帐号和密码才可以登录成功,否则登录失败。

可是我们不知道正确的帐号密码。(也可以理解成是其他软件注册码)

net教程完整版,net新手入门教程

既然他能提示登录成功与登录失败(或某些软件提示注册码错误),就说明他有一个判断,我们来打开dnSpy-x86*ex.e**,将要破解的软件拖入dnSpy,通过修改让他判断所有字符都是成功。

(由于是初级零基础入门级教程,所以不涉及“各种壳”、“暗桩”等等系列干扰新手的元素)

在左上角窗口右键,选择编辑->搜索程序集,在下图的搜索框输入“登录失败”,选择搜索“数字/字符串”,找到结果后,我们双击搜索到的结果。

net教程完整版,net新手入门教程

我们可以看到代码跳转到了判断处,和OllyDbg,又或者是x64Dbg相比,dnSpy这种直接让我们看到源代码的可视化操作就非常的人性化,你只要能略微读懂.Net的代码,即可完成其逆向过程。

现在我们看这段代码,如下图:

net教程完整版,net新手入门教程

按钮按下后,如果textBox1(账号)的内容长度为-1,则弹出登陆成功的提示框,否则弹出登陆失败的提示框。

但实际上如果你接触过编程,你就发现这是个错误的判断,因为当编辑框不填写内容的时候,内容长度为0,填写文本后,长度为文本长度。所以它的长度永远不会为-1。

那么现在我们要改变这个判断逻辑,让它不等于-1的时候,弹出登陆成功,否则弹出登陆失败的提示框。

在21行处右键,选择编辑方法

net教程完整版,net新手入门教程

将13行的判断进行修改,让其不等于-1

net教程完整版,net新手入门教程

注意: ==为等于,!=为不等于,代码,包括标点符号均需要在非中文输入法下输入

修改好后我们点击编译,即可看到如下图中,代码已经被更改了

net教程完整版,net新手入门教程

选择文件->全部保存->确定

net教程完整版,net新手入门教程

最后,我们来打开刚才保存出来的新程序(也就是我们破解后的程序),是不是真的被破解了?

任意输入,或者不输入文字,均会提示登陆成功,恭喜,成功破解!

net教程完整版,net新手入门教程

怎么样?

现在是不是觉得破解就是如此简单?

有没有信心深入破解?