Capstonedelphi هو Delphi و pascal حرة لمكتبة Disassembler Capstone. إنه يدعم Capstone 5 ويوفر واجهة برمجة تطبيقات ودية وبسيطة من النوع الذي يسهل تعلمه بشكل يبعث على التعلم والسريع للالتقاء.
Capstone هو إطار تفكيك بهدف أن يصبح محرك العارض النهائي للتحليل الثنائي والعكس في مجتمع الأمن.
لتثبيت ملزمة capstonedelphi ، اتبع هذه الخطوات:
استنساخ المستودع:
git clone https://github.com/delphilite/CapstoneDelphi.gitأضف دليل Capstonedelphi Source إلى Project أو مسار البحث في IDE.
تأكد من تثبيت مكتبة Capstone 5 على نظامك. يمكنك تحديث المكتبات الثنائية Capstone 5.0.1 من PYPI ، Anaconda ، Archlinuxarm ، إلخ.
يجب الآن إدراج Capstonedelphi في Delphinus Package Manager.
تأكد من إعادة تشغيل Delphi بعد التثبيت عبر Delphinus وإلا قد لا يمكن العثور على الوحدات في مشاريع الاختبار الخاصة بك.
وشملت هو فئة الغلاف TCapstone في Capstone.pas . مثال على ذلك غير مكتمل ، لكنه قد يمنحك انطباعًا بكيفية استخدامه.
uses
SysUtils, Capstone;
procedure DisAsmFunctionCode ( const AFunc: Pointer; ASize: Integer = - 1 );
var
aInsn: TCsInsn;
disasm: TCapstone;
nAddr: UInt64;
nSize: NativeUInt;
begin
if ASize < 0 then
nSize := MaxInt
else nSize := ASize;
disasm := TCapstone.Create;
with disasm do
try
{ $IFDEF CPUX64 }
Mode := [csm64];
{ $ELSE }
Mode := [csm32];
{ $ENDIF }
Arch := csaX86;
nAddr := UInt64(AFunc);
if Open(AFunc, nSize) then
while GetNext(nAddr, aInsn) do
begin
WriteLn(aInsn.ToString);
if (ASize < 0 ) and (aInsn.mnemonic = ' ret ' ) then
Break;
end ;
finally
Free;
end ;
end ;
begin
try
WriteLn(Format( ' Capstone Engine: v%s(%s), DisAsm ExpandFileNameCase ... ' , [TCapstone.LibraryVersion, TCapstone.EngineVersion]));
WriteLn( ' ' );
DisAsmFunctionCode(@SysUtils.ExpandFileNameCase);
WriteLn( ' ' );
WriteLn( ' Done. ' );
ReadLn;
except
on E: Exception do
WriteLn(Format( ' Error Decompiler: %s ' , [E.Message]));
end ;
end .لمزيد من الأمثلة بناءً على واجهة برمجة التطبيقات ذات المستوى المنخفض ، راجع حالات الاختبار ضمن دليل الاختبارات.
لمزيد من المعلومات التفصيلية ، راجع وثائق Cabstone.
المساهمات مرحب بها! يرجى تورك هذا المستودع وإرسال طلبات السحب مع التحسينات الخاصة بك.
هذا المشروع مرخص بموجب ترخيص Mozilla Public 2.0. انظر ملف الترخيص للحصول على التفاصيل.
شكر خاص لفريق تطوير Capstone لإنشاء وصيانة إطار تفكيك التوا.