魔鬼作坊第一部实践----第十课

本文详细解析了一段涉及复杂内存地址操作的汇编代码,通过逐步跟踪寄存器和内存地址的变化,最终确定了目标内存地址的计算过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MOV DWORD PTR DS:[EAX+EDI*4],ECX    edi=0   !!!

MOV EAX,DWORD PTR DS:[ESI+C] !!!

004C6166 8BF1 MOV ESI,ECX

0051A46C 8BCE MOV ECX,ESI

——————————————————

0051A43E E8 5DBE1100 CALL ELEMENTC.006362A0   ’进入 里面就是来源 
0051A443 83C4 04 ADD ESP,4
0051A446 4D DEC EBP
0051A447 8BCE MOV ECX,ESI
0051A449 8BF8 MOV EDI,EAX
0051A44B 6A 01 PUSH 1
0051A44D 55 PUSH EBP
0051A44E E8 2D2DF9FF CALL ELEMENTC.004AD180
0051A453 894424 4C MOV DWORD PTR SS:[ESP+4C],EAX
0051A457 8B4424 20 MOV EAX,DWORD PTR SS:[ESP+20]
0051A45B 48 DEC EAX
0051A45C 6A 01 PUSH 1
0051A45E 50 PUSH EAX
0051A45F 8BCF MOV ECX,EDI
0051A461 894424 28 MOV DWORD PTR SS:[ESP+28],EAX
0051A465 E8 162DF9FF CALL ELEMENTC.004AD180
0051A46A 50 PUSH EAX
0051A46B 55 PUSH EBP
0051A46C 8BCE MOV ECX,ESI

 ————————————————————

00636308 8B8483 F00B0000 MOV EAX,DWORD PTR DS:[EBX+EAX*4+BF0]

00636328 8B8483 F00B0000 MOV EAX,DWORD PTR DS:[EBX+EAX*4+BF0]

——————————

00636325 51 PUSH ECX
00636326 FFD5 CALL EBP
00636328 8B8483 F00B0000 MOV EAX,DWORD PTR DS:[EBX+EAX*4+BF0]   eax=1  !!!

继续找 ebx 

006362B3 8B59 28 MOV EBX,DWORD PTR DS:[ECX+28]!!!!

 找ecx 

006362A8 8B48 1C MOV ECX,DWORD PTR DS:[EAX+1C]!!!!

 找 eax 

006362A0 A1 08A4BB00 MOV EAX,DWORD PTR DS:[BBA408]!!!

——————————

所以得:[[[[[BBA408]+1c]+28]+1*4+bf0]+0c]+0*4

转载于:https://www.cnblogs.com/xiaoyuyu/archive/2013/01/25/2876579.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值