Beaenginedelphi هو Delphi و pascal حرة ملزمة للبنينجين. إنه يدعم Beaengine ويوفر واجهة برمجة تطبيقات ودية وبسيطة من النوع الذي يسهل تعلمه بشكل يبعث على السخرية والسريعة للالتقاط.
Beaengine هي مكتبة C مصممة لفك تشفير التعليمات من 16 بت و 32 بت و 64 بت من بنية Intel. ويتضمن تعيين تعليمات قياسية وتعليمات من FPU ، MMX ، SSE ، SSE2 ، SSE3 ، SSSE3 ، SSE4.1 ، SSE4.2 ، VMX ، CLMUL ، AES ، MPX ، AVX ، AVX2 ، AVX512 (PRIMES VEX & EVEX) ، CET ، BMI1 ، BMI2 ، إذا كنت ترغب في تحليل الرموز الخبيثة والرموز المفرطة بشكل عام ، فإن Beaengine ترسل بنية معقدة تصف بالتحديد التعليمات التي تم تحليلها.
لتثبيت ملزمة Beaenginedelphi ، اتبع هذه الخطوات:
استنساخ المستودع:
git clone https://github.com/delphilite/BeaEngineDelphi.gitأضف دليل BeaNginedelphi Source إلى مسار البحث في المشروع أو IDE.
يجب الآن إدراج BeaNginedelphi في Delphinus Package Manager.
تأكد من إعادة تشغيل Delphi بعد التثبيت عبر Delphinus وإلا قد لا يمكن العثور على الوحدات في مشاريع الاختبار الخاصة بك.
وشملت هو سجل الغلاف TDisasm في BeaEngineDelphi.pas . مثال على ذلك غير مكتمل ، لكنه قد يمنحك انطباعًا بكيفية استخدامه.
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 .لمزيد من الأمثلة بناءً على واجهة برمجة التطبيقات ذات المستوى المنخفض ، راجع حالات الاختبار تحت دليل العروض التجريبية.
لمزيد من المعلومات التفصيلية ، راجع وثائق Beaengine.
المساهمات مرحب بها! يرجى تورك هذا المستودع وإرسال طلبات السحب مع التحسينات الخاصة بك.
هذا المشروع مرخص بموجب ترخيص Mozilla Public 2.0. انظر ملف الترخيص للحصول على التفاصيل.
شكر خاص لفريق تنمية Beaengine لإنشاء وصيانة Beaengine.