远程注入的函数 能调用那些api? 为什么我在注入的函数里使用GetCurrentProcessId()就会崩溃?应该怎么调用呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 沙发up不太明白这个可以用吗?CreateRemoteThread 注入的函数,函数地址,参数内存地址,都要是远程process里面的地址! 那么我怎样才能调用GetCurrentProcessId() 呢? 你需要了解1.地址空间.2.进程.再说了.为什么只注入一个函数,不直接注入一个DLL.那样就可以直接调用了. 嘿嘿!之后在你得到该Process ID之后才可以做坏事。也就是说只有当你得到了该Process ID之后才能ReadProcessMemory/WriteProcessMemory由于2K以后的OS都为虚拟地址所以还需要VirtualAllocEx进程内分配内存。 怎么崩溃的你是把GetProcessId放在注入的DLL中吗CreateRemoteThread因为要求函数原型的关系, 是不会支持调用GetProcessId的 你可以看一下http://download.csdn.net/source/297095的实现,可以加载你自己的PE文件. 我是把一个函数注入到别的进程里.在函数里调用GetProcessId 就挂掉了. 这几个都要用到OpenProcessToken(); LookupPrivilegeValue(); AdjustTokenPrivileges(); OpenProcess(); VirtualAllocEx(); WriteProcessMemory(); GetProcAddress(); CreateRemoteThread();但是用即使以能够注入成功,大部分杀毒软件会报警的啊! 把以个函数注入到别的进程?你把整个函数的机器码写到那个进程空间了,还是只是在你的进程空间有这个函数?不要以为CreateRemoteThread会把你要执行的函数体写到另一个进程里,他只是从参数所给的地址开始执行,这个地址在你的进程空间是你自定义的函数但在别的进程空间确几乎必然是一个非法地址,所以出错是非常正常的,不知道这么说你能看明白不? 两种方法。WriteProcessMemory -- 通过改写地址CreateRemoteThread -- 建立进程内线程。 GetCurrentProcessId"是获取当前进程一个唯一的标识符 所以你用他访问其他应该会有问题】 在服务中如何以管理员权限创建一个新的进程? vc通过odbc连接好了access数据库后如何向数据库中写数据呀??? C++内存管理问题? 基于MFC的WIN32可执行应用程序,有且仅有一个从什么类派生的类的对象? 对话框中插入视图问题 怎样更改单文档结构的程序中打开文件的对话框的属性 一个小问题,修改控件属性 如何快速的获取窗体每个像素点的RGB值 谁知道.CUE/.BIN用什么工具打开(可能是虚拟光区或克龙类工具) 请问关于Visual Studio.net中的VC编译问题。 MDI中创建的对话框中创建视图! 如何获取网络驱动盘的ip地址呢
up
不太明白
这个可以用吗?
CreateRemoteThread
1.地址空间.
2.进程.
再说了.为什么只注入一个函数,不直接注入一个DLL.那样就可以直接调用了.
也就是说只有当你得到了该Process ID之后才能ReadProcessMemory/WriteProcessMemory
由于2K以后的OS都为虚拟地址所以还需要VirtualAllocEx进程内分配内存。
你是把GetProcessId放在注入的DLL中吗
CreateRemoteThread因为要求函数原型的关系, 是不会支持调用GetProcessId的
http://download.csdn.net/source/297095
的实现,可以加载你自己的PE文件.
OpenProcessToken();
LookupPrivilegeValue();
AdjustTokenPrivileges();
OpenProcess();
VirtualAllocEx();
WriteProcessMemory();
GetProcAddress();
CreateRemoteThread();
但是用即使以能够注入成功,大部分杀毒软件会报警的啊!
WriteProcessMemory -- 通过改写地址
CreateRemoteThread -- 建立进程内线程。
】