jmzhwf 发表于 2008-10-29 23:20

【云之深处】之暴破练习

http://www.brsbox.com/filebox/down/fc/61cbf68bd575606b2574248272f5fe00

大家好我们是“云之深处”

刚刚看了“小生”的一个小教程。。。。感觉非常不错。。。。特别是在INI处找有用信息。。

嗯。。。。学习了。。。

下面我也借这个小练习给大家做个小动画。。。权当是给新手入门吧。。。

下面开始。。。

同样没有提示。。。。

运行程序。。。

不好意思刚才断点没有清。。。

重新来吧。。

这里有一大堆跳。。。。我们先下断。。。看看是哪一个,。


来到一个没有提示的地方。。。。我们不用理它。。。关键我们是要知道这里是错误的就行了。。。

现在我们看看它是从什么地方跳来的。。

00402A70 . /0F85 83010000 JNZ Unhurrie.00402BF9

这里跳向了“死亡”我们下好断再来过看看。。。。我们不让它跳这里改反。。。

寄存器出现假码。。。向下走走看吧。。

00402A9A .E8 014B0000 CALL <JMP.&MFC42.#800>

这个CALL出现了真码。。。。应该是算法CALL我们就不进了~~以后大家研究算法时再说吧。。

堆栈 SS:=003A3AF0, (ASCII "CRGTE-DFNSV-N7DUA-ENUVY")
ECX=003A3AE4

这个应该就是真码了。。但我们不去试它。。。

继续向下。。。

00402AAB .FF15 24934000 CALL DWORD PTR DS:[<&MSVCRT._mbscmp>]; \_mbscmp

mbscmp明显的一个比较函数。。。。、、、

这里就是真假码比较了。。。那么下面一定就是关键跳了。。。。

00402AB6 . /0F85 9E010000 JNZ Unhurrie.00402C5A

这里大家说能跳吗。。。。呵呵。。。。

下面开始向注册表写东西了~~~~

我们不用跟了吧~~~运行起来

嗯~~~又来到了我们刚才下的断点了。。。。又出错了。。。呵呵。。。

不会的。。。这个东东真假都调用了一个CALL

OK

成功。。。。。。

CRGTE-DFNSV-N7DUA-ENUVY

这个东西留给大家自己试试吧。。。

88



+++++++++++++++++++++++++++++++++++++



更正一下动画中提到的算法CALL是不对的

应该是这个

00402A7E .E8 1D020000 CALL Unhurrie.00402CA0 ;算法CALL

是对用户名逐位进行的浮点运算

而最早期的错误跳转对用户输入假码与真码的位数进行比较

00402A6C .837A F8 17CMP DWORD PTR DS:,17;真码位数与假码进行比较

注意这里的17不是我们一般理解的17而十六进制的。既23

jmzhwf 发表于 2008-10-31 01:24

为什么没有人理呢~~~~

唉~~~~

做个动画不容易。。。

要是觉得没有什么技术含量

哪怕给扣个分也行啊

jiayinsong 发表于 2008-12-11 15:22

我来顶了。。也学习了!

dzxiaojie 发表于 2008-12-18 00:32

我来顶了。。也学习了

a2213572 发表于 2009-7-26 21:58

我來下載學習大大的教學.
页: [1]
查看完整版本: 【云之深处】之暴破练习