百科问答小站 logo
百科问答小站 font logo



把操作系统编译结果的机器码更改一位,比如将第一位0改成1或者反之,操作系统还能运行吗? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

一个操作系统的80%功能可能是普通用户完全用不上的。

一个操作系统的80%文件可能都是各种资源文件(图片、音视频等)

所以改一位大概率是完全没有影响的。

即使改到可执行文件里,可执行文件里还有很多填充区域和无效的区域,甚至是死代码,所以大多数情况下,是没问题的。

即使改到一个真正有效的能被执行的代码,也未必真的会造成严重的影响,比如某个比较条件的最大值,变大或者变小,这种情况下用户也未必感知的到,或者改一个字符映射表,最多就是某一个字符的处理受到影响……

--------------

有不少人提到哈希校验之类的,我这里多提一句:校验事实上只针对部分核心文件,而这部分文件大多有保护,对于Windows来说,这些文件相当于无法改动,而且数量很少,只改一位的话,大概率会碰不到。至于boot代码,现在Win10的boot都是隐藏的……

很多文件虽然有校验位,但实际上未必真的用。

反倒是某些数据文件,改了文件头确实容易挂,而且可能挂一大片。尤其是压缩文件,对位翻转还是非常敏感的。




  

相关话题

  为什么国产操作系统总是基于现有 Linux 内核,而不是从零开始开发一个操作系统? 
  如果中国一开始就禁止微软和英特尔AMD进入中国大陆地区,现在的中国大陆地区会出现哪些现象? 
  C盘分区很大没事吗? 
  嵌入式 Linux 如何操作 GPIO ? 
  在没有GUI的时代(只有一个文本界面),人们是怎么运行多个程序的? 
  为什么大学C语言课不用linux的gcc编译器上,而是用vs呢? 
  如何评价 macOS Mojave 10.14? 
  为什么 Windows 操作系统开很多应用和游戏都不会杀后台? 
  linux 操作系统和 windows 操作系统哪个对科研更有效,有前辈能详细讲讲吗? 
  熟悉 Ubuntu 的新手怎么玩转 Arch? 

前一个讨论
非 x86 平台,USB 主控制器规范还是主流的 xhci 和 ehci 吗?
下一个讨论
【内存寻址】请问每个进程的线性空间是独立的吗还是系统中所有的进程共享一个线性空间?





© 2025-01-31 - tinynew.org. All Rights Reserved.
© 2025-01-31 - tinynew.org. 保留所有权利