首页
社区
课程
招聘
[旧帖] [求助]可执行文件是以什么进制存储的 0.00雪花
发表于: 2007-5-2 16:56 4709

[旧帖] [求助]可执行文件是以什么进制存储的 0.00雪花

2007-5-2 16:56
4709
用fileopen打开文件按字节读出来转成16进制后得以下内容

32 30 30 35 31 30 00 00 FF FF FF FF 06 00 00 00     2 0 0 5 1 0
32 30 30 35 31 32 00 00 E4 AA 4E 00 11 02 2E 34     2 0 0 5 1 2

现在我想把2005改为2007用filewrite不知怎么写,请高手指教。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
磁盘上的任何文件都是以二进制方式保存的,为了方便阅读等,例如,某些软件会将文件以十六进制方式显示;修改可执行文件用UltraEdit比较合适。
2007-5-2 17:22
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
搞掂了。
var
  iFileHandle: Integer;
  iFileLength: Integer;
  iBytesRead: Integer;
  Buffer: byte;
  offset: Integer;
  filename: string;
begin
  if opendialog1.Execute then filename := opendialog1.FileName else exit;

  try
    iFileHandle := FileOpen(filename, fmOpenWrite);
    iFileLength := FileSeek(iFileHandle, 0, 2);
    edit1.Text := inttostr(ifilelength);
    offset := $4eaac8-$401000+$fff + 1;
    FileSeek(iFileHandle, offset, 0);
    buffer := $33;
    fileWrite(iFileHandle, buffer, 1);
  finally
    FileClose(iFileHandle);
  end;

end;
2007-5-2 17:25
0
游客
登录 | 注册 方可回帖
返回
//