标题看起来非常拗口,具体来说描述起来就是下面的问题:
“我想写一个简单的程序,先把某个app的Load进内存,然后在内存里爆搜一个特征字串,搜到之后将该内存第一个字节替换。以下为代码片段,碰到一个问题就是,我搜到特征字串之后,修改其内存的内容一直改不了,请问各位大大,是不是UEFI有相应的保护[......]
标题看起来非常拗口,具体来说描述起来就是下面的问题:
“我想写一个简单的程序,先把某个app的Load进内存,然后在内存里爆搜一个特征字串,搜到之后将该内存第一个字节替换。以下为代码片段,碰到一个问题就是,我搜到特征字串之后,修改其内存的内容一直改不了,请问各位大大,是不是UEFI有相应的保护[......]
最近在看 《UEFI 原理与编程》,上面提到一款虚拟机可以运行指定的BIOS,那就是 QEMU (之前我也研究过如何替换 VirtualBox 的BIOS,结果非常沮丧,他不支持独立的 BIOS ,这意味即便是要在ASL中修改一些代码也要花费几个小时重新编译整个VirtualBox)。
书中对于如[......]
zlib 是一款开源的压缩解压库,在《UEFI原理与编程》第8章提到了他。我去书上提到的网站下载到了修改后的 zlib.inf 文件,然后尝试在AppPkg中重新编译之。
首先根据 zlib.inf 中[Sources]节给出的文件名提取出来需要用的文件。
[Sources]
#uef[......]
编写一个简单的VBS文件,能够自动保存网页,并且根据当前时间起不同的文件名
Set fso = CreateObject("Scripting.FileSystemObject") Set Outp = Wscript.Stdout On Error Resume[......]
前面介绍过使用 ShellReadFile 读取文件的内容,这里介绍一下 ShellWriteFile 的使用。
例子是使用 ShellOpenFileByName 打开当前的 EFI Application,把内容读取到内存之后,创建一个名为 Test.efi 的文件,使用 ShellWri[......]
修改 Processing IDE 字体的方法和之前提到的“Arduino IDE 修改字体大小”【参考1】的方法相同,也是在
File -> Perferences 下面的 Editor font size中。
1.https://www.lab-z.com/arduino-id[......]
最近发现一个挺有意思的功能,Print 使用 %r 参数可以直接输出错误信息的含义。这样的话,我们可以直接取得错误信息,省去不少麻烦。例如,下面的代码
#include <Uefi.h> #include <Library/UefiLib.h> #include[......]
继续介绍 EFI 下面的常用字符串函数
\MdePkg\Include\Library\BaseLib.h
1.StrStr 函数作用:在字符串中查找另外的字符串
/** Returns the first occurrence of a Null-terminat[......]
这里介绍一下常用的处理字符串的函数。这篇介绍 StrCpy/StrnCpy StrSize StrLen StrCmp/StrnCmp StrCat/StrnCat 。这些函数都是给 Unicode16 字符串设计的( CHAR16 定义的, 或者 L“www.lab-z.com” 这样定义的)。同[......]
前面实现了HP 鼠标数据的读取,下面继续研究 DELL 的鼠标。还是首先运行取得描述符的程序,结果如下:
Start
Device addressed... Requesting device descriptor.
Device descriptor:
Descriptor Le[......]