|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
vsun (我是菜鸟) |
★☆☆☆☆ |
-
|
普通会员 |
|
2003/12/2 2:38:15 |
标题: |
|
加入我的收藏 |
楼主: |
有这样的一串字符串也就是十六进制 如 'AB 00 F8 FA ED 4C D5 3E'等长度不等的字符串,在写入exe十六进制跟它一样!! 我只会把这些字符串每两个一组提出来转成十进制数写到exe中,但有没有更方便快捷的方法呢?
----------------------------------------------
再历害,也不过是尘世中的一粒沙子! |
作者: |
cnxxx (我本高手) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/12/2 7:10:01 |
1楼: |
去掉空格直接当作文本写入exe就行了,估计可以,没测试。
----------------------------------------------
黑夜中,一眼望去,我就是高手。
|
作者: |
bios (阿贡) |
★☆☆☆☆ |
-
|
盒子中级会员 |
|
2003/12/2 8:49:00 |
2楼: |
太高深 这里的高手怎么 在偶看来都象是黑客!
----------------------------------------------
|
作者: |
lucf (ll) |
★☆☆☆☆ |
-
|
普通会员 |
|
2003/12/2 9:23:02 |
3楼: |
用函数strtoint('$'+s)把它转换为十六进制,s为两个字符的字符串
----------------------------------------------
-
|
作者: |
vsun (我是菜鸟) |
★☆☆☆☆ |
-
|
普通会员 |
|
2003/12/2 12:45:09 |
4楼: |
晕,前两个的哥哥说的都不行,而楼上的哥哥说的方法跟我用的是一样的方法,效率太低,我就是想找一个可以一次性写入的方法
----------------------------------------------
再历害,也不过是尘世中的一粒沙子!
|
作者: |
vsun (我是菜鸟) |
★☆☆☆☆ |
-
|
普通会员 |
|
2003/12/2 12:55:17 |
5楼: |
var writebuf:integer s:string; openF:file; begin s:='AACCEDFA';(此处不能超过8个) writebuf:=strtoint('$'+S); assignfile(openF,'abc.exe'); reset(openF,1); seek(openF,XX); (XX为要写入的地址) blockwrite(openF,writeBuf,8); closefile(openF); end;
能不能用比这个方法效率高的方法写呢
----------------------------------------------
再历害,也不过是尘世中的一粒沙子!
|
作者: |
llf026 (llf026) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/12/2 14:25:29 |
6楼: |
var writebuf:array of byte; i,l : integer; s:string; openF:file; begin
s := 'AAACCEDFAAACCEDFAAACCED'; if length(s) mod 2 = 1 then s := '0'+s;
l := length(s); SetLength(writebuf, length(s) div 2);
i := l; while i > 1 do begin writebuf[(l - i) div 2] := strtoint('$'+s[i-1]+s[i]); dec(i,2); end;
assignfile(openF,'test.dat'); reset(openF, 1); seek(openF,0); blockwrite(openF, writeBuf[0], l div 2); closefile(openF);
----------------------------------------------
-
|
作者: |
vsun (我是菜鸟) |
★☆☆☆☆ |
-
|
普通会员 |
|
2003/12/2 14:29:54 |
7楼: |
谢谢,你的方法好向还是跟我们的差不多,一样要用的循环,我上面的那个程序中忘了循环了,写入的方法基本是一样的,有人能用更好的方法吗?
----------------------------------------------
再历害,也不过是尘世中的一粒沙子!
|
|