什么是代源码
源代码就是源程序源代码,是指未编译的文本代码。 是一系列人类可读的计算机语言指令。 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。 计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。 作用源代码主要功用有如下2种作用:生成目标代码,即计算机可以识别的代码。 对软件进行说明,即对软件的编写进行说明。 为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。 但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。 因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。 需要指出的是,源代码的修改不能改变已经生成的目标代码。 如果需要目标代码做出相应的修改,必须重新编译。 代码组合源代码作为软件的特殊部分,可能被包含在一个或多个文件中。 一个程序不必用同一种格式的源代码书写。 例如,一个程序如果有C语言库的支持,那么就可以用C语言;而另一部分为了达到比较高的运行效率,则可以用汇编语言编写。 较为复杂的软件,一般需要数十种甚至上百种的源代码的参与。 为了降低种复杂度,必须引入一种可以描述各个源代码之间联系,并且如何正确编译的系统。 在这样的背景下,修订控制系统(RCS)诞生了,并成为研发者对代码修订的必备工具之一。 还有另外一种组合:源代码的编写和编译分别在不同的平台上实现,专业术语叫做软件移植。 版权如果按照源代码类型区分软件,通常被分为两类:自由软件和非自由软件。 自由软件一般是不仅可以免费得到,而且公开源代码;相对应地,非自由软件则是不公开源代码。 所有一切通过非正常手段获得非自由软件源代码的行为都将被视为非法。 质量对于计算机而言,并不存在真正意义上的“好”的源代码;然而作为一个人,好的书写习惯将决定源代码的好坏。 源代码是否具有可读性,成为好坏的重要标准。 软件文档则是表明可读性的关键。 效率虽然我们可以通过不同的语言来实现计算机的同一功能,但在执行效率上则存在不同。 普遍规律是:越高级的语言,其执行效率越低。 这也是为什么汇编语言生成的文件比用VB语言生成文件普遍要小的原因。
.net软件,用什么软件加密狗加密,能防止代码反编译?
软件加密狗可试试德国的威步,威步(WIBU)信息系统的软件加密狗,还能申请免费试用版。 软件的特点,一些强大的编译工具可以对可执行文件进行反编译操作,并得出相应的IL代码甚至是源代码。 即使是采用混淆工具以及强命名工具也不能从根本上解决问题,代码依然会很容易地被Reflectoer等工具反编译源代码。 软件加密狗:威步(WIBU)的CodeMeter,AxProtector()两款软件加密狗性能非常不错反编译的问题,与传统的代码混淆工具(Obfuscator)不同,AxProtector可以完全阻止对 程序集(由 C#, , , … 等语言编写)的反编译。 通俗的讲,AxProtector在破解者和您的 代码之间构建了强大的防破解保护屏障,生成一个基于 Windows 的而不是基于 MSIL 的兼容格式文件。 原始的 代码完整的被加密后封装在本地代码内,无论何时都不会释放到硬盘,对于破解者是不可见的。 与单纯的加密软件不同,AxProtector与CodeMeter硬件加密狗配套餐使用,采用了更为严密的密钥管理,及最先进的AES、RSA、ECC等加密算法存储或传输密钥,保证通讯安全。 代码编译后生成的 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候。 所以一个按照正常方式编译的 文件可以非常轻易地被反编译。 一般软件开发商会采用一种叫做混淆器的工具。 混淆器的作用是对编译好的代码进行混淆,使得其无法被反编译或者反编译后的代码混乱难懂。 由于混淆器只是混淆了方法名称或流程,而不能防止源代码被反编译,因此混淆器的作用只是增加了反编译的难度,最终的结果也是治标不治本。 对于一些掌握工具的人来说几乎还是透明的。 AxProtector是一款真正意义的加密源代码、防止反编译的软件加密软件。 AxProtector加密了原代码,任何时候原代码都不可能被还原到硬盘当中。 采用AxProtector加密后的代码只有在程序调用或执行某一段函数的时候,才能通过AxProtectorClass在内存中解密后返回到程序中执行,运行之后迅速立即加密。 这种随机加密、按需解密原代码的功能,能很好的防止程序的反编译,同时能够很好地防止API加密点被摘除。 有效地保证了源代码的执行效率和安全性。
非开源的系统可以破解源代码吗?
不可以,例如windows xp,如果可以,就不会带来如此多的问题。
但可以透露你一下,2002年xp已经向美国法庭交出超过行xp的源代码。我们目前只知道:windows xp 是由BASIC语言编的。