学习编译原理。我们了解了很多关于高级语言转换为低级语言的变化过程。
其中编译可能对我们之前编写的程序进行了优化,这是我们不知道的。下面,看看微软的编译器,是怎么工作的。那么我们就可以更了解一个文件存放形式,和他原来的源代码的差别。当然有人可以通过了解这些汇编,得到一部分的源代码。进入修改程序得到自己想要的结果。
这个可以通过软件来实现,那么我们要明白其中的道理还是要回归到我们的原理出发点。
曾经有个案例,就是熊猫烧香,要是那个人学习了编译原理,或者知道程序的运行机制,那么他就不会因为自己的代码里面写了自己的相关资料而被捉起来了。
编译器是怎么让我们的高级语言变成汇编的呢? 我们知道了这些又应该怎么去防止别人将自己的代码反编译呢?在编译原理,和有汇编知识的人都可以知道。
00400000 dec ebp //看来00400000是一个编译程序的开始
004022B6 pop ebp
004022B7 ret //最后返回
纯粹过来贴下源代码:
比较下的,汇编