delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف يمكننا تقوية بلوك الحماية الخاصة بدلفى ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
أخوتى كيف يمكننا تقوية بلوك الحماية الخاصة بدلفى ؟
كيف يمكننا عمل هذه الاكواد التى نراها تحت بيئة الاسيمبلىSetne و sete ؟
تحيتى للجميع
السلام عليكم

لم افهم اخي ماتعنيه بالضبط لكن :

لاستعمال الأسمبلي ستستعمل البلوك
asm
//assembly code
end;

للحماية يمكنك قراءة احد الكتب في قسم كتب دلفي بعنوان كيف تجعل برنامجك أصعب في الكسر
....وهناك عدة طرق اخرى
أشكرك وجارى الاطلاع
-
أعلم التصريح بإستخدام الاسيمبلى داخل بيئة دلفى ولكن ما قصدته للتعليمتان SETE and STENE
اراهم داخل برنامج Ollydbg أثناء التنقيح فهم يختبران ما إذا كانت قيم احد المسجلات 1 أو 0
فقط ما هى طريقة محاكة لهاتان التعليمتان اثناء البرمجة

دمت بود
إقتباس :ما قصدته للتعليمتان
SETE and STENE
اراهم داخل برنامج Ollydbg أثناء التنقيح فهم يختبران ما إذا كانت قيم احد المسجلات 1 أو 0

نعم اخي الكريم فهاتان التعليمتان تأتران على المسجلات او المتغيرات حسب القيمة الوجودة في مسجل الرايات Flags Register

STENE = Set if not equal
SETE = Set if equal

وهناك غيرها ك SETNA و SETA و...

ويمكنك استعمالها في دلفي على المتغيرات لحفظ قيمة فيها (0 أو 1) بعد عملية المقارنة ..أو حسب الرغبة

وهدا مثال

PHP كود :
procedure TForm1.FormCreate(Sender: TObject);
var 
Bool: Boolean;
begin
  asm
     MOV EAX
, 1
     CMP EAX
, 26
     SETE Bool
  end
;
  
ShowMessage(FloatToStr(Abs(StrtoFloat(BoolToStr(Bool)))));
end;