下面是程序一段循环调用的汇编代码。从5ADC8BFD开始。
5ADC8BFD 55 push ebp
5ADC8BFE 8BEC mov ebp, esp
5ADC8C00 51 push ecx --添加一段jmp
5ADC8C01 8B4D 0C mov ecx, dword ptr [ebp+C]
5ADC8C04 8365 FC 00 and dword ptr [ebp-4], 0
5ADC8C08 F641 05 10 test byte ptr [ecx+5], 10
5ADC8C0C 8B55 08 mov edx, dword ptr [ebp+8]
5ADC8C0F 56 push esi现在我想在5ADC8C00处添加一个jmp让他跳到我的代码里执行,执行后,在jmp回来。用delphi代码如何来写呢? memoryCall := VirtualAllocEx(hprocess, Pointer($5ADC8C00), 4096, MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(hprocess, memoryCall, @pcall, 4096, lpNumOfBytes); //写入函数地址是这样吗。为啥我调用没啥效果。
方便的话,最好能加我qq。1052277018
5ADC8BFD 55 push ebp
5ADC8BFE 8BEC mov ebp, esp
5ADC8C00 51 push ecx --添加一段jmp
5ADC8C01 8B4D 0C mov ecx, dword ptr [ebp+C]
5ADC8C04 8365 FC 00 and dword ptr [ebp-4], 0
5ADC8C08 F641 05 10 test byte ptr [ecx+5], 10
5ADC8C0C 8B55 08 mov edx, dword ptr [ebp+8]
5ADC8C0F 56 push esi现在我想在5ADC8C00处添加一个jmp让他跳到我的代码里执行,执行后,在jmp回来。用delphi代码如何来写呢? memoryCall := VirtualAllocEx(hprocess, Pointer($5ADC8C00), 4096, MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(hprocess, memoryCall, @pcall, 4096, lpNumOfBytes); //写入函数地址是这样吗。为啥我调用没啥效果。
方便的话,最好能加我qq。1052277018
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货