تقييم الموضوع :
  • 9 أصوات - بمعدل 4.11
  • 1
  • 2
  • 3
  • 4
  • 5
مجلة المهندس العكسي العدد 01
#1
السلام عليكم و رحمة الله
 
[صورة مرفقة: at4re_rei_01.jpg]


الفريق العربي للهندسة العكسية و بكل فخر يقدم لكم هذا المولود الجديد و هو عبارة عن مجلة تقنية تنشر شهريا (منتصف كل شهر) يتم فيها التطرق إلى مواضيع متنوعة تلمس عالم الهندسة العكسية.

تتمحور مواضيعها حول التعديل الذكي على الملفات، محاكاة خوارزميات فحص معلومات التسجيل، امن المعلومات، تحليل البرامج الضارة، التعريف بأداة موجهة للهندسة العكسية و مواضيع أخرى.

يكتبها طاقم أعضاء الفريق العربي للهندسة العكسية مع إمكانية نشر مقالات لأعضاء آخرين لا ينتمون للفريق.

الفريق العربي للهندسة العكسية منكم و إليكم.

رابط تحميل العدد 01:
https://www.at4re.net/files/at4re_rei/at4re_rei_01.rar
قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة
أخي لن تنال العلم إلا بستة... ذكاء و حرص و اجتهاد و بلغة...و صحبة أستاذ و طول زمان
أعضاء أعجبوا بهذه المشاركة : AT4RE , M!X0R , Gu-sung18 , Polia , adhem , mribraqdbra , azarol
#2
افتباس من Coldzer0
 
إقتباس :
عندى سؤال بخصوص الجزئيه المتعلقه بال Delphi unit

لما يتم مسح ال program واضافه unit و {$E exe} تحدث مشكله وهى عدم تمكن البرنامج من التعرف على المتغيرات النصيه
مثلا
command := 'Helo '; فى هذه الحاله لا يعمل بسبب عدم معرفه المتغيرات واماكنها ف الذاكره على حسب تحليلى من داخل olly
لان الكومبيلر لا يعمل اضافه لل _InitExe الى فى ملف الجديد الناتج من ال unit

حاولت باكثر من طريقه لكن للاسف لم ينجح الامر Big Grin

 اقتباس من STRELiZIA
إقتباس :
نعم عند دفع الكومبايلر اهمال دوال الــ Initialization فانه يجب استبدالها بتغيير طريقة التفكير برمجيا...
مثلا، عند الاعتماد على الــ Affectation كما هو في العادة في البرمجة بدلفي الرمز ( :=: )

command := 'hello';
فإن نجاح عملية البناء تحتاج الى دوال اضافية يدمجها الكومبايلر مثل:

UStrClr@4
HandleFinally@0
UStrAsg@8

عند اهمالها قد تسبب اخطاء خلال التنفيذ او فشل عملية البناء...
//{$DEFINE StandardBuild}
{$E exe}

{$IFDEF StandardBuild}
program TabulaRasa32;
{$ENDIF}

{$IFNDEF StandardBuild}
unit TabulaRasa32;
interface

implementation
{$ENDIF}

uses
  Windows;
 var str: string;
begin
  str := 'AT4RE';
  MessageBoxA(0,
    'Try to build sample like me!',
    PAnsiChar(str),
    MB_ICONINFORMATION);
end.

هذه الأوامر مع اضافة متغير نصي يتم استدعائه يعمل عندي بدون مشاكل، لكن الملف الناتج كبير الحجم اكثر من 10 كب... بعد دمج الكومبايلر لكل ما يحتاجه لمعالجة النصوص...

//{$DEFINE StandardBuild}
{$E exe}

{$IFDEF StandardBuild}
program TabulaRasa32;
{$ENDIF}

{$IFNDEF StandardBuild}
unit TabulaRasa32;
interface

implementation
{$ENDIF}

uses
  Windows, SysUtils;
 var str: PAnsiChar;
begin
  SysUtils.StrCopy(str, 'AT4RE');
  MessageBoxA(0,
    'Try to build sample like me!',
     PAnsiChar(str),
    MB_ICONINFORMATION);
end.

لذا يجب تغيير طريقة التفكير و عدم الاعتماد على تغليفات دلفي و الاعتماد الكلي على البرمجة بــ Pure API و العمل بالــ Pointers على طريقة السي بلص بلص... يصبح الناتج صغير الحجم... 3.5 كب
مع عدم نسيان Initialization و تصفير المتغيرات المحجوزة التابعة للمؤشرات اولا... (في تغليفات دلفي يتم عملها بدون تدخل المبرمج) و بطريقة المقالة فالتفكير يجب ان يكون بعقلية التعامل مع المتغيرات على طريقة السي بلص بلص.
implicit conversion (think forward)

أعضاء أعجبوا بهذه المشاركة : dj-siba , M!X0R , Polia , adhem , mribraqdbra , azarol


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم