分享
 
 
 

在程序在生成另一个程序

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

在程序在生成另一个程序

这是个很古老的话题了,相信大家都有所了解.本来我也不想多说.

但近日在论坛上,QQ上被网友问到,要生成一个程序,并且要在该程序中指定一些资料,如Email和QQ,又要如何做呢?

这个问题让我想起了"金山游侠".以前玩游戏的时候,很喜欢用它来修改游戏,除了强大的功能后,还提供了一个专用修改器制作工具.制作出来的专用修改器只是一个单独的EXE文件,对每一个地址都有一定的说明,(如说明这个地址是金钱还是体力等),还有一些制作者的资料等等.它是如何做出来的呢?这个问题还真是难答---因为方法有很多,而目的只有一个:只要能把那些资料保存在EXE文件里面就可以了

现在的问题是:那些资料要保存在哪里?如何访问那些资料?我们来看个简单的代码:

int i,j;//全局变量

void main()

{

printf("i=%d j=%d\n",i,j);

}

i和j的值是多少?鬼知道是多少

这样知道了吧?

int i=0,j=1;

靠,当然知道了!!!那么请回答我一个问题:

int i=0 与int i 有什么区别?

一个已经初始化另一个未初始化?仅仅如此??

非也非也!它们两个的区别大得很呀,比如说

(略过PE知识一万二千三百四十五点六个字)

对于本文来讲,最大的区别就是:

int i 未分配到文件空间

int i=0 已分配到文件空间

换句话来讲就是 int i=0 后面的那个 0 是存在于EXE文件的内部的!

什么意思??

什么意思!!就是说,我们只要找那 0 保存在文件的哪个位置就可以了随心改变它的值了!

那怎么找呢?

(为了方便查找,我们给 i 取另个一个初始值,比如int i=0x12345678;)

由于编译后的文件是一个二进制文件,我们当然要用二进制编辑工具来查找了,可是,由于我不知道有那些二进制编辑工具

只好用十六进制编辑工具来完成了,WinHex,UltraEdit等都可以

(广告时间:小弟也写过一个十六进制编辑工具,名为xHex,它只出现在www.aogosoft.com供学习之用,大家也可一试)

用WinHex打开EXE文件,按Ctrl+Alt+F,输入78563412(注意顺序),按回车键.如果没找到,表示你的操作有误,请重来

找到后再按一次F3,如果这时显示没找到,恭喜你,刚才找到的地址就是i的藏身之地,试试把它改为其它值,再运行程序,是不是变了?

没变??请回到WinHex,按Ctrl+S

如果按F3后还有找到的话,请改变i的初始值,或者也给j初始值,如int i=0x1235678,j=0xABCDEF 然后查找78563412EFCDAB,直到只能找到一次为止

其实,还有一个更简单的方法:

就是先看一下i的地址,一般来讲,它的地址是40xxxx,那么它在文件中的地址就是xxxx

(不同的编译器可能有不同的结果,我用的是VC6.0)

来到这里,你应该知道如何指定程序里的EMail或QQ了吧??

请把下面的程序生成EXE后再用WinHex改变EMail和QQ值

char sEMail[255]={0};

char sQQ[255]={0};

void main()

{

printf("your email was:%s \nand your qq was:%s\n",sEMail,sQQ);

}

其实,除了用全局变量外,还可以用资源文件,将数据追加到EXE文件的尾部等方法来实现

对于VB程序员来讲,原理与做法也是一样的,只要定义好一个字符串变量,那么这个字符串就会存在于EXE文件内

但由于VB用的是UNICODE,在搜索,写入数据(或读取)的时候要稍做转换

但愿我的表达能力能让大家看得明白..阿门

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有