能力值:
( LV2,RANK:10 )
|
-
-
2 楼
关键跳一般跨度比较大,这样的跳jmp前有个横线,即
- jmp xxxx
另外可以根据常见语言的入口特征判断是否到达OEP
如C++的入口特征:
0046C07B U> 55 push ebp
0046C07C 8BEC mov ebp,esp
0046C07E 6A FF push -1
0046C080 68 18064C00 push UltraSna.004C0618
0046C085 68 F8364700 push UltraSna.004736F8
0046C08A 64:A1 00000000 mov eax,dword ptr fs:[0]
0046C090 50 push eax
0046C091 64:8925 00000000 mov dword ptr fs:[0],esp
0046C098 83EC 58 sub esp,58
0046C09B 53 push ebx
0046C09C 56 push esi
0046C09D 57 push edi
0046C09E 8965 E8 mov dword ptr ss:[ebp-18],esp
0046C0A1 FF15 74824A00 call dword ptr ds:[<&KERNEL32.GetVersion>] ; kernel32.GetVersion
0046C0A7 33D2 xor edx,edx
0046C0A9 8AD4 mov dl,ah
0046C0AB 8915 403F4F00 mov dword ptr ds:[4F3F40],edx
0046C0B1 8BC8 mov ecx,eax
0046C0B3 81E1 FF000000 and ecx,0FF
0046C0B9 890D 3C3F4F00 mov dword ptr ds:[4F3F3C],ecx
|
能力值:
( LV3,RANK:30 )
|
-
-
3 楼
咳,关键你没有自己单步走走,走过后,你会发现信息栏能给出相应的信息,
说真的,我一眼看过去也看不明白那么一大堆 asm 指令是神马东东的。。。。。
就如vmp你看到了一个handler,也完全不明白它要做什么(哪要串联起来才生效的)。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
看资料跟着做
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
、多领悟领悟就行了
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
果断要自己动手多做做,自己先玩,实在玩不出来再去看文章,看了有思路继续做自己的
我也是新手,还要继续学习
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
下几个简单的练习的小程序 从最简单的试着一点一点破解 总之光看肯定是不行的 必须得实践啊 很多网上下载的教程里面就有给你练手的东西还告诉你每个该怎么破 慢慢的懂得就多了点了
|
能力值:
( LV15,RANK:440 )
|
-
-
8 楼
提个小建议。如果你破不了别人的,可以自已写个小程序,自己破自己写的东西。自欺一下也是有效果的,我当初就是这么干的
还有,可以和你的初学者朋友要他们的小程序,自己去逆,逆完了以后和他们的源代码对比,看看你逆得精确度如何。其实,逆向是基本功的。后期的一切技巧,都是建立在这个之上的。
破解是逆向的一个应用,不能熟悉逆向又怎能破解?本人也在努力中。。。。。。。。与大家分享下心得。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
师傅领进门,修行在各人!!多多领悟。。。
|
能力值:
( LV3,RANK:30 )
|
-
-
10 楼
沒人帶,,當然慢一些,,,,你行的
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
俺最近也刚开始接触,和楼主的情况差不多,感觉是找一些简单的实际动手,这东西还是实践出真知的啊。
|
能力值:
( LV12,RANK:230 )
|
-
-
13 楼
个人觉得要先看书 系统了解一些数据结构和汇编的知识 才能看得明白
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
这可是个慢活,那有那容易学会的呀
|
|
|