DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: hcwong1993
今日帖子: 36
在线用户: 19
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 vsun (我是菜鸟) ★☆☆☆☆ -
普通会员
2003/12/2 2:38:15
标题:
如何把一长串进六进制写入exe? 浏览:1923
加入我的收藏
楼主: 有这样的一串字符串也就是十六进制 如 '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楼: 谢谢,你的方法好向还是跟我们的差不多,一样要用的循环,我上面的那个程序中忘了循环了,写入的方法基本是一样的,有人能用更好的方法吗?
----------------------------------------------
再历害,也不过是尘世中的一粒沙子!
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行62.5毫秒 RSS