导航:首页 > 净水问答 > 反汇编edi

反汇编edi

发布时间:2023-01-10 00:35:25

❶ 一段反汇编代码求高手指点

004B7380 8B4C24 08 mov ecx,dword ptr ss:[esp+0x8] // ecx = A
004B7384 53 push ebx
004B7385 55 push ebp
004B7386 56 push esi //入栈保存现场
004B7387 8B7424 10 mov esi,dword ptr ss:[esp+0x10] // esi = B 应该也是一个地址
004B738B 57 push edi //
004B738C 33FF xor edi,edi // 0
004B738E 8B2E mov ebp,dword ptr ds:[esi] //ebp保存基址
004B7390 8B56 04 mov edx,dword ptr ds:[esi+0x4] // edx = C
004B7393 8B46 08 mov eax,dword ptr ds:[esi+0x8] // eax = D
004B7396 3BCF cmp ecx,edi // 判断 ECX(A) 是否 > 0
004B7398 897C24 14 mov dword ptr ss:[esp+0x14],edi //esp+0x14 = 0
004B739C 76 3A jbe Xserver_c.004B73D8 // 不是的话则跳转到 004B73D8
004B739E 83F8 01 cmp eax,0x1 // 否则比较 eax(D) 是否比 1 小
004B73A1 72 35 jb Xserver_c.004B73D8 //是的话 跳到 004B73D8
004B73A3 B9 07000000 mov ecx,0x7 // 否则 ecx(A) = 7
004B73A8 BB 01000000 mov ebx,0x1 // ebx = 1
004B73AD 2BCA sub ecx,edx // ecx = 7 - edx (C)
004B73AF D3E3 shl ebx,cl // ebx 向←移动 cl 位(Byte/最后一位进入CF位)
004B73B1 8A4D 00 mov cl,byte ptr ss:[ebp] // 也就是 B 地址的第一个字节 呵呵~~
004B73B4 22D9 and bl,cl // bl cl 两个 Byte 寄存器 & 操作
004B73B6 F6DB neg bl // bl 求补 用 0 - bl
004B73B8 1BDB sbb ebx,ebx // 看 CF 位 CF 位 = 0 那么 ebx = 0 否则 ebx = 0xFFFFFFFF
004B73BA F7DB neg ebx // ebx 求补
004B73BC 42 inc edx // ebx++
004B73BD 83E2 07 and edx,0x7 // ebx 与 7 与操作 ..ebx最高只能为 7
004B73C0 8D3C7B lea edi,dword ptr ds:[ebx+edi*2] // edi = ds:[ebx+edi*2] 的地址
004B73C3 75 02 jnz Xserver_c.004B73C7 // 若 and 结果不为 0 则跳转 到 004B73C7
004B73C5 48 dec eax // D--
004B73C6 45 inc ebp // ebp ++

// 004B73C7 //
8B4C24 14 mov ecx,dword ptr ss:[esp+0x14] // ecx = 0 (esp+0x14 = 0)
004B73CB 8B5C24 18 mov ebx,dword ptr ss:[esp+0x18] // ebx = esp+0x18
004B73CF 41 inc ecx // ecx ++ ecx = 1
004B73D0 3BCB cmp ecx,ebx // 1 - ebx
004B73D2 894C24 14 mov dword ptr ss:[esp+0x14],ecx // esp+0x14 = 1
004B73D6 ^ 72 C6 jb Xserver_c.004B739E // ebx 是否 > 1 大于 则 转移 004B739E

// 004B73D8 //
8946 08 mov dword ptr ds:[esi+0x8],eax // D = eax
004B73DB 8BC7 mov eax,edi // 看之前的跳转分支 ... 决定 eax 是什么 ..
004B73DD 892E mov dword ptr ds:[esi],ebp
004B73DF 8956 04 mov dword ptr ds:[esi+0x4],edx // C = edx
004B73E2 5F pop edi // 出栈 恢复现场
004B73E3 5E pop esi
004B73E4 5D pop ebp
004B73E5 5B pop ebx
004B73E6 C3 retn //子程序返回

❷ 反汇编MOV DWORD PTR DS:[ESI+62C],EDI是什么意思

dwore ptr 表示占用两个字节的大小
ds:[esi+62c] 表示内存的地址 其中ds是段地址 [esi+62c]是偏移地址
edi 它就是寄存器了内
所以 MOV DWORD PTR DS:[ESI+62C],EDI 就是将 edi 中的数据容存储到内存中 地址为ds:[esi+62c]到 ds:[esi+62e]

❸ 汇编语言中的rep指令的作用

重复执行后面的指令
rep stos dword ptr [edi]
是将edi指向的区域初始化为0CCCCCCCCh
应该是12h*4个字节,可以理解为一个函数,传来的回某个参数为指针,然后将答这个指针指向的区域初始化
void fun(long *p)
{
int i;
// 12h=18
for(i=0;i<18;i++)
{
p[i]=0CCCCCCCCh;
}
}
相当于这个函数的功能

❹ 汇编 xor dword ptr [edi], ebp 是什么意思啊

al寄存器的数字减去31,也就是计算a1寄存器中存储的数据与"1"的ASCII之差

❺ 汇编语言mov [ebx+18],edi什么意思大侠解释下。。

1。将ebx的值拿出来加上18,结果记为X
2。将edi的值复制给内存地址为X的空间

比如ebx = 2, ebx+18 = 20(这里姑且理解18为十进制), edi = 6
假设内存数据全是0,
内存地址 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
内存数据 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
因为edi是32位寄存器,所以edi=0x00000006,而Intel或AMD的CPU都是little endian的,little endian理解起来就是把32位按8位分组,再颠倒,比如0x12345678在内存里就是78 56 34 12,所以存入内存地址20的空间就是(占用20 21 22 23,因为一个字节8位):
内存地址 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 |20 21 22 23| 24 25
内存数据 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |06 00 00 00| 00 00

mov [ebx+18],edi在反汇编里一般就是将一个对象的成员值改为edi
相当于c++里的:
obj->shift18 = edi;
或者c里的:
arr[shift18] = edi;

❻ 反汇编!!!求高手解释呀!!!谢了呀!

因为在我们现实编程的时候很多时候都需要使用局部变量....
push ebp ebp入栈,将来要用ebp来操作堆栈,所以要保存他的地址
mov ebp,esp 如上所说,esp是堆栈指针寄存器,吧它赋给ebp,这样就可以用ebp来操作堆栈了
sub esp,48h 表示开辟48个字节的地址空间供局部变量使用
......
sub之后esp指向了栈的更低的地址...这样就可以用esp来操作局部变量了, ebp来操作参数了..互不影响
当然在函数返回时必须要平衡堆栈
ret 48h
或者
add ,esp,48h
ret

阅读全文

与反汇编edi相关的资料

热点内容
连接污水检查井的管径 浏览:921
反渗透ro膜要买50还是75 浏览:842
热水瓶除垢网 浏览:616
废水氟含量 浏览:627
染料废水取样 浏览:193
做的饮水机为什么会漏水 浏览:33
pes树脂和ppsu树脂 浏览:197
家用净水机哪个是纯净水 浏览:107
煮土豆皮去水垢的原理 浏览:971
污水厂进水量怎么样 浏览:360
工业污水排放指标各值的含义 浏览:54
污水处理总余氯的标准 浏览:246
陆地巡洋舰的空调滤芯在什么位置 浏览:908
小区污水井一般深多少米 浏览:854
反渗透盐水处理招标 浏览:233
洗车店废水 浏览:562
享优乐净化器怎么连接手机 浏览:47
熔喷滤芯怎么拆换 浏览:837
净水器怎么清除泥沙 浏览:506
如何检测废水中三甲苯 浏览:237