|
[求助]关于修改汇编代码跳转到注入后DLL文件函数的问题!
readprocessmemory or mov ecx,5 mov edi,offset xxx mov esi,00586804h rep movsb xxx db 00h,00h,00h,00h,00h 上面是备份 下面是还原 mov ecx,5 mov esi,offset xxx mov edi,00586804h rep movsb |
|
[求助]关于修改汇编代码跳转到注入后DLL文件函数的问题!
问题多了 你恢复的代码也不对 再合适的地方,先备份到个数组上,才好恢复 你既然要恢复,前面写入的时候,为什么要恢复读的属性呢 跳转回去的代码也不对 //kill jmp [$00586809] // 上次那个错误 jmp dword ptr [] 和 JMP XXX 的区别,这里修改为 push 00586809h ret 这两行相当 jmp 00586809 但是直接写 jmp 00586809 编译不了,所以变通下 end; |
|
[求助]关于修改汇编代码跳转到注入后DLL文件函数的问题!
begin asm pushad push ebx mov ebx, dword ptr [$045560C8] // 045560C8 这里面是什么,你这两行代码做什么功能 // 你要模拟 mov dword ptr [ebx], eax // mov dword ptr [045560C8], eax 这句? pop ebx popad //kill jmp [$00586809] // 上次那个错误 jmp dword ptr [] 和 JMP XXX 的区别,这里修改为 push 00586809 ret 这两行相当 jmp 00586809 但是直接写 jmp 00586809 编译不了,所以变通下 end; end; |
|
[求助]关于修改汇编代码跳转到注入后DLL文件函数的问题!
那你挂OD,调试下,是不是修改成了你想要的地址 |
|
[求助]关于修改汇编代码跳转到注入后DLL文件函数的问题!
这也是放到DLL? procedure TForm1.Button22Click(Sender: TObject); //这个是写入代码的操作 Var addr11 : DWORD; dwOldProtect : DWORD; begin addr11 := $00586804; ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, false, ProcessID); VirtualProtectEx(ProcessHandle, Pointer(addr11), 5, PAGE_EXECUTE_READWRITE, @dwOldProtect); asm pushad mov eax, offset pdazuf111 // 你的函数地址传EAX mov edx, $00586804 // 要修改地址 sub eax, edx //目标地址也就是你的函数地址 减去 要修改地址 sub eax, 5 // 再减去5 mov byte ptr [edx], $E9 xchg [edx+1], eax //eax== XXXXXXXX popad end; VirtualProtectEx(ProcessHandle, Pointer(addr11), 5, dwOldProtect, @dwOldProtect); CloseHandle(ProcessHandle); end; |
|
[求助]关于修改汇编代码跳转到注入后DLL文件函数的问题!
不明白楼上意思了 |
|
[求助]关于修改汇编代码跳转到注入后DLL文件函数的问题!
你这代码是放到EXE的,要先获取 pdazuf111 函数地址 GetModuleHandle,XX GetProcAddress ,XX,XX 如果返回函数地址成功,那么这时候eax就是地址了 asm pushad 这行就可以不要了 // mov eax, offset pdazuf111 // 你的函数地址传EAX mov edx, $00586804 // 要修改地址 sub eax, edx //目标地址也就是你的函数地址 减去 要修改地址 sub eax, 5 // 再减去5 mov byte ptr [edx], $E9 xchg [edx+1], eax //eax== XXXXXXXX popad end; 如果你要把上面的代码放到DLL的话,就可以照搬原来的 |
|
[求助]关于修改汇编代码跳转到注入后DLL文件函数的问题!
http://www.unpack.cn/viewthread.php?tid=36022&extra=page%3D1 mov byte ptr [edx],0e9h xchg [edx+1],eax //eax== XXXXXXXX 再这两句写前,一般先干掉写的保护 下面是汇编弄的,需要在DLL里写,要不handle 就不为-1 你不喜欢,可以用标准API来实现 example: pushad mov eax,20h;read mov ebx,40h;wrie mov ecx,5;size mov edx,00586804h;address call killmemoryprotect or eax,eax jne @F ; jmp wrong mov eax,40100eh mov byte ptr [eax],9 @@: popad ret killmemoryprotect proc push ebp push ebx sub ebp,4 push ebp mov dword ptr [ebp],eax push ebx sub ebp,4 push ebp mov dword ptr [ebp],ecx sub ebp,4 push ebp mov dword ptr [ebp],edx push -1 mov dword ptr [ebp-4],0cf8f8977h or ebx,-1 @@: inc ebx cmp ebx,4 jg @F movzx eax,byte ptr [ebp+ebx] mov edx,esp int 2eh or eax,eax jne @B @@: add esp,20 pop ebx pop ebp ret killmemoryprotect endp |
|
[求助]关于修改汇编代码跳转到注入后DLL文件函数的问题!
mov eax,offset pdazuf // 你的函数地址传EAX mov edx,00586804h // 要修改地址 sub eax,edx//目标地址也就是你的函数地址 减去 要修改地址 sub eax,5 // 再减去5 mov byte ptr [edx],0e9h xchg [edx+1],eax //eax== XXXXXXXX -------------------------------------------- 00586804 e9 XXXXXXXX jmp pdazuf |
|
|
|
[求助]关于修改汇编代码跳转到注入后DLL文件函数的问题!
mov eax,offset pdazuf mov edx,00586804h sub eax,edx sub eax,5 mov byte ptr [edx],0e9h xchg [edx+1],eax |
|
[求助]关于修改汇编代码跳转到注入后DLL文件函数的问题!
如果不指明DELPHI的话,我可以帮助你 |
|
[讨论]想知道大家的职业是什么?
wu ye ......... |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值