我写好了一个程序,我想别人使用时,能够改变里面的一些参数值。我不想写配置文件,就是在写一个程序修改这个程序,不知道怎么实现?同时也不想用UpdateResource这样的方法。谢谢

解决方案 »

  1.   

    修改自身exe? 这样不如修改注册表方便
      

  2.   

    总的思想是三个步骤.
    1.找到“参数"对应的虚拟地址。
    2.再根据虚拟地址计算出对应的文件偏移地址。
    3.在“参数”所在的文件偏移地址处修改文件的内容。这有几种情况:
    (1)如果是一个变量。
     建议编译时选择产生.map文件,以便于从符号名称查找到虚拟地址。 
    (2)如果是一个立即数。
     使用一种反汇编软件,找到对应的函数、对应的ASM语句、直到对应的立即数。从而可以知道这个立即数的虚拟地址。
      

  3.   

    你可以在exe文件的最后添加任何数据
    你的exe运行的时候复制一个副本,让副本运行,主程序退出
    副本可以修改主程序了,在他后面追加你要写的数据