我正在尝试从运行 Debian Buster 的 Thinkpad L540 中删除无线网卡的白名单。我做了以下步骤:
- 使用内核参数启动
iomem=relaxed - 使用pawn转储 BIOS
- 进行了多次转储并比较了 md5sum 以确保我有一个有效的转储
- 我用UEFITool打开了 BIOS 转储
- 搜索字符串“未经授权的网卡....”
- 我找到了 PE32 图像部分并提取了正文。这是一个efi文件
- 使用 IDA free 打开文件并搜索十六进制以找到该函数。
这是IDA生成的文件:
我不知道如何获得图表视图。我不确定要改变什么。但我认为这是相关的部分:
sub_6FC proc near
var_148= qword ptr -148h
var_140= qword ptr -140h
var_138= qword ptr -138h
var_130= qword ptr -130h
var_128= byte ptr -128h
var_F8= byte ptr -0F8h
arg_0= qword ptr 8
arg_8= qword ptr 10h
mov rax, rsp
mov [rax+8], rbx
push rdi
sub rsp, 160h
lea r8, [rax+10h]
mov rax, cs:qword_1040
mov rbx, rcx
lea rcx, qword_458+8
xor edx, edx
call qword ptr [rax+140h]
xor edi, edi
cmp rax, rdi
jl loc_7FF
mov edx, [rbx+4]
movzx r9d, word ptr [rbx]
cmp edx, 0FFFFFFFFh
jnz short loc_75D
movzx eax, word ptr [rbx+2]
lea r8, a04x04x ; "%04x/%04x"
lea edx, [rdi+28h]
lea rcx, [rsp+168h+var_128]
mov dword ptr [rsp+168h+var_148], eax
call sub_F9C
jmp short loc_78E
loc_75D:
movzx ecx, word ptr [rbx+2]
movzx eax, word ptr [rbx+4]
shr edx, 10h
mov dword ptr [rsp+168h+var_138], edx
mov dword ptr [rsp+168h+var_140], eax
mov dword ptr [rsp+168h+var_148], ecx
lea rcx, [rsp+168h+var_128]
lea r8, a04x04x04x04x ; "%04x/%04x/%04x/%04x"
mov edx, 28h ; '('
mov di, 1
call sub_F9C
loc_78E:
mov r8, cs:off_298
lea r9, [rsp+168h+var_128]
lea rcx, [rsp+168h+var_F8]
mov edx, 0F0h ; 'ð'
call sub_F9C
mov rax, cs:qword_2A0
mov r9d, dword ptr cs:qword_280+0Ch
mov r8d, dword ptr cs:qword_280+8
mov ecx, dword ptr cs:qword_280
mov [rsp+168h+var_130], rax
lea rax, [rsp+168h+var_F8]
movzx edx, di
add edx, dword ptr cs:qword_280+4
mov [rsp+168h+var_138], rax
mov rax, cs:off_290
mov [rsp+168h+var_140], rax
mov rax, cs:qword_1028
mov [rsp+168h+var_148], rax
mov rax, [rsp+168h+arg_8]
call qword ptr [rax+8]
loc_7FF:
mov rbx, [rsp+168h+arg_0]
add rsp, 160h
pop rdi
retn
sub_6FC endp
我想更换jl loc_7FFto jmp loc_7FF。但我不确定这是否正确。
我不知道如何提供图表视图。
谢谢您的帮助