发现王:发现生活点滴!

软件应用

当前位置:首页 > 文苑资讯 > 软件应用

.Net零基础逆向教程 第七课(千变万化)

        随着最近的几节课学习,那么我想大家已经有了一定的心得了。

        怎么逆向呢?首先你得脱壳,然后你要去找到注册机制的验证机制,找到了它怎么验证的,这个软件我们就能搞定逆向了。

        那么在之前的课里我们都是根据一定的特征去找到验证机制的,今天我们来学习下,怎么从一个没有弹窗的软件里找出关键位置。


.Net零基础逆向教程 第七课(千变万化)


        这是我写的一个小软件,中间这个数字会一直变啊变啊变啊变……我们此次的目的是让这个数字不要再变了。

        查壳,没壳,丢到 dnSpy 里走一波。

        因为没有啥太好的思路,所以直接 F5 让它跑起来。


.Net零基础逆向教程 第七课(千变万化)


        既然变化发生在这个窗口,那么我们不妨在这里中断,看一下它的调用堆栈。


.Net零基础逆向教程 第七课(千变万化)


        堆栈里从 Main 方法开始就调用了系统的各种 dll,看起来我们只能从 Main 入手了,双击进入。


.Net零基础逆向教程 第七课(千变万化)


        在这里我们能看到一个对窗口的初始化,说明这个程序在运行后显示了 Form1 窗口。

        点击 Form1,我们能找到这个窗口的初始化信息。


.Net零基础逆向教程 第七课(千变万化)


        点击 InitializeComponent 方法,看一下这个窗口有哪些元素。


.Net零基础逆向教程 第七课(千变万化)


        如上图,引起我们注意的有两个元素,一个是 500 毫秒执行一次的 Timer1(时钟 1),另一个是一个 label2(标签 2)

        那么我们大概能猜到,是时钟 1 每隔 500 毫秒改变了一次标签 2 的内容。

        为了验证我们这个想法,我在 39 行的 label2 上点击右键 -> 分析

        在下方的分析器里,我们可以找到它的一些分析内容


.Net零基础逆向教程 第七课(千变万化)


        双击跟进 Timer1_Tick 去看看


.Net零基础逆向教程 第七课(千变万化)


        发现这个方法里写了对 label2 的 Text 属性和 ForeColor 属性的修改。

        右键编辑方法,把不需要的语句注释掉


.Net零基础逆向教程 第七课(千变万化)


        编译,保存。


.Net零基础逆向教程 第七课(千变万化)


        课后作业是,想想明明 laber2 被赋值了文本内容和颜色,但为什么我们在被赋值里找不到它而是在被读取里找到了?


        本章课件第七课:https://www.lanzous.com/i3r1yuf


        感谢本文作者:慕若曦


文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

评论排行榜