L l7511 Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-16 #1 设想:将一个dll或者exe文件以二进制的形式读入,对其中的个别bit进行处理后,再重新生成dll或者exe,在delphi中如何实现? 谢谢各位!
留 留香客 Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-16 #2 var F:Tfilestream; buf:string; begin buf:='你好'; F:=Tfilestream.create('你的文件',fmOpenWrite); try F.position:=1; f.Write(buf,Length(buf)); finally F.free; end; end; 随手写的,没有试过。
var F:Tfilestream; buf:string; begin buf:='你好'; F:=Tfilestream.create('你的文件',fmOpenWrite); try F.position:=1; f.Write(buf,Length(buf)); finally F.free; end; end; 随手写的,没有试过。
N nicai_wgl Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-16 #3 var F:Tfilestream; tmpData: array of Byte; begin F:=Tfilestream.create('你的文件',fmOpenWrite); try SetLength(tmpData, F.Size); F.position:=0; F.Read(tmpData, F.Size); { 修改tmpData } F.position:=0; F.Size := 0; F.Write(tmpData, SizeOf(tmpData)); finally F.free; end; end;
var F:Tfilestream; tmpData: array of Byte; begin F:=Tfilestream.create('你的文件',fmOpenWrite); try SetLength(tmpData, F.Size); F.position:=0; F.Read(tmpData, F.Size); { 修改tmpData } F.position:=0; F.Size := 0; F.Write(tmpData, SizeOf(tmpData)); finally F.free; end; end;
B bbscom Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-16 #4 var stream:tmemorystream; begin stream:=tmemorystram.create; stream.LoadFromFile();//读取你的文件 Stream.SaveToFile();//保存你的文件 end;
var stream:tmemorystream; begin stream:=tmemorystram.create; stream.LoadFromFile();//读取你的文件 Stream.SaveToFile();//保存你的文件 end;
L LoveShanShan Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-16 #5 nicai_wgl的可以,为何还不结贴?莫非LZ的文件太大了,超过可用内存+虚拟内存?
A anewed Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-16 #6 我觉得留香客的逻辑更合理一些! nicai_wgl将整个文件给读取出来了。,“超过可用内存+虚拟内存? ”呵呵。。。
Z zj_mpy Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-16 #7 stream.LoadFromFile();//读取你的文件 Stream.SaveToFile();//保存你的文件
L l7511 Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-18 #8 nicai_wgl,你好, tmpData中的数据好像有问题呀,如何查看数据呢?二进制的。
创 创意人生 Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-18 #9 To 楼主,给你一个例子: 读一个Byte: Var T : Word; begin Stream.Read(T); ShowMessage(IntToHex(T,2)); end;
N nicai_wgl Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-21 #10 tmpData中的数据好像有问题呀,如何查看数据呢?二进制的。 tmpData是个0-文件长度-1的数组,查看数据可以直接定位查啊,比如tmpData[0]。 tmpData[0]就是一个二进制数,调试时显示成10进制的。 楼主可以查考使用下UltraEdit这个软件
tmpData中的数据好像有问题呀,如何查看数据呢?二进制的。 tmpData是个0-文件长度-1的数组,查看数据可以直接定位查啊,比如tmpData[0]。 tmpData[0]就是一个二进制数,调试时显示成10进制的。 楼主可以查考使用下UltraEdit这个软件