我对一exe文件16进制进行手工修改,如0a 12 0b 23 改成00 00 00 00 并且0a 12 0b 23 在该文件是唯一的,我想在程序中自动实现这一功能如何实现?
谢谢各位!!
谢谢各位!!
解决方案 »
- PostMessage(WM_NCLBUTTONUP, HTCAPTION, lParam);//什么意思???
- 关于键盘模拟
- 如何通过网络编程根据主机名查询主机地址?
- FILE使用疑问
- 有什么可以解释在类的成员函数内无法访问类的成员变量?
- 关于数据库编程中CRecordSet的问题!!!急!!
- VC读取Excel文件,如何取第一个Sheet的名字?ODBC实现
- CHtmlEditView 回车问题---分不够我可以给到500!
- 用 VC 编程时,怎样查看程序是否有内存泄漏 ?有什么工具或技巧吗 ?
- 有关编辑框的问题???高手请进!!!
- 使用结构体输入输出流问题
- 在树中如何获取当取当前展开的Item?
PE、NE、LE等可执行文件都是有规定的格式的(或者说是协议),通过格式分析,你只是简单的改改可执行文件的资源段还是可以的。水平高的,当然可以达到修改入口点等程度(可以写病毒)
数据结构有很多查找算法,你可以找本书参考以下
替换?
你当文件读入然后替换字符写入
CStringArray strarray;
if( !file.Open(m_strPathIndex, CFile::modeRead) )
{
return;
}
CString strLine;
while(file.ReadString(strLine))
{
strarray.Add(strLine);
}
file.Close();
CString str;
int nCount=strarray.GetSize();
strarray.RemoveAt(...);//删除你所要替换的字符串
strarray.InsertAt(...);//插入你所替换的新字符串
if( !file.Open(m_strPathIndex, CFile::modeCreate|CFile::modeWrite) )
{
return;
}
for(i=0; i<strarray.GetSize(); i++)
{
str = "";
str = strarray[i] + "\n";
file.WriteString(str);
}
file.Close();