نحن مع غزة
الـرئـيـسـيـة الـمـنـتـدى سـؤال & اجـابـة الـتـبـرع بـالـدم الاسـتـضـافـة هـلال لـيـنـكـس الـقـرآن الـكـريـم Dz-SeC team


التسجيل في المنتدى غير متاح حاليا, اذا كنت ترغب في الحصول على عضوية ارجو مراسلتي على البريد الالكتروني "[email protected]"


مطلوب مشرفين على كامل اقسام المنتدى


أخي / أختي , إن تسجيل عضوية جديدة في منتدى شبكة الجزائر للجميع لا يهدف إلى زيادة الأعضاء مطلقا
فلا خير في عضوية عدد مشاركاتها صفرا فنحن نرفض يوميا الكثير من العضويات المشكوك في أمرها
سواء كان هدفها الإعلانات الغير شرعية أو تخريب الموضوعات الخ , كل هذا حتى يبقى المنتدى
ساحة جادة عطرة تجود بالخير لكل زوارها وأعضائها
وصدقة جارية لكل من يشارك في كتابة معلومة تفيد غيره سوف يشكر الله عليها وهو في جوف الأرض ...

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

للتسجيل اضغط هنا وأملأ البينات المطلوبة بشكل صحيح ومن ثم انتظر حتى نقوم بتفعيل حسابك وابدأ رحلتك في صناعة صدقة جارية .

وتذكر قول سيد الخلق " إذا مات ابن آدم انقطع عمله إلا من ثلاث صدقة جارية أو علم ينتفع به أو ولدٍ صالح يدعو له "

 
العودة   منتدى أمن الإسلام | لا اله الا الله محمد رسول الله | IS-SEC.ORG | Dz-SeC Team | > ::. ألاقـسـام الـعـامـة .:: > [ منتدى اخبــــار الشبكـــة]
 

[ منتدى اخبــــار الشبكـــة] خاص باخر اخبار الشبكات وتكنولوجيا المعلومات

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 20/03/2012, 21:14   المشاركة رقم: 1
المعلومات
الكاتب:
 ADMINISTRATOR  
اللقب:
عـضـــو كسول
الصورة الرمزية
 
الصورة الرمزية ADMINISTRATOR

البيانات
التسجيل : Nov 2010
العضوية : 787
الاهتمامات :
الإقامة :
المواضيع : 71549
الردود : -1
المجموع : 71,548
بمعدل : 12.65 يوميا
الاختراقات : []
مجتمعنا : []
الصنف : Not Hacker
آخر تواجد : 13/11/2010/22:11
سبب الغياب :
معدل التقييم: 87
نقاط التقييم: 12
ADMINISTRATOR is on a distinguished road
شكراً: 0
تم شكره 79 مرة في 78 مشاركة



الإتصالات
الحالة:
ADMINISTRATOR غير متواجد حالياً
وسائل الإتصال:

افتراضي Kaspersky تفك غموض اللغة البرمجية التي كُتب بها تروجان Duqu

Tweet
تم كشف الستار أخيراً عن اللغة البرمجية الغامضة التي ذكرت Kaspersky من فترة قريبة، أن أجزاء كثيرة من إطار عمل Duqu قد كتبت بها، هذا وقد دفع غموض الرماز البرمجي شركة Kaspersky إلى دعوة مجتمع المبرمجين إلى المساهمة بما لديهم من معلومات قد تفيد بمعرفة اللغة التي كتبت بها تلك الأجزاء من Duqu.

Disassembly of the original Duqu code: construction of the linked list class


بعد حصول Kaspersky على أكثر من 200 تعليق و 60 رسالة برريد إلكتروني حول اللغات وأطر العمل المحتمل أنه قد تم استخدامها في كتابة Duqu، تعود Kaspersky علينا بتدوينة بقلم Igor Soumenkov تقول فيها ***8220;****ً جزيلاً!***8221; لكل من ساهم بأي معلومات قد تفيد في تحديد الرماز الغامض.

لنستعرض اللغات التي كانت الأكثر اقتراحاً من قبل المشاركين:

  • أشكال مختلفة من LISP
  • Forth
  • Erlang
  • Google Go
  • Delphi
  • OO C
  • compilers قديمة لـ C++ ولغات أخرى.
وبفضل بعض التعليقات المفيدة جدًا والتي تدل على خبرة كاتبيها، أمكن القول الآن، وبدرجة كبيرة من الوثوق بأن Kaspersky وجدت إجابتها المنشودة.

فيما يلي نقتبس بعض المشاركات التي ساعدت بحل هذا اللغز:
igorsk
Simple Object Orientation (for C)

It seems someone over at reddit*(http://www.reddit.com/r/ReverseEngineering/) hit the jackpot: the code snippets look _very_ similar to what this would produce:http://daifukkat.su/wiki/index.php/SOO
There are a few other OO frameworks for C, but they don***8217;t match as well:*http://ooc-coding.sourceforge.net/*http://sooc.sourceforge.net/
Jonwil
Re: Other C/C++ compiler?

I have seen how GCC works internally and its ABI (for a number of different versions) and I can confirm that the Duqu code is definitely not generated by GCC. I don’t know how other C++ compilers work but the things I see in the ASM (like where the pointers to the functions go, the way the ***8220;this***8221; pointer is passed etc) do not suggest C++ to me but something else entirely. (such as the aforementioned ***8220;object-oriented***8221; frameworks for C that exist)
igorsk
Re: Other C/C++ compiler?

I’m 99% sure the machine code was generated by MSVC. It’s something you get a feel with experience, but I can point out two things that are quite characteristic of MSVC: 1) it uses esi as the first candidate for temporary storage; 2) “pop ecx” instead of “add esp, 4”.
حصلت Kaspersky أيضاً على رسالتي بريد إلكتروني ملفتتين للانتباه، حيث اقترح كل من Pascal Bertrand المعروف بـ bps وكاتب آخر -فضل أن تبقى هويته غير معروفة- اقتراحا بأن الكود تمت كتابته بواسطة لغة كائنية التوجه، متفرعة عن لغة C، تدعى ***8220;OO C***8221;.

هذا وقد كانت التعليقات مهمة جدًا حيث ساعدت فريق Kaspersky على تتبع المترجم Compiler الذي تم استخدامه في المشروع: Microsoft Visual Studio compiler.

ويقول Igor بأنه قضى بعض الوقت يقوم بتجربة نسخ مختلفة من MSVC compilers وشفرات برمجية مختلفة وخيارات ربط مختلفة، في محاولة منه لتوليد الرماز المصدري الخاص بالتابع الباني المذكور في تدوينته السابقة التي دعى فيها للمساعدة بمعرفة اللغة.

Disassembly of the original Duqu code: construction of the linked list class
Manually decompiled C code that produces the same code


الكود السابق، عند ترجمته باستخدام MSVC 2008 والخيارات /O1 (minimize size) /Ob1 (expand only __inline) يقوم بتوليد opcodes مطابقة للتي تمت مشاهدتها في النسخة التنفيذية من Duqu.

ويضيف Igor بأنه في حال تم تغيير ترتيب العمليات وكُتل if/else فإن الكود الناتج سيختلف نوعًا ما عند استخدام MSVC 2005. لذلك يمكنهم القول وبدرجة عالية من الوثوق بأن اللغة المستخدمة كانت C وأنه تم استخدام MSVC 2008 مع الخيارات /O1 /Ob1.

ما يعنيه هذا الكلام بشكل مختصر، أنه يوجد احتمالان للسؤال الأساسي:

  1. أن الكود تمت كتابته باستخدام إطار خاص من OO C، بالاعتماد على Macros أو موجهات خاصة للمعالج.
  2. أن الكود بكامله قد كتب بـ OO C يدوياً، بدون أي إضافات إلى اللغة كالـ macros.
ونظرًا للتشابه الكبير في التعليمات في التوابع البناءة والتوابع الأعضاء، أمكن الافتراض بأن الاحتمال الأول هو الأقرب للواقع.

لكن لماذا *OO C بدلاً من C++ ؟

بمناقشة الفكرة مع بعض الأشخاص الذين يفضلون هذه التقنيات، أمكن استخلاص سببين لهذا الأمر:

  1. لا يثقون بـ C++ compilers، وهؤلاء هم غالبًا أناس بدؤوا البرمجة منذ زمن بعيد، عندما كانت المجمّعات assemblers هي الخيار الأمثل. C كانت لغة ثورية في ذلك الوقت تجاوزت لغة التجميع وسرعان ما أصبحت اللغة القياسية في البرمجة. عندما تم نشر C++ فإن الكثيرين من المبرمجين القدامى فضّلوا أن يلتزموا باستخدام C بدلًا منها لعدم ثقتهم بطرق حجز الذاكرة وخصائص أخرى غامضة في اللغة تسمح بتنفيذ كود برمجي بشكل غير مباشر (على سبيل المثال، التوابع البناءة).
  2. الـ portability العالية. حيث يمكن ترجمة كود C باستخدام الكثير من الـ compilers. فمثلًا، منذ زمن طويل (10 ***8211; 12 سنة مضت) كان بالإمكان ترجمة كود C++ على MSVC في حين لم يكن بالإمكان ترجمة ذات الكود على Watcom C++ مثلاً. لذلك إن أردت الحصول على منقولية عالية بين المنصات، فعليك البرمجة بلغة C.
هذان السببان يقترحان بشكل غير مباشر أن الفريق المسؤول عن برمجة Duqu مؤلف من مبرمجين مخضرمين، يتبعون لنمط ***8220;المدرسة القديمة***8221; في البرمجة.



آخر مواضيع » ADMINISTRATOR

عرض البوم صور ADMINISTRATOR   رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)


حالياً الأعضاء النشيطين الذين يشاهدون هذا الموضوع : 1 (0 عضو و 1 ضيف)
 

(أظهر الكل الأعضاء الذين قاموا بمشاهدة هذا الموضوع : 1
S1LV3rS3rf3r

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة

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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
أجزاء من تروجان Duqu مكتوبة بلغة برمجية غير معروفة، وKaspersky تطلب من المبرمجين مُسا ADMINISTRATOR [ منتدى اخبــــار الشبكـــة] 0 11/03/2012 11:11
لنجعل مواقعنا أسرع – الشيفرة البرمجية ADMINISTRATOR [ منتدى اخبــــار الشبكـــة] 0 09/01/2012 20:41
تحديثات مزيفة لفايرفوكس بالإضافة إلى تروجان هدية! ADMINISTRATOR [ منتدى اخبــــار الشبكـــة] 0 11/08/2011 23:33
Whats up Startups: الأجندة التي تبقي رواد الأعمال على إطلاع بالأحداث التي تهمهم ADMINISTRATOR [ منتدى اخبــــار الشبكـــة] 0 20/03/2011 20:42
جوجل تسهل فهم مكتباتها البرمجية ADMINISTRATOR [ منتدى اخبــــار الشبكـــة] 1 08/03/2011 15:58

الساعة معتمدة بتوقيت جرينتش +1 . الساعة الآن : 07:43.
Copy Right Des 2010 - 2014 To is|sec Organization, Des By  yasMouh 
Powered By vBulletin Special Edition, Secured By Dz-SeC team
Support by Dz-SeC team




RSS RSS 2.0 XML MAP HTML



 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115