梁 兄

QQ: 160216918 QQ群: 26678700 MSN: lb_bing@hotmail.com

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  52 Posts :: 5 Stories :: 355 Comments :: 0 Trackbacks

      这几天没有写blog,  时间花在熟悉vc++6.0上了. 因为一直在unix上用vi开发,   好久不用vc了, 连基本的调试都忘了.
      在网上东找西找, 终于找到一篇文章, 解决了我要的功能.  我的调试代码如下:
void CTestDlg::OnOK()
{
    // TODO: Add extra validation here
    HRSRC hResInfo = NULL;
    HGLOBAL hResData = NULL;
    DWORD dwSize = 0, dwWritten = 0;
    HANDLE hFile = NULL;

    // 查找所需的资源
    hResInfo = FindResource( NULL, MAKEINTRESOURCE(IDR_TEST1), "Test" );
    if ( hResInfo == NULL )
        return ;

    // 获得资源尺寸
    dwSize = SizeofResource( NULL, hResInfo );

    // 装载资源
    hResData = LoadResource( NULL, hResInfo );
    if ( hResData == NULL )
        return ;

    // 写文件
    hFile = CreateFile( "E:\\test.dll", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL );
    if ( hFile == NULL )
        return ;

    WriteFile( hFile, (LPCVOID)LockResource( hResData ), dwSize, &dwWritten, NULL );
    CloseHandle( hFile );
 
    CDialog::OnOK();
}  


      大家可能问这个代码有什么用? 我就是要当你执行一个MFC开发的EXE程序, 它能自动释放出我预先以资源文件打包进去的DLL文件, 至于这个DLL文件是普通的,还是系统后台运行的特殊DLL文件呢, 都可以的.
      接下来我会搞定几个技术点:
      1.  写注册表功能
      2.  拦截API
      3.  以后台服务运行的DLL
      4.  SMTP发送邮件
      5.  POP3接收邮件
      6.  邮件格式:  base64, MIME
      7.  网络通讯: socket, HTTP协议
      8.  查找系统各盘所有目录和文件

      别问我想做什么, 只是好玩而已,  有兴趣可以加入我的QQ群(见我的b log主页),  共同探讨这个问题, 到时有新的代码会上传到群共享里.
posted on 2007-12-18 11:26 梁-兄 阅读(1375) 评论(5)  编辑 收藏 引用 所属分类: C/C++

Feedback

# re: 怎样从EXE程序里释放dll文件 2007-12-18 15:35 pscj
一个小木马么,呵呵  回复  更多评论
  

# re: 怎样从EXE程序里释放dll文件 2007-12-18 16:27 小四
有个P的技术点  回复  更多评论
  

# re: 怎样从EXE程序里释放dll文件 2007-12-18 16:42 梁-兄
这些小玩意自然不是什么技术, 不过有人已经有现成的代码的, 贴给我,免得我去查MSDN.   回复  更多评论
  

# re: 怎样从EXE程序里释放dll文件 2007-12-19 13:42 XX反病毒
拦截API (ring3 级的hook?)
以后台服务运行的DLL (线程注入?)  回复  更多评论
  

# re: 怎样从EXE程序里释放dll文件 2007-12-22 18:45 聪明蛋蛋
严重支持梁兄,方便我了。正找这个代码呢!谢谢!  回复  更多评论