能力值:
( LV13,RANK:420 )
|
-
-
2 楼
恭喜,不过你的OD好奇怪,界面咋那个色的啊
|
能力值:
(RANK:260 )
|
-
-
3 楼
看得真仔细。
不是OD的颜色奇怪,我把系统的颜色改了,所有对话框和窗口都是这个颜色。亮白色太刺眼,我改个柔和一些的。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
非常好,非常好.
|
能力值:
(RANK:300 )
|
-
-
5 楼
我是发现了,书呆子继笨笨雄大后的可能成为逆向教父又一人选
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
啊啊啊啊,就是要这样的文章啊,
照顾初学者的感觉
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
谢谢,我觉得对我这样的初学者非常有参考价值,我有个疑问,我照着你写的的内容,练习了第一个Pusillus的例子,我用自己习惯的字符串查找,也看到了几个关键的ASCII:
push 00403022 ASCII "Bad Serial, Sorry!"
这个我自己觉得是个关键点,F2下断,随便输入123456789就断下了,仔细分析了一下算法,大体内容如下:
1。取前8个输入有效ASCII字符,把每一位与32异或,结果保存;
2。把保存下来的8个值,两两异或,变为4个,保存;
3。把保存下来的4个结果异或,变为2个,保存;
4。把保存下来的2个结果异或,保存在AL中;
5。取第一步保存的8个结果,每一个都与AL异或在保存;
6。将保存的结果与【403008】处的8个值,一位一位地比较,一旦不同,就跳转到显示错误信息
【403008】处的值为:71 18 59 1B 79 42 45 4C,我现在不知如何进行逆运算找到真正的注册码;
用了自己的方法后,在看你的介绍,我参考OD教程的做法,在主窗口右键-->查找-->当前模块的名称,随后看到了如下的内容:
0040200C 区段=.rdata 输入 USER32.GetDlgItemTextA
我用F2下断,此时0040200C颜色变红,表示下断成功,F9运行,可是却出现了错误:不知如何运行,因为内存地址0000000A不可读,请尝试更改EIP或忽略异常。
这是为什么呢?
取消该断点,然后查找所有模块中的名称,找到了:
77D6B05E USER32 区段=.text 输出 GetDlgItemTextA
7D591F1C SHELL32 区段=.text 输入 USER32.GetDlgItemTextA
用F2下断,但是77D6B05E,7D591F1C颜色没有变红啊,可是在断点中却可以看到已经对这两处下了,为什么会这样呢?
F9执行,还是出现:在SHELL中出现几个损坏的断点,。。。。。。
删除7D591F1C断点后正常,这是为什么呢?
|
能力值:
(RANK:260 )
|
-
-
8 楼
|
能力值:
( LV13,RANK:290 )
|
-
-
9 楼
赞一个,学习了。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
我本就是那种死守字串的初学者啊……
在若干次碰壁后也开始学习分析代码了
如此好文怎么能不感谢一下!
另外事实是,大多数新手一上来就是强壳或者各种各样的陷阱,
死在里面的无数啊,
能够让大家练习API和分析断点的例子,大概只有去crack自己编写个理想化的程序或教学程序了。
这样理解才更透彻。
|
能力值:
(RANK:260 )
|
-
-
11 楼
到CrackMe区,有CrackMe合集,各种难度的CrackMe都有。
从中一定能找到适合自己水平的。
|
能力值:
( LV8,RANK:120 )
|
-
-
12 楼
非常好的学习资料啊,感谢书呆彭。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
提几个意见
1,上面那个'windows窗口句柄'里面的数据太也乱了吧,是人都看不懂
2,我发现句柄这东西别说不同的机子了,同一机子每次加载句柄都是不一样的,最好能说明免得有新手按部就班的时候出错了都不知道哪的问题
3,希望能出个word版或PDF版我想收藏
|
能力值:
(RANK:260 )
|
-
-
14 楼
1.格式乱是由于论坛编辑模式和最终格式空白字符宽度不一致,已经编辑过了。
2.窗口句柄确实不是固定的,但只要窗口不关闭,它的句柄是不变的。已经编辑说明了。
3.收藏就不必了,我也不想再去排什么版。很简单的东西,一点就通。关键在于自己要在实践当中多练习。
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
感谢,比较清晰的知道了使用方法。谢谢!
|
能力值:
( LV13,RANK:250 )
|
-
-
16 楼
嗯,严重同意。
|
能力值:
(RANK:650 )
|
-
-
17 楼
每年都有人写这样的文章
每年这样的贴子都沉
每年新人都看不到这样的贴子
|
能力值:
( LV9,RANK:230 )
|
-
-
18 楼
思路清晰,叙述详细。
对有编程基础的人,一点就通。
但对编程基础薄弱的人读起来较吃力,因为这篇文章没有简单地介绍编程的相关基础知识。
以前笨笨雄就很注意雅俗共赏,没有编程基础的人也能大致看懂。
希望LZ照顾一下业余破解爱好者。
爬格子不容易,LZ辛苦了。
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
学习,我也是在查找字符串的树上吊死了呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
例2。
再回到反汇编窗口,在GetWindowTextW这行按Shift+F2,弹出如下条件断点对话框:
(图)
我们看一下堆栈,窗口句柄是第一个参数,位于[ESP+4],于是我们输入[ESP+4]==0x36011E,确定。
现在我们再运行程序,输入点什么,点确定,OD给断下来了。堆栈中看看,
------
我们看一下堆栈,窗口句柄是第一个参数,位于[ESP+4],!!!这个[ESP+4]是如何看到的。用什么方法。
|
能力值:
(RANK:260 )
|
-
-
21 楼
[QUOTE=我脱;554215]例2。
这个[ESP+4]是如何看到的。
[/QUOTE]
OD已经给出了参数的 注释,告诉我们哪个参数是hWnd,如图红字,而堆栈窗口中,ESP指向的“栈顶”位置,OD是高亮显示的,可以看一下自己OD中堆栈窗口,如图绿字:
[COLOR="SeaGreen"]0013F568[/COLOR] 0040C544 /CALL 到 GetWindowTextW 来自 009.0040C53E
0013F56C 0036011E |[COLOR="Red"]hWnd [/COLOR]= 0036011E (class='Edit',parent=000E00AE)
0013F570 00899980 |Buffer = 00899980
0013F574 00000005 \Count = 5
我只能建议你,在熟练掌握好汇编语言的基础上,先好好读一读OD的说明书。
看起来你连工具的用法都不是很熟练啊。
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
认真学习,努力提高!
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
谢谢,[ESP+4]不是看出来的,是算出来的.谢谢!!
汇编不懂了. 我会慢慢学的.
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
书呆,我想问一下,第一个CrackMe的注册码怎么推出来。
我只能修改EDI的值后,才能用同一个注册码可以注册成功(123456789),但是我算不出真正的注册码。。。。。
这个是不是没有真正的注册码,就只是做为一个练习用的
研究算法和爆破和做内在PATCH的练习呢
说的不对请别见笑,偶是菜中菜
顺便问一下,咱们坛子上可以贴收费软件破文吗?
偶是在网上转的时候看到有人求破,就把比他求破的软件的最新版给下下来了,看了看很简单就给破了。
偶不知道咱们坛子让不让发,偶就没敢发。先问问。嘿嘿
千万别让我看坛规,偶最怕看那个东东了。好长,看的我发晕。嘿嘿
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
非常谢谢的 哦,学习了!
|
|
|