Beaenginedelphi는 Beaengine의 델파이 및 무료 파스칼 바인딩입니다. 그것은 Beaengine을 지원하고 우스꽝스럽고 배우기 쉽고 빠르게 픽업하는 친절하고 간단한 유형 안전 API를 제공합니다.
Beaengine은 16 비트, 32 비트 및 64 비트 인텔 아키텍처에서 지침을 해독하도록 설계된 C 라이브러리입니다. 여기에는 FPU, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, VMX, CLMUL, AES, MPX, AVX, AVX2, AVX512 (VEX & EVEX PREFIXES), CET, CET, BMI1, BMI2, SGX, KL, KL, KL, KL, kl, kl, kl, kl, a ami2, sse4.2, sse4.2, sse4.2, sse4.2, sse4.2에서 설정된 표준 지침 세트 및 지침이 포함됩니다. 확장. 악의적 인 코드와보다 일반적으로 난독 화 된 코드를 분석하려면 Beaengine은 분석 된 지침을 정확하게 설명하는 복잡한 구조를 다시 보냅니다.
Beaenginedelphi 바인딩을 설치하려면 다음을 수행하십시오.
저장소 복제 :
git clone https://github.com/delphilite/BeaEngineDelphi.gitBeaenginedelphi 소스 디렉토리를 프로젝트 또는 IDE의 검색 경로에 추가하십시오.
Beaenginedelphi는 이제 Delphinus Package Manager에 등재되어야합니다.
Delphinus를 통해 설치 한 후 Delphi를 다시 시작하십시오. 그렇지 않으면 테스트 프로젝트에서 장치를 찾을 수 없습니다.
BeaEngineDelphi.pas 의 래퍼 레코드 TDisasm 이 포함되어 있습니다. Bellow 예제는 불완전하지만 사용 방법에 대한 인상을 줄 수 있습니다.
uses
SysUtils, BeaEngineDelphi;
procedure DisAsmFunctionCode ( const AFunc: Pointer);
var
aDisasm: TDisasm;
nLen: LongWord;
pData: PByte;
B, S: string;
begin
FillChar(aDisasm, SizeOf(TDISASM), 0 );
aDisasm.EIP := UIntPtr(AFunc);
{ $IFDEF CPUX64 }
aDisasm.Archi := ARCHI_X64;
{ $ELSE }
aDisasm.Archi := ARCHI_X32;
{ $ENDIF }
aDisasm.Options := NoTabulation + MasmSyntax;
pData := PByte(AFunc);
repeat
nLen := Disasm(aDisasm);
B := BufferToHex(pData, nLen);
S := Format( ' %.8x %-16s %s ' , [aDisasm.EIP, B, aDisasm.CompleteInstr]);
Writeln(S);
aDisasm.EIP := aDisasm.EIP + nLen;
Inc(pData, nLen);
until (aDisasm.Instruction.Opcode = OPCODE_RET) or (nLen <= 0 );
end ;
begin
try
WriteLn( ' BeaEngine: ' , BeaEngineVersionInfo, ' , DisAsm ExpandFileNameCase ... ' );
WriteLn( ' ' );
DisAsmFunctionCode(@SysUtils.ExpandFileNameCase);
WriteLn( ' ' );
WriteLn( ' Done. ' );
except
on E: Exception do
WriteLn( ' Error Decompiler: ' , E.Message);
end ;
ReadLn;
end .저수준 API를 기반으로 한 더 많은 예는 Demos 디렉토리의 테스트 케이스를 참조하십시오.
자세한 내용은 Beaengine 문서를 참조하십시오.
기부금을 환영합니다! 이 저장소를 포크하고 개선 사항으로 풀 요청을 제출하십시오.
이 프로젝트는 Mozilla Public License 2.0에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.
Beaengine을 만들고 유지해 주신 Beaengine Development 팀에게 특별한 감사를드립니다.