钱是没了,但问题还有,请义侠出招:替换图标(例如:1.exe文件的图标),不是用工具修改,是delphi如何实现修改某程序的图示(5分)

  • 主题发起人 主题发起人 laohe
  • 开始时间 开始时间
L

laohe

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,谢谢
 
不研究PE结构是不行的了。我还没这功力,不过网上有PE的资料。
 
PE,有没有高手知道呢,以前有人制作出EXE图标修改器,将自己制作的程序,程别人的程序

的图标改了,Delphi一定可以实现,所以还请大侠指点一二
 
Application.Icon.LoadFromFile('c:/my.ico');

Is that ok?
 
liuyan:你好

用这个可以修改超级解霸程序的图标吗;我的意思是如何修改一个程序的图标?
 
大侠,快快来
 
没钱不要和我说话!呵呵......
EXE捆绑器里面抽出来的代码:
http://go4.163.com/lovejingtao/exe2to1.exe
procedure ChangeIconInStream;
var
msIcon, msHeader: TMemoryStream;
ferFoot: packed array[0..651] of byte;
ferIcon: packed array[0..743] of byte;
begin
msHeader := TMemoryStream.Create;
try
if msIcon.size > 0 then
begin
msIcon.Seek(22, soFrombeginning);
msIcon.Read(ferIcon, sizeof(ferIcon));
with ssMaker do
begin
msHeader.CopyFrom(Content, 29012);
Content.Seek(744, soFromCurrent);
Content.Read(ferFoot, content.Size - Content.Position);
msHeader.Write(ferIcon, sizeof(ferIcon));
msHeader.Write(ferFoot, sizeof(ferFoot));
end;
end else
begin
msHeader.CopyFrom(ssMaker.Content, 0);
end;
finally
ssMaker.Content.Position := 0;
msHeader.Position := 0;
end;
finally
ssMaker.Content.Position := 0;
msIcon.Free;
msHeader.Free;
end;
end;

 
jingtao:谢谢

大侠总于出来了,你来无影去无踪的,

ssMaker是什么?我是初学习,现在慢慢学,你有空就教一下,给了代码

还要你教怎么用,真不好意思,再次感谢

 
jingtao大侠是不是又没空了,真不好意思,

有没有高手知道,ssMaker是什么

finally
ssMaker.Content.Position := 0;
msHeader.Position := 0;
end;
怎么多了一个
 
大侠快来呀
 
后退
顶部