第1102章 修改
软件修改的更好。
要修改这些封装好的成品软件,就需要对它们进行反编译,将已编译的机器码转换回接近原始源代码的可读形式。
首先要提取目标程序运行时候的机器码,这些就是一串串长长的零和一组成的编码,解析这些代码中的指令和数据结构,包括函数入口点、变量位置等,重建程序的控制流程图,确定各个代码段之间的跳转关系,恢复变量名、函数名以及符号信息等等,根据上述信息生成可以理解的高级语言代码,才能进行修改。
不同的软件可能会采用不同的编程语言,反编译的流程和工具也会有许多差别,以前的曾凡对编译软件也仅限于使用,至于反编译软件,他是只听说过,还从来没用过。
梦中的曾凡技能可就太全面了,有了梦里的记忆,他熟练的打开几个英文网站,下载了几个反编译工具软件。
然后将最常用的绿色版风暴影音运行起来,开始进行反编译,这个视频播放软件早期版本是用c语言编写的,正是曾凡比较擅长的领域,本来是单机播放器,可惜后来用户多了以后,开始商业化运营,加了许多华而不实的东西,让曾凡有点深恶痛绝。
现在正好拿来练练手,他常用的是比较早期的版本,很多地方做的还不太完善,新版本太臃肿,曾凡很不喜欢。
由于程序编译过程中可能会对源代码进行优化,导致源代码的一些特性丢失,因此反编译得到的代码会与源代码有所不同,有的地方可能会出现严重错漏,反编译工具也有很大的局限性,并不是万能。
不过能获得大部分源码,对曾凡来说就够用了,从头编写一个播放器,对现在的他来说不是做不到,而是太过浪费时间,天下软件一大抄,这些播放器软件也是一个样,要制造一件家具,没必要自己从种树开始,他也没打算以此牟利,用来学习研究,做出来自己用,也在法律允许范围内。
全身心投入的去做一件事情,时间就会过的很快,曾凡根本没在乎过去了多少时间,直到肚子咕噜咕噜叫起来,一看时间已经快下午两点了。
自己好像从昨天中午后,一直到现在都没吃饭,怪不得肚子有意见,将改了半截的代码保存好,曾凡拿起床底下的脸盆出门,去对面卫生间洗漱,准备出门吃饭。