Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly BIOS中的编程_Assembly_Bios - Fatal编程技术网

Assembly BIOS中的编程

Assembly BIOS中的编程,assembly,bios,Assembly,Bios,我是一名C开发人员,主要从事web开发 以下是我想要的: 我想创建一个独立于操作系统直接在机器上运行的例程,这样,如果我重新安装操作系统,那么我的例程仍然存在 基本上我想创建一个防盗系统。该例行程序将获取笔记本电脑的gps位置,并将其发送到特定的电子邮件 我认为这只能在BIOS级编程中完成,但我找不到第一步。传统的PC BIOS供应商竭尽全力为其资产保密。这使得BIOS级编程非常困难。它特定于BIOS的供应商,特定于它所运行的特定硬件的特定构建,您将修补二进制文件以注入代码 主板有两个或两个以上

我是一名C开发人员,主要从事web开发

以下是我想要的: 我想创建一个独立于操作系统直接在机器上运行的例程,这样,如果我重新安装操作系统,那么我的例程仍然存在

基本上我想创建一个防盗系统。该例行程序将获取笔记本电脑的gps位置,并将其发送到特定的电子邮件


我认为这只能在BIOS级编程中完成,但我找不到第一步。

传统的PC BIOS供应商竭尽全力为其资产保密。这使得BIOS级编程非常困难。它特定于BIOS的供应商,特定于它所运行的特定硬件的特定构建,您将修补二进制文件以注入代码

主板有两个或两个以上的BIOS EEPROM,这样的工作不需要太多的现金支出-它可以确保如果你把事情搞砸了,你仍然有办法启动和重新刷新你破坏的图像

是一种自由软件替代方案,旨在将传统的封闭式BIOS供应商从引导过程中剔除。它的可扩展性非常小的ASM和开放源码,这使它成为一个很好的地方开始寻找,如果你想开发BIOS扩展


较新硬件上的EFI也显著改变了情况。例如,您可以在内部USB设备上显示您的软件。

传统的PC BIOS供应商竭尽全力为其资产保密。这使得BIOS级编程非常困难。它特定于BIOS的供应商,特定于它所运行的特定硬件的特定构建,您将修补二进制文件以注入代码

主板有两个或两个以上的BIOS EEPROM,这样的工作不需要太多的现金支出-它可以确保如果你把事情搞砸了,你仍然有办法启动和重新刷新你破坏的图像

是一种自由软件替代方案,旨在将传统的封闭式BIOS供应商从引导过程中剔除。它的可扩展性非常小的ASM和开放源码,这使它成为一个很好的地方开始寻找,如果你想开发BIOS扩展


较新硬件上的EFI也显著改变了情况。例如,您可以在内部USB设备上显示您的软件。

如果没有专用硬件或对BIOS进行严重的黑客攻击,我认为这是不可能的。但除此之外,这是一个可能会让你发财的项目。大多数BIOS供应商故意让这件事变得困难。作为一个开源的可扩展起点,请检查一下。@flex:把它放在一个答案中。这是非常有用的。关于这个主题的好书可以下载。。。因此,只要在连接到互联网之前刷新bios,我就可以抓到你的笔记本电脑?我认为如果没有专用硬件或严重的bios黑客攻击,这是不可能的。但除此之外,这是一个可能会让你发财的项目。大多数BIOS供应商故意让这件事变得困难。作为一个开源的可扩展起点,请检查一下。@flex:把它放在一个答案中。这是非常有用的。关于这个主题的好书可以下载。。。所以我可以在你的笔记本电脑连接到互联网之前刷新bios吗?+1。。。想到EFI扩展开发,我觉得很有趣。在没有任何严肃的模拟器的情况下,如何调试这些东西?没有它,尝试每个版本是一项非常耗时的任务。这让我回到90年代,当我在抱怨慢速C++编译器/链接器……:@RobertKoritnik-至少在EFI虚拟化的情况下,有时至少是一种明智的方式。这可能吗?让特定的虚拟机运行特定的EFI扩展?我的意思是,不在主机上运行相同的扩展?@RobertKoritnik,因此至少在理论上是可能的,即使人们实际上还没有这样做。+1。。。想到EFI扩展开发,我觉得很有趣。在没有任何严肃的模拟器的情况下,如何调试这些东西?没有它,尝试每个版本是一项非常耗时的任务。这让我回到90年代,当我在抱怨慢速C++编译器/链接器……:@RobertKoritnik-至少在EFI虚拟化的情况下,有时至少是一种明智的方式。这可能吗?让特定的虚拟机运行特定的EFI扩展?我的意思是,不在主机上运行相同的扩展?@RobertKoritnik,所以至少在理论上是可能的,即使人们实际上还没有这样做。