C 实现pe文件内容读取,并以二进制输出...

C 实现pe文件内容读取,并以二进制输出...,第1张

读取物理文件可以 使用readFile 加载后读取使用readprocessmemory ,给个范例自己看看吧void H2B(char szTxt,unsigned char bBuf,unsigned int unLen)

{

char pTxt = szTxt;

size_t nLen = 0;

if( !szTxt || !bBuf || unLen < (nLen = strlen(szTxt)/2) || strlen(szTxt) % 2 )

{

return;

}

for(size_t i = 0 ; i < nLen ; i++)

{

unsigned char punBuf = bBuf;

char cIn = pTxt;

if(cIn[0] >= 0x30 && cIn[0]<0x40)

{

punBuf = (cIn[0] - 0x30)16;

}

else

{

punBuf = (cIn[0] - 0x37)16;

}

if(cIn[1] >= 0x30 && cIn[1]<0x40)

{

punBuf += (cIn[1] - 0x30);

}

else

{

punBuf += (cIn[1] - 0x37);

}

pTxt += 2;

bBuf++;

}

}

void B2H(unsigned char punBuf,unsigned int unBufLen,char szOut,unsigned int unTxtLen)

{

static char szTab[] = "0123456789ABCDEF";

if(unBufLen2 > unTxtLen || !punBuf || !szOut )

{

return;

}

while(unBufLen--)

{

unsigned char unBuf = punBuf;

char cOut = szOut;

int nPos = 1;

while(nPos>=0)

{

cOut[nPos--] = szTab[unBuf % 16];

unBuf = unBuf / 16;

}

szOut += 2;

punBuf++;

}

}

int _tmain(int argc, _TCHAR argv[])

{

char szTxt[] = "18A17B160C";

unsigned char szBuf[5];

memset(szBuf,0,sizeof(szBuf));

char szDes[11];

memset(szDes,0,sizeof(szDes));

for(int i = 0 ; i < 999; i++)

{

H2B(szTxt,szBuf,sizeof(szBuf));

B2H(szBuf,sizeof(szBuf),szDes,sizeof(szDes));

printf("%s\n",szDes);

}

HANDLE hHandle = ::GetCurrentProcess();

BYTE buf[8193];

char szHexTxt[24576];

memset(szHexTxt,0,sizeof(szHexTxt));

memset(buf,0,sizeof(buf));

::ReadProcessMemory(hHandle,&_tmain,buf,sizeof(buf),NULL);

B2H(buf,sizeof(buf),szHexTxt,sizeof(szHexTxt));

printf("%s\n",szHexTxt);

getchar();

return 0;

}

打开PE系统以后,所有的桌面文件都只能在我的电脑里面找。

具体的 *** 作步骤为(以win7 *** 作系统为例):

(1)找到桌面上的我的电脑;

(2)打开我的电脑,找到 C 盘;

(3)点击用户文件夹;

(4)点击默认用户名 Administrator 文件夹;

(5)找到Desktop文件夹,打开它;

(6)就会看见桌面上的所有文件。

U盘装系统,你需要先把U盘做成启动盘,然后从网上下载系统,并且把解压后,带GHO的系统复制到已经做好U盘启动盘里面。

1安装系统可以到>

2看完U盘制作的教程你就会用盘装系统。到电脑店去>

适合对电脑BIOS设置非常了解才可以。在BIOS界面中找到并进入含有“BIOS”字样的选项,1“Advanced BIOS Features”

3进入“Advanced BIOS Features”后,找到含有“First”的第一启动设备选项,“First Boot Device”

4“First Boot Device”选项中,选择“U盘”回车即可,配置都设置好后,按键盘上的“F10”键保存并退出,接着电脑会自己重启,剩下的就是自动安装系统。

上面是设置BIOS启动的步骤。每台电脑BIOS设置不一样,你可以参考一下。学会了,你就可以用U盘装系统。

这个只能自己翻译。

文件的详细备注信息是封装在文件的 PE 头部的,有具体的编号来区分分别对应什么备注,比如 9 是作者、10 是标题这类的。

NET 中 SystemDiagnosticsFileVersionInfo 类下封装了一些基本信息,包括:

    注释 Comments

公司名称 CompanyName

文件名称 FileName

文件版本 FileVersion

内部名称 InternalName

调试版本 IsDebug

补丁版本 IsPatched

语言 Language

版权 LegalCopyright

商标 LegalTrademark

原始文件名称 OriginalFilename

产品名称 ProductName

产品版本 ProductVersion

但这显然不全,其余的要想获取到,只能引用 Shell32 或用其他方式来获取了。

桌面的默认路径是

C:\Documents and Settings\用户名\桌面\

你进

C:\Documents and Settings\

后点开“用户名”(一般是Administrator)文件夹,再点开桌面,里面就是你的文件了。

至于拷贝在哪里,那就简单了。

你将U盘插在电脑上,拷贝在U盘上就是

以上就是关于C 实现pe文件内容读取,并以二进制输出...全部的内容,包括:C 实现pe文件内容读取,并以二进制输出...、桌面上的文件在PE里怎么找、已做好的u盘启动盘里的PE系统及文件怎么样提取出来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9749924.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)