Delphi的原代码中,imagelist里的图片已经被编译为16进制的格式。那么如何从Delphi的原代码中修改或更换掉ImageList里的图片呢?高手请应答!比如源代码格式如下:        object ImageList2: TImageList
    Height = 50
    Width = 50
    Left = 508
    Top = 59
    Bitmap = {
      494C01010A000E00040032003200FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
      0000000000003600000028000000C8000000C800000001002000000000000071
      0200000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      7B00848484008C8C8C008C8C8C0094949400BDBDBD00D6D6D600DEDEDE004A4A
      4A000000000063636300D6D6D600000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF
      FFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000
      000000000000}
  end
   

解决方案 »

  1.   

    先删除Delete
    然后再添加Add
    就可以了
      

  2.   

    Form文件中不好改吧只能添加代码先Delete掉ImageList1中你不要的,然后加载图片,再添加Add到ImageList1中去
      

  3.   


    ImageList1.Delete()
    ImageList1.Add()
      

  4.   

    工具栏里面不只一个图片,而且他们被delphi加入以后,所有图片只变成了imagelist={ }里面的一大段代码,只有一段。提取出图片来比较困难。(软件是别人用delphi编的,这事情属于反编译吧)对于上面朋友们所讲的,道理肯定是对的。只是如果改的话,是只加一个图标文件进去?还是加一整列图标进去呢?替换的思路是没问题的,只是替换的细节有难度。怎么弄呢?
      

  5.   

    已经搞定了,就是按照大家最初提出来的思路搞成的。后来我打开delphi,随手加了一个imagelist,把外面的图片16进制码复制了回来。所有原程序里的图片都一目了然,并且可以轻松提取。看来一开始是弄懵了,还得加强逆向思维才行啊。 谢谢大家啊封贴了!