关于线程插入函数如何用的问题
http://www.delphi2007.net/DelphiAPI/html/delphi_20061207182656107.html
我现在掌握了不用dll也能代码注入的技术
就是有一个inject函数 把要插入进程的句柄和要插入的函数名前加一个"@"
当作参数传递过去就行了,如下:
procedure Inject(ProcessHandle: longword; EntryPoint: pointer);
本来是很好用的
但是我这里有一份带窗体的程序的代码 想让它插到某个pid里
原来的dpr文件是这样的:
program server;
uses
Forms,
mainserve in 'mainserve.pas' {ServerForm};
begin
Application.Initialize;
Application.CreateForm(TServerForm, ServerForm);
Application.Run;
end.
我改成了:
program server;
uses
Forms,windows,
mainserve in 'mainserve.pas' {ServerForm};
procedure main();
begin
Application.Initialize;
Application.CreateForm(TServerForm, ServerForm);
Application.Run;
end;
var
ProcessHandle, PID: longword;
begin
PID:=1252;//当前我运行的某个IE的PID
ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, PID);//打开进程
Inject(ProcessHandle, @Main);//插入代码
CloseHandle(ProcessHandle);//关闭线程句柄
end.
那个mainserve.pas没作改动
编译没错 一运行就出错说 某个内存引用的某个内存不能为writen 结果IE就关了
我的改动并没错呀??
我怀疑这个错误和程序里有窗体有关 但是用到了timer 是不是就不能去掉窗体??
我的怀疑正确吗????
说明一下 我修改时已把inject的定义加上了 只是上面的代码没体现出来
不用DLL 注入 的方法我也想知道哦..
aphex的不用DLL远程注入是
GetWindowThreadProcessId(FindWindow('Shell_TrayWnd', nil), @Pid);
//获取Exp进程的PID码,Shell_TrayWnd为类名,相关的需用SPY++来查看
ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, Pid); //打开进程
hModule := Pointer(GetModuleHandle(nil));
//这里得到的值为一个返回一个指针型变量,指向内容包括自身映像的基址和长度
Extent := PImageOptionalHeader(Pointer(integer(hModule) + PImageDosHeader(hModule)._lfanew + SizeOf(dword) + SizeOf(TImageFileHeader))).SizeOfImage;
//得到内存映像的长度
VirtualFreeEx(ProcessHandle, hModule, 0, MEM_RELEASE);
//在Exp进程的内存范围内分配一个足够长度的内存
hModule_News := VirtualAllocEx(ProcessHandle, hModule, Extent, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);
//确定起始基址和内存映像基址的位置
WriteProcessMemory(ProcessHandle, hModule_News, hModule, Extent, Size);
//确定上面各项数据后,这里开始进行操作
CreateRemoteThread(ProcessHandle, nil, 0, @Download, hModule, 0, ThreadId);
//建立远程线程,至此注入过程完成
CloseHandle(ProcessHandle);
偶把我的程序定义成个过程 然后用他这样的方法去注入. 结果跟LX一样...
高手详细说下吧..
楼上的是同道中人
实际上我们插入一个小过程可以成功 哪怕这个过程调用其它自定义的过程
但是把一个程序的原代码里dpr文件里的主程序定义为过程 再插入这个过程就会报错
因为什么??
请高手现身
关注
请高手献身
请高手献身
人工置顶
还没有人来么?
我现在也有段代码 他定义的过程注入没问题..我自己写个过程 注入都出错. 郁闷
人工置顶
人工置顶
关于线程插入函数如何用的问题相关推荐
- 把C++类成员方法直接作为线程回调函数
我以前写线程时要么老老实实照着声明写,要么使用C++类的静态成员函数来作为回调函数,经常会因为线程代码而破坏封装.之前虽然知道类成员函数的展开形式,但从没想过利用过它,昨天看深入ATL时无意中学会了这 ...
- Qt使用 std::thread 线程插入数据到 QTableWidget
Qt使用 std::thread 线程插入数据到 QTableWidget中 一.实现效果 二.主要代码 1. ThreadTable.h 头文件 2. ThreadTable.cpp 源文件 3. ...
- 【 C 】简化双链表插入函数(对在双链表中插入一个新值的简明程序的简化)
目录 背景 第一个技巧是语句提炼(statement factoring) 第二个简化技巧 最终简化版本 背景 上篇博文:[ C ]在双链表中插入一个新值的简明程序,讲了一个简明的双链表插入函数,那个 ...
- python 在主线程开线程_Python开启线程,在函数中开线程的实例
逻辑处理上分成了多个模块,为了提高效率,前一个模块处理完调用后一个模块操作时使用多线程 我这里遇到的情形是前面取数据后面存到mysql,发现单线程效率很低,改为取数据后开线程存到mysql 开启线程之 ...
- 【Linux 内核】进程优先级与调度策略 ③ ( 设置、获取线程优先级的核心函数 | 修改线程调度策略函数 )
文章目录 一.设置.获取线程优先级的核心函数 二.修改线程调度策略函数 一.设置.获取线程优先级的核心函数 设置.获取 线程 优先级的 核心 函数 : ① 设置 " 创建线程 " ...
- 【Linux 内核】进程管理 ( 内核线程概念 | 内核线程、普通进程、用户线程 | 内核线程与普通进程区别 | 内核线程主要用途 | 内核线程创建函数 kernel_thread 源码 )
文章目录 一.内核线程概念 二.内核线程.普通进程.用户线程 三.内核线程.普通进程区别 四.内核线程主要用途 五.内核线程创建函数 kernel_thread 源码 一.内核线程概念 直接 由 Li ...
- 【Android NDK 开发】JNI 线程 ( JNI 线程创建 | 线程执行函数 | 非 JNI 方法获取 JNIEnv 与 Java 对象 | 线程获取 JNIEnv | 全局变量设置 )
文章目录 I . JNI 线程创建 II . 线程执行函数 III . 线程方法获取 Java 对象 IV . 线程方法获取 JNIEnv V . JNI 线程 完整代码示例 I . JNI 线程创建 ...
- python可以开多少线程_Python开启线程,在函数中开线程的实例
逻辑处理上分成了多个模块,为了提高效率,前一个模块处理完调用后一个模块操作时使用多线程 我这里遇到的情形是前面取数据后面存到mysql,发现单线程效率很低,改为取数据后开线程存到mysql 开启线程之 ...
- 插入函数c语言,线性表的插入函数
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 //SY2-2.CPP #include #define MAXSIZE 100 void Disp_A(int A[],int num) /*输出向量* ...
最新文章
- 南农沈其荣组Science子刊揭示番茄早期微生物组功能决定成年健康
- mysql 查询日志介绍
- java rest 调用_Java调用Restful之RestTemplate
- Linux使用ffmpeg合并视频
- 高扫后督解决方案 力助银行内部核查
- php文件夹重命名,PHP自动重命名文件实现方法
- 垂直布局的HTML表单
- 尴尬!微软的 PowerShell 竟是 Linux 用户最多!| 极客头条
- 这款折纸机器人玩具,可以帮助孩子学习编程和Robot知识
- 失范的数字货币量化市场:积弊成疾,洗牌将至 |链捕手
- 鸿蒙系统在哪里,“安卓系统”和“鸿蒙系统”区别在哪里?网友:根本就是一个天上一个地下...
- Visio2016安装
- 数组中常见的问题,索引越界和空指针异常
- OpenCV打开摄像头截图
- ffmpeg 常用命令总结:(avi转MP4、MP4转ts、视频压缩、去除视频声音、合并音频和视频)
- 保姆级教程:NobePay从注册到充值开卡全过程
- 合适学习人工智能的小白的一本书《极简AI入门:一本书读懂人工智能思维与应用》
- 物联网卡这样设置一下上网全程4G!建议收藏!
- VinsFusion中的MEI模型解析
- VB-Word添加页眉页脚