|
本帖最后由 千里冰封 于 2016-12-19 09:58 编辑
大家都知道,在od里能看到很多,汇编指令,比如push 、mov、jmp、call 等等 评分甩甩,大步走来,前方高能,花见花开
看具体代码如下:
00401004 /. 55 push ebp
00401005 |. 8BEC mov ebp,esp
00401007 |. 68 02000080 push 0x80000002
0040100C |. 6A 00 push 0x0
0040100E |. 68 01000000 push 0x1
00401013 |. 6A 00 push 0x0
00401015 |. 6A 00 push 0x0
00401017 |. 6A 00 push 0x0
00401019 |. 68 01000100 push 0x10001
0040101E |. 68 05000106 push 0x6010005
00401023 |. 68 06000152 push 0x52010006
00401028 |. 68 03000000 push 0x3
0040102D |. BB D0104000 mov ebx,004010D0
00401032 |. E8 8E000000 call 004010C5
00401037 |. 83C4 28 add esp,0x28
0040103A |. 8BE5 mov esp,ebp
0040103C |. 5D pop ebp
0040103D \. C3 retn
0040103E /. 55 push ebp
0040103F |. 8BEC mov ebp,esp
00401041 |. 68 02000080 push 0x80000002
00401046 |. 6A 00 push 0x0
00401048 |. 68 01000000 push 0x1
0040104D |. 6A 00 push 0x0
0040104F |. 6A 00 push 0x0
00401051 |. 6A 00 push 0x0
00401053 |. 68 01000100 push 0x10001
00401058 |. 68 0A000106 push 0x601000A
0040105D |. 68 0B000152 push 0x5201000B
00401062 |. 68 03000000 push 0x3
00401067 |. BB D0104000 mov ebx,004010D0
0040106C |. E8 54000000 call 004010C5
00401071 |. 83C4 28 add esp,0x28
00401074 |. 8BE5 mov esp,ebp
00401076 |. 5D pop ebp
00401077 \. C3 retn
00401078 $ C3 retn
00401079 . C3 retn
0040107A /$ B8 06000000 mov eax,0x6
0040107F |. E8 3B000000 call 004010BF
00401084 |. FC cld
00401085 |. DBE3 finit
00401087 |. E8 ECFFFFFF call 00401078
0040108C |. 68 79104000 push 00401079
00401091 |. B8 03000000 mov eax,0x3
00401096 |. E8 24000000 call 004010BF
0040109B |. 83C4 04 add esp,0x4
0040109E |. 68 01000152 push 0x52010001
004010A3 |. E8 11000000 call 004010B9
004010A8 |. 83C4 04 add esp,0x4
004010AB |. E8 03000000 call 004010B3
004010B0 |. 33C0 xor eax,eax
004010B2 \. C3 retn
004010B3 $ FF25 EC784600 jmp near dword ptr ds:[0x4678EC]
004010B9 $ FF25 F0784600 jmp near dword ptr ds:[0x4678F0]
004010BF $ FF25 F4784600 jmp near dword ptr ds:[0x4678F4]
004010C5 $ FF25 D0784600 jmp near dword ptr ds:[0x4678D0]
我们知道,左边的是,内存地址,中间的是十六进制机器码,右边的是汇编代码
那么机器码和汇编代码之间的关系如何?
00401004 /. 55 push ebp
00401005 |. 8BEC mov ebp,esp
中间的机器码,55 就是汇编代码 push ebp , 8BEC 就是汇编代码 mov ebp,esp 这些都是固定的,一 一对应的,大家可以去实际搜索一下。
0040108C |. 68 79104000 push 00401079
这个代码 可以看出, 68 就是push的意思。 68后面的 79104000 其实就是00401079。为什么看起来像倒着的呢?
这是因为,在计算机里面,数字是从 低单元 到 高单元 依次写入的。而一个的单元就是1个字节,1个字节就是8位,也就是2个十六进制位。
举个例子 十六进制 23 就是一个字节,08也是一个字节,4532 就是2个字节。那么4532在内存里是怎么存放呢?
遵从,低低高高原则
比如有 10个单元,1 2 3 4 5 6 7 8 9 10 。
4532这个十六进制数,低2位,是32,就放在1单元,高2位是45,就放在2单元。
所以十六进制数4532,在机器看来就是3245
|
评分
-
参与人数 12 | HB +16 |
THX +5 |
收起
理由
|
禽大师
| + 1 |
|
|
消逝的过去
| |
+ 1 |
|
zxjzzh
| |
+ 1 |
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
agan8888
| + 1 |
|
|
2323816
| + 1 |
|
|
mxjiangqi
| + 5 |
+ 1 |
[快捷评语]--吃水不忘打井人,给个评分懂感恩! |
bsjasdq20615
| + 2 |
+ 1 |
[快捷评语] - 吃水不忘打井人,给个评分懂感恩! |
skyice
| + 1 |
|
[快捷评语] - 2017,让我们17学破解! |
oo-fish
| + 1 |
|
[快捷评语] - 2017,让我们17学破解! |
星宝
| + 1 |
|
支持一下 |
雪花公子
| + 1 |
|
最好做成一个系列,会帮助很多人 |
muzi12134
| + 2 |
+ 1 |
附件形式上传教程,为后来学习者保证了资源稳定性,额外+10HB,感谢! |
查看全部评分
|