Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Específico da Microsoft
Use __declspec(hybrid_patchable) para marcar uma função como uma função híbrida passível de patch. Este atributo gera uma sequência de avanço rápido. Sequências de avanço rápido são pequenas funções x64 que não contêm lógica real, e tail-call a função Arm64EC real. Como as sequências de avanço rápido são usadas principalmente para gancho, se não forem alteradas, a execução é transferida diretamente para a função Arm64EC.
Sintaxe
__declspec(hybrid_patchable)
Observações
__declspec(hybrid_patchable) é um recurso somente ARM64EC.
Exemplo:
__declspec(hybrid_patchable) int Example()
{
return 1;
}
Gera a seguinte sequência de avanço rápido:
EXP+#Example:
00000001400CE000: 48 8B C4 mov rax,rsp
00000001400CE003: 48 89 58 20 mov qword ptr [rax+20h],rbx
00000001400CE007: 55 push rbp
00000001400CE008: 5D pop rbp
00000001400CE009: E9 BA 7A F3 FF jmp #Example
00000001400CE00E: CC int 3
00000001400CE00F: CC int 3
END Específico da Microsoft