2012-2-21 16:34

以下是小弟自己用VC写的线程注入代码。

程序前边都没有问题。

问题在CreateRemoteThread函数调用后,目标进程会崩溃。

我想可能是我写入目标进程的代码不对造成的,可是鼓秋好长时间了

还是没能找出错误的根源。

所以,哪位大神能帮小弟看一眼程序吗。

顺便指出到底是哪里出了问题,谢谢了。

#include "stdafx.h"

#include

BYTE bCodeData[1024] = {0};

static DWORD Myfunc(LPVOID *pParam)

{

HWND TestHwnd = FindWindow(NULL,TEXT("1.0MFC"));

MessageBox(TestHwnd, TEXT("MyThread"), TEXT("aaaaaaaa"), MB_OK);

return *(DWORD*)pParam;

}

int _tmain(int argc, _TCHAR* argv[])

{

BYTE* pMyFunAddr = (BYTE*)(DWORD)Myfunc;

int i = 0;

do

{

bCodeData[i++] = *pMyFunAddr++;

}while(*pMyFunAddr != 0xc3);                //ret = c3

int iError;

HWND TestHwnd = FindWindow(NULL,TEXT("1.0MFC"));

if(TestHwnd == NULL)

{

iError = GetLastError();

printf("FindWindow Error = %d",iError);

getchar();

return 1;

}

DWORD PID, TID;

TID = ::GetWindowThreadProcessId (TestHwnd, &PID);

HANDLE hProcess;

hProcess = OpenProcess(PROCESS_ALL_ACCESS,false,PID);

char szBuffer[10] = {0};

*(DWORD*)szBuffer=1000;

void *pDataRemote =(char*) VirtualAllocEx( hProcess, 0, sizeof(szBuffer), MEM_COMMIT,

PAGE_READWRITE );

iError = ::WriteProcessMemory( hProcess, pDataRemote, szBuffer,sizeof(szBuffer),NULL);

if(!iError)

{

printf("WriteProcessMemory Data Error = %d",iError);

getchar();

return 1;

}

PDWORD pCodeRemote = (PDWORD) VirtualAllocEx( hProcess, 0, i, MEM_COMMIT,

PAGE_EXECUTE_READWRITE );

WriteProcessMemory( hProcess, pCodeRemote, (BYTE*)(DWORD)Myfunc, i, NULL);

if(!iError)

{

printf("WriteProcessMemory Code Error = %d",iError);

getchar();

return 1;

}

HANDLE hThread = CreateRemoteThread(hProcess, NULL, 0,

(LPTHREAD_START_ROUTINE) pCodeRemote,//

pDataRemote, 0 , NULL);

DWORD h;

if (hThread)

{

::WaitForSingleObject( hThread, INFINITE );

::GetExitCodeThread( hThread, &h );

printf("run and return %d ",h);

::CloseHandle( hThread );

}

return 0;

}

c语言获取栈可用大小,[求助]求教各位大神如何获得C语言函数体的大小?相关推荐

  1. python 扯线木偶_Python计算器求助~求大神指导~QAQ急!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 from tkinter import * root = Tk() root.title('计算器') exp = StringVar() #用于在存储文 ...

  2. python中下拉菜单大小_请问各位大神如何将下拉菜单的文字设定成一个值?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 from tkinter import * from tkinter.ttk import Combobox class Calculator: def ...

  3. Java页面跳转失效_求助各位java大神,为什么表单提交之后跳转页面失灵

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本人java菜鸟一枚请各位java大神帮忙看看为什么我的表单能提交,但是就是跳转不到处理页面,跳转功能时灵时不灵的.小女子在此先谢过了! 这下面是JQue ...

  4. 紧急求助,各位大神看看这个ADC采集电路是什么问题?

    大家好,我是记得诚. 最近逛论坛,看到一个帖子,如下: 电路图如下,是个低功耗电池电压采集方案,多次通电后,Q1无情的冒烟了. VDD是低功耗外设电压,低功耗下VDD=0V,唤醒后VDD=3.3V. ...

  5. ps如何修改图片大小尺寸_PS新手入门教程:学习如何修改画布的大小

    PS新手入门教程:学习如何修改画布的大小.在photoshop中,可以把画布理解为一张白纸,而我们要处理的图像可以理解为这张白纸表面上的画.我们修改画布的大小时,图像并不会随着画布的大小而整体变大或缩 ...

  6. 数据库安全小白紧急求助论坛大神,困扰许久

    数据库安全小白紧急求助论坛大神,困扰许久 mircosoft SQL server 2008 R2怎样才能逃过甚至杜绝外来IP不断尝试SA密码? 求助各位论坛大神,封闭1433端口,设置数据库访问策略 ...

  7. 求助大神:用C#编辑计算器,怎么实现连加、连除功能啊!!!!!

    基础的计算器会做,但是没有连加.连减.连除.连乘等功能就是一个BUG呀!求助哪位大神,怎么实现连加功能啊,谢谢

  8. matlab 12位 显示不出来,求助大神,为何不同机器运行MATLAB结果不同

    求助:不同机器运行MATLAB结果不同 我调用MATLAB优化工具箱的库函数fmincon,使用相同的初始解(可行解),对同一个问题进行局部搜索(算法为序列二次规划,即SQP),但在不同机器上得到的结 ...

  9. 不同cpu matlab,求助大神,为何不同机器运行MATLAB结果不同

    求助:不同机器运行MATLAB结果不同 我调用MATLAB优化工具箱的库函数fmincon,使用相同的初始解(可行解),对同一个问题进行局部搜索(算法为序列二次规划,即SQP),但在不同机器上得到的结 ...

最新文章

  1. 如何正确排序整数数组
  2. MIT用超导体制成极低功耗神经元,能效接近人类大脑,比计算机高4个量级
  3. 剧本杀,继狼人杀之后的下一个风口
  4. 各种字符串Hash函数
  5. 利用BitLocker和VHD实现共享文件加密
  6. 计算机硬件基础电路参数测量,硬件电路设计基础知识.doc
  7. Mysql索引会失效的几种情况
  8. sqlserver备份还原丢失dbo_编程实现备份和还原数据库_sqlserver
  9. java 万年历_改进java万年历,前几天看到别人写的java万年历,其中不足之处多多...
  10. 8086中寻址方式详解
  11. 游戏服务器背包设计与实现
  12. 盘点一道窗口函数的数据分析面试题
  13. 技术人如何才能做好绩效管理提升团队绩效?
  14. 搭建Terraria服务器[Centos7/LGSM/泰拉瑞亚]
  15. linux定时压缩脚本,使用shell脚本对日志文件进行定时压缩
  16. Python .format()的详细使用(英文版)
  17. 论军人的战斗意志—亮剑精神
  18. android5.1官方下载,vllo官方下载
  19. 三维GIS可视化技术在智慧城市基本建设中的作用
  20. 代驾APP_第一章_项目环境搭建_第一节

热门文章

  1. 大数据可视化该如何实现
  2. 如何针对大数据进行分析
  3. BI工具选型需考虑哪些问题
  4. linux中手动配置ip命令,手动配置linux(centos)的IP地址
  5. 【正在完善】高级CSS特效解析其示范案例
  6. [运维笔记] - (命令).Windows server常用网络相关命令
  7. mysql中的day(0_MySQL代码执行0-day漏洞 可本地提权
  8. win10电脑黑屏只有鼠标箭头_电脑开机就黑屏,只显示鼠标怎么办?别急,简单几步,轻松解决!...
  9. 大数据Hadoop复习笔记
  10. 大数据面试都问些什么?