首页
社区
课程
招聘
[求助]pe文件编程求教
发表于: 2014-3-12 06:20 3917

[求助]pe文件编程求教

2014-3-12 06:20
3917
我有个可执行文件,一个sys的驱动,请问怎么将,sys写到可执行文件的一个区段内,请还有,用sys的时候怎么还原回来,请给几个文章看看啊,谢谢!!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 1552
活跃值: (1288)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
2
在你的可执行文件中,直接读取sys二进制文件到数据区,在运行时再将这些数据写到一个文件中,这个文件就是驱动了。安装文件就是这么做的啊。
2014-3-12 08:39
0
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
。。。把sys当做资源编译到exe中去,运行exe的时候提取资源生产一个新的sys就可以了。。。

现成的代码我已经没有了,曾经坐在csdn上上传过,但是时间太久了我也不知道有没有了。。。

你可以在网上搜搜类似的东西
2014-3-12 08:59
0
雪    币: 80
活跃值: (109)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
楼上的就是说,LoadResource...我有源码。

/**************************************************
    函 数 名: CopyResource
    函数功能: 从程序资源中拷贝指定资源文件到数组
    返 回 值: 成功返回 TRUE
              失败返回 FALSE
    函数参数: Dest   目标数组
              ResID  资源ID,在resource.h中
              ResType  资源类型
    编写日期:
    说    明:
**************************************************/
int CopyResource(char* Dest, const int ResID, const char* ResType)
{
        HRSRC hRsrc = FindResource(NULL, MAKEINTRESOURCE(ResID), (LPCSTR)ResType);
        HGLOBAL hGlobal;

        if (hRsrc == NULL)
        {
                return 0;
        }
        hGlobal = LoadResource(NULL, hRsrc);
        if (hGlobal == NULL)
        {
                return 0;
        }

        char  *Buf = (char*)LockResource(hGlobal);
        int len = SizeofResource(NULL, hRsrc);

        if (Buf == NULL || len == NULL)
        {
                return 0;
        }

        strncpy(Dest, Buf, len);
        FreeResource(hGlobal);

        return len;
}
2014-3-12 12:43
0
雪    币: 80
活跃值: (109)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
添加的时候就是在rc资源中,添加个类型为Binary(其他类型也可以)的资源,把改资源属性一改,改成你要加的sys。
2014-3-12 12:53
0
雪    币: 171
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢了啊,原来是这样啊!
2014-3-12 21:08
0
雪    币: 1042
活跃值: (495)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
配上CreateFile WriteFile
2014-3-13 04:49
0
游客
登录 | 注册 方可回帖
返回
//