汇编语言中mov esi,[esi]中的算法 求教!感谢,高分在线等

2025-01-22 12:11:40
推荐回答(2个)
回答1:

mov,esi,【esi】这个意思是将0011706bc地址的内存数据读取到esi
为什么是 121f5000呢?因为 0011706bc地址的内存数据就是这个数
下一句mov,eax,【esi】是将121f5000地址的内存数据读取到esi

回答2:

XXXX45A3 lea ecx, [esp+124h]
XXXX45AA push ecx ; IX86ver0.dll
XXXX45AB call ds:LoadLibraryA //加载DLL
XXXX45B1 mov ebp, eax //句柄从eax返回
XXXX45B3 test ebp, ebp
XXXX45B5 jz loc_6FF046F1 //没成功退出
XXXX45BB push offset aCheckrevision ; "CheckRevision" //函数名
XXXX45C0 push ebp ; hModule //DLL句柄
XXXX45C1 call ds:GetProcAddress //加载函数
XXXX45C7 mov esi, eax //执行地址从eax返回
XXXX45C9 test esi, esi
XXXX45CB jnz short loc_6FF045DF //成功转移,到正常主力,否则有些出错处理等操作.
XXXX45CD push offset aErrorFailedT_0 ; "XXXX45D2 call nullsub_1 //错误,提示,等等
XXXX45D7 add esp, 4
XXXX45DA jmp loc_6FF046EA
//就存储空间来说,这里至少少了3~4个指令代码,因该是些有赋值操作,则带参数.
XXXX46E6 call esi ; CheckRevision
XXXX46E8 mov ebx, eax

就这些代码来说CheckRevision是没有带参数.