• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

AND

الاعضاء المجتهدين
  • عدد المشاركات

    145
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

2 عادي

عن AND

  • الرتبة
    عضو

طرق الإتصال

  • ICQ 0
  1. Hard disk tool

    لا ليس Shredding ، الأداة تقوم فقط بالغاء البارتيشن في نظام الملفات فقط دون اي تغير في الملفات ولهذا فهي في اجزاء من الثانية يمكن أن تنهي الأمر فيتخيل اي شخص ان الهارد تلف او فقدت محتوياته ولكن كل شيء موجود ، فقط اعادة بناء البارتيشن السابقة يكفي لاعادة الامور ، ال Shredding وال Replacement وحذف الملفات نهائيا يأخذ وقت مثل وقت عملية ال copy ، paste تم مناقشة هذا البرنامج كفايروس هنا فيروس خطير للتحليل
  2. نعم بالعودة لجدول المقاطعات Idt فان المقاطعة 1A وباقي مقاطعات البيوس محجوزة 0014 0008:8053F950 0 P 32 bits Interrupt Gate Intel reserved. Do not use 0015 0008:8053F950 0 P 32 bits Interrupt Gate Intel reserved. Do not use 0016 0008:8053F950 0 P 32 bits Interrupt Gate Intel reserved. Do not use 0017 0008:8053F950 0 P 32 bits Interrupt Gate Intel reserved. Do not use 0018 0008:8053F950 0 P 32 bits Interrupt Gate Intel reserved. Do not use 0019 0008:8053F950 0 P 32 bits Interrupt Gate Intel reserved. Do not use 001A 0008:8053F950 0 P 32 bits Interrupt Gate Intel reserved. Do not use 001B 0008:8053F950 0 P 32 bits Interrupt Gate Intel reserved. Do not use 001C 0008:8053F950 0 P 32 bits Interrupt Gate Intel reserved. Do not use 001D 0008:8053F950 0 P 32 bits Interrupt Gate Intel reserved. Do not use 001E 0008:8053F950 0 P 32 bits Interrupt Gate Intel reserved. Do not use 001F 0008:806CFFD0 0 P 32 bits Interrupt Gate Intel reserved. Do not use أخبرنا بالنتيجة عند التجربة وبالتوفيق
  3. السلام عليكم هل هذه الطرق منفصلة ومختلفة عن بعض ؟ وهكذا فهمتها ام هي مراحل اي المرحلة الاولى ثم الثانية والثالثة اذا كانت طرق مختلفة فالطريقة الاولى كيف تقوم باستدعاء المقاطعة من الـreal mode وهو غير مهيأ للتعامل مع مقاطعات الدوس ما فهمته ان جدول المقاطعات عندما يهيأ من قبل انظمة الدوس و9x هي مختلفة عن جدول مقاطعات أنظمة NT بمعنى ال Nt لاتحتوي مقاطعات الدوس في جدول المقاطعات حتى يتم استدعاؤها. فما رايكم بهذا الكلام ؟
  4. PE32 Function Viewer

    مجهود جميل اعجبني صغر حجمه وتحديد عدد مرات استدعاء دالة معينة لكن ما الذي يميز هذا البرنامج عن البرامج الاخرى؟! أيضا على أي أساس قمت باستخراج دوال private على رأيك ! هل التعليمة التي بعد تعليمة ret وغير موجودة في ال export ؟ هناك الكثير من الاكواد على هذا الشكل ولكن لا تمثل دالة حقيقية تقوم بانجاز مهمة معينة . لماذا لا تستخدم التوقيع المميز للدالة على أكثر من نسخة للويندوز بدل العنوان وتضمن العمل على كافة النسخ المحددة ؟
  5. هذا الكود وظيفته هو ترتيب ال Modules في المصفوفة التي تم حجزها في الذاكرة (hMods) من العنوان الاصغر الى العنوان الاكبر، اي 7C800000 يضعها قبل 7C900000 حتى يتم عرضها في ال ListView بشكل مرتب [hMods+ecx*4] هذه تعني العنوان الموجود عند hMods+ecx*4 والاقواس [] تعني ما بداخل هذا العنوان او ما يؤشر عليه العنوان كل عنوان هو عبارة عن 4 بايت وكما قلت يتم ارجاع نتيجة الدالة السابقة بجميع المقابض دفعة واحدة فعند الحصول على اول مقبض تكون قيمة ecx = 0 وبالتالي 0x4=0 هنا نحصل على اول مقبض لModule الموجود في hMods وحتى نحصل على المقبض التالي يجب ان ننتقل 4 بايتات للامام وبذلك نزيد قيمة (inc ecx) لتصبح ecx = 1 وبالتالي 1x4=4 وبالتالي hMods+4 وهكذا بشكل متكرر مع مضاعفات الرقم 4 حتى نصل الى مقبض الModule الاخير وتم تحديد عدد المقابض بقسمة حجم المصفوفة الناتجة على 4 .
  6. بالمناسبة ال ListView هي أعقد كونترول في الويندوز في حال اردت حل اسهل لتنفيذ هدفك استخدم RaGrid الموجود في محرر Radasm سهل ومرن في التعامل .
  7. للاسف العديد من الملفات المكتوبة بالعربية عندي لا يستطيع Foxit Reader فتحها .
  8. Speed_Of_Light: الخطأ هو في استخدام مجمع 32 بت واستخدام امر تجميع لل 32 بت استخدم مجمع masm 6 وما قبل .
  9. اي طريقة تقصد لا يوجد سوى كود واحد وهو الذي تم جمع الجزء الاول باستبعاد ما يقل عن 30h مضافا اليه الجزء الثاني ما فوق 39h ؟!
  10. في المرفقات مثال جيد لمبرمج غربي عن تلوين عدة كنترولز . بامكانك استخدام SetBkColor لتلوين الخلفية SetTextColor لتلوين النص كلاهما يحتاج handle to device context الخاص بهم بالامكان الحصول عليه من رسائل النظام المُرسلة الى الديالوج قبل ان يتم انشاء الكنترولز وهي مختلفة على حسب الكنترول WM_CTLCOLORSTATIC WM_CTLCOLORBTN WM_CTLCOLORDLG WM_CTLCOLOREDIT WM_CTLCOLORSCROLLBAR WM_CTLCOLORLISTBOXحيث بقنص الرسالة تحصل wparam به ال hDC وهذه الطريقة المستخدمة في المرفق. او بامكانك استخدام الدالة GetDC CTLColor.zip
  11. السلام عليكم عودا حميدا اخي Xacker تفاجأت بنشاط المنتدى بشكل غريب :D اخي aderfiad بالنسبة للمقارنة فهي كما قال Xacker الاعداد بالتمثيل الهكسي لها في ترميز الاسكي محصور بين 30h =< num =< 39h وخارج هذا المجال لا يعنينا اذا نريد تعليمة تتاكد من ان المُدخل اذا كان اقل من 30 نرفضه: cmp al,30h jb _ErrorNotNumber لاحظ اني اخترت jump if below لانها Unsigned وهذا فيما يختص بالاقل من 30h وحتى 00h اما بما يزيد عن 39h نفس الفكرة السابقة: cmp al,39h ja _ErrorNotNumber ليصبح كود التحقق من وجود ارقام فقط: cmp al,30h jb _ErrorNotNumber cmp al,39h ja _ErrorNotNumber Good its number: . . . . ErrorNotNumber: . . . هي المقاطعة int 21h , Ah وانتبه الى بارامترات الدالة فهي تطلب تحديد Buffer وادخاله في DS:DX وهذا البفر له تركيبة خاصة : اي يجب عليك تحديد أقصى عدد يمكن استخدامه في البفر ، وهو اول بارامتر . كمثال : .data MaxKeyBuf db 0feh ; [in] maximum characters could be written CharsWritten db 00h ; [out] return the number of characters written by user KeyBuffer db 255 dup (?) ; [out] hold characters .code lea dx,MaxKeyBuf mov ah,0ah int 21h
  12. هناك عدة اخطاء بين كتابية يكتشفها المترجم ، واخطاء منطقية بعد ترجمة البرنامج وتشغيله . الاخطاء الكتابية: حجم المتغيرات num1 و num2 و x يختلف عن حجم مسجل dx الاخطاء المنطقية: في حال نجاح ترجمة الكود السابق سيفشل البرنامج لانك لم تُنهي المتغيرين num1 و num2 باشارة $ عند عرضهم. هذا الكود لا يتم فيه استخدام وسيط مثل المتغير x ، بل يستخدم التعليمة xchg عدله بما يناسبك : .model small .stack 100 .data in1 db 0ah,0dh,'input chiffre 1:$' in2 db 0ah,0dh,'input chiffre 2:$' out1 db 0ah,0dh,'chiffre 1 is:' num1 db 00h,24h out2 db 0ah,0dh,'chiffre 2 is:' num2 db 00h,24h .code start: mov ax,@data mov ds,ax mov es,ax lea dx,in1 mov ah,9 int 21h mov ah,1 int 21h mov num1,al lea dx,in2 mov ah,9 int 21h mov ah,1 int 21h mov num2,al mov bl,num1 mov cl,num2 xchg bl,cl mov num1,bl mov num2,cl lea dx, out1 mov ah, 9 int 21h lea dx, out2 mov ah, 9 int 21h mov ax, 4c00h int 21h end start
  13. تقصد نظام الدوس ام الويندوز؟
  14. لا اعلم بالضبط ما هي التعليمات المختلفة بين AMD و Intel لاني لم ابحث جيدا في الموضوع . لكن التعليمات الاساسية Basic Architecture لا تختلف مثل التعليمات التي هنا http://www.itis.mn.it/linux/quarta/x86/index.htm لم انتبه الى هذا الرد في هذا الموضوع وهو يشرح ما اريد ذكره http://www.arabteam2000-forum.com/index.ph...t&p=1002771
  15. كما تعلم اخ Syntax_err النص في مقاطعات الدوس ينتهي ب $ ، وفي Win32 API ينتهي ب Null فيعتمد الموضوع على شرح الدالة او المقاطعة فالمقاطعة int 21h,9h المستخدمة في الكود فوق تتطلب string ينتهي ب $ لاحظ ايضا دالة lstrcpy في ويندوز تتطلب string ينتهي ب Null بينما lstrcpyn تستطيع تحديد عدد لحروف فيها .