الموقع العربي الاول للعبة Silkroad Online

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   ZSZC & Aurora (https://silkroad4arab.com/vb/forumdisplay.php?f=170)
-   -   الموضوع ده عن silkroad security يارب يفيدكو (https://silkroad4arab.com/vb/showthread.php?t=326266)

mats0o0o0 30-03-2011 11:29 PM

الموضوع ده عن silkroad security يارب يفيدكو
 
http://img5.mediafire.com/45aaf5791e...deb024c84g.jpg

انا هتكلم النهارده ان شاء الله عن silkroad security و ازاى نفهمها و نتعامل معاها على شان اكون صريح معاكو الشرح مش كلو بتاعى على شان الوقت بس و ان شاء الله تفهموه كويس و اللى محتاج توضيح لحاجه انا فى الخدمه

مقدمه عن الموضوع

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

كما هو الحال مع أي موضوعات مسبقا مثل هذا، يفترض أن يكون لديك بعض المعرفة الأساسية
تقنيات الهندسة العكسية، C / ++C ، و فهم طريقه الأمن
في المفاهيم العامة. وسوف توفر الكثير من الصور والملاحظات الجانبية، ورمز لجعل هذه المادة على نحو
فعال قدر الإمكان، ولكن سيكون في النهاية متروك لكم للقيام بالبحث عند الحاجة.
وقال مع ذلك، فقد حان الوقت لتبدأ!
http://img28.mediafire.com/bd4815b4f...5ead70204g.jpg
نظره عامه :
سنبداء بنظره عامه على البروتوكول الامنى لسيلك رود و هنا صوره مصغره عن ما يجرى في العملية الامنيه

يا اخونا معلش انا هشرح الصوره على شان مش عارف ارفعها

هنا العميل client الخادم server

1-يتصل الخادم مع العميل
2- يرسل الخادم بداء المصافحه مع العميل
3-يرسل العميل للخادم مصافحه صداقه
4-يرسل الخادم للعميل مصافحه تحدى
5- يقبل العميل مصافحه التحدى
6- يبداء فى التحميل او تعريف الخادم على العميل
7- يرسل العميل تشفير للخادم
8-يقبل الخادم هذا التشفير
و بكده يكون الشغل بين الخادم و العميل انتهى و تبداء عمليه جديده بس الاول نعرف معنى الكلام اللى حصل ده ايه
تبداء العمليه عندما يريد العميل الاتصال بلخادم عند تلقى طلب الاتصال الملقم يرسل حزمة المصافحة إلى العميل
يتم تحليل هذه الحزمه بتهيئه العميل و البروتوكول الامنى و بعد تهيئه النظام الامنى يرسل العميل رساله الصداقه الى الخادم لتحديد هويته و نظرا لهذه المعلومات يقوم الخادم بارسال رساله تخويف للعميل لكى يتحقق من هويته الاساسيه و اذا كانت الرساله تتفق بشكل كامل مع ما يتوقعه العميل سيقوم العميل بإرسال مصافحة
تنافس رسالة القبول إلى الخادم والعملية. إذا لم يصل اى شيئ للعميل يقوم بئغلاق هذه العمليه و اذا تلقى رساله بى المقابل يقوم بلتفعيل فورا.

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

// This is the generic packet structure structtPacket
{
// Size of this packet
WORD size;
// Opcode of this packet
WORD opcode;
// Security count byte
(0 from server to client packets) BYTE securityCount;
// Security crc byte
(0 from server to client packets) BYTE securityCRC;
// Pointer to the remaining data and other packets
BYTE dataPointer[8186]; };
};
حجم -- 2 بايت. هذا حجم حموله البيانات من الحزمه. وهذا لا يشمل 6 وحدات البايت لرأس
شفرة تشغيل -- 2 بايت. هذه شفره تشغيل الحزمه
SecurityCount
1بايت .0 لو الحزم مرسله من قبل الخادم تدخل فقط ضمن حزم العميل
Security CRC
1 بايت. 0 إذا كان يتم إرسال الحزمة من الخادم يتم تعيين هذا فقط من قبل العميل لحزم الخادم
DataPointer
-- 0 بايت أو أكثر. وهذه هي البيانات المتبقية من الحزمة أو ممكن أكثر من حزمه هنا بقى يا رجاله هاقولوكو معلومه صغيره اخر حد للبايت بتكون 8186 على شان ده ماكس الحد البدنى للحزم كلها مع بعض بمعنى نو مينفعش العميل يبعت للخادم اكتر من كده مره واحد و يحط الحزم كلها مع بعض

الموضوع القادم عن الملاحظات الهامه على الحزم فى سيلكرود اللى لازم نعرفها يتبع ان شاء الله و سلامى ختامى
اتمنى انى المره الجايه انسقو احسن من كده
شكر خاص للعضو ahmedsyko لمساعدته ليا فى تنسيق الموضوع
http://img19.mediafire.com/23a0d2e79...a378edbc4g.jpg

mats0o0o0 30-03-2011 11:29 PM

بسم الله الرحمن الرحيم
هنا انا هاحط فى الاول شويه ملاحظات عن الباكتس او الحزم اللى لازم نعرفها
1- ان رئس الحزم لا تزيد عن 6 بايت و هوا ده الحد الاقصى
2-الحزم المشفره على 2 بايت المخصصين للحجم لا يمكن تشفيرهم ابدا ( اعاده تشفيرهم )
3- بس هنا ممكن نستخدم ماسك قليل فى النسبه للتشفير من 0x8000
4-security count and CRC دول يتم تعيين المساحه او البايت لهاتين الوحدتين من خلال العميل و الخادم فقط و اذا فشل فى التعيين يتم ايقاف العمليه نائيا
5- الحزم لا تائتى بشكل فردى بل يتم تجميعها معا و هنا سيكون لديك تحليل كامل للبيانات من خلال تيار كامل جاء من الخادم
6- ليس مضمون ان تصل الحزم كلها كامله و ده معناه بلبلدى كده انك المفروص تحافظ على حد معيين انتا تحدده قبل ما تحلل الحزمه
7- شرط اللى يستخدم الحجات ديه يكون عندو معرفه كافيه بلغه البرمجه الى هيستخدمها و ميكونش هاوى :) او بيدعى المعرفه ^^
هنا احنا خدنه لمحه عامه على الشغل اللى احنا المفروض نفهمه و طبعا نص حقوق النشر محفوظا لصاحبها ايا كان بس نصها فقط ليس ايلا
دلقواتى هندخل فى الصعب 3 اقسام 1- البروتوكول 2- تطبيقات فى تنفيذ المهمات اللى احنا هنعملها
3- عينه تطبيقيه ( يعنى هنشوف ايه هيا الحاجه اللى هنطبقها)

هنبداء فى كلمنا عن
1-عمليه المصافحه
السؤال اللى هنطرحه هنا هوا ازاى نعرف نستخدم عمليه المصافحه فى سيلك رود و ده جزئ من انك تكون مبرمج تمام انك تعرف ازاى تدور على ايه و بوضوح و طبعا لو انتا مبرمج محترف و انا بدقق جدا على الكلمه ديه مش هتواجه اى مشكله. فى حاله البحث عن النص المشار اليه الا و هوا النص العام لسليك رود silkroad.exe فسوف نجد التالى
http://img231.imageshack.us/img231/585/121w.png

نقوم بابحاث اوليه من خلال البحث عن طريق سلاسل النص يعطى على الفور بعض من المعلومات الحساسه على ما يمكن توقعه للتاكد بلرغم انه يجب اخذ نظره على الحزم التى ترسل بين العميل و الخادم و هنا هنشوف مثال لاول 4 رسائل و الذى يحدث حتى تتم عمليه المصافحه بين الحزم هذه المعلومات اخذت بواسطه drew على شان الصور من عندو ^^
اقتباس:

From Server to Client: 25 00 00 50 00 00 0E 70 82 27 11 5B 5F E5 28 E6 00 00 00BF 00 00 00 8F 44 3E 0F DA 32 6B 2B 7F FF C6 03 A3 25 1D 0C EF 6A BE 00 From Client to Server: 0C 00 00 50 CE 90 26 3B 0D 03 DA 69 80 F8 5E DE 39 8D From Server to Client: 09 00 00 50 00 00 10 83 A3 B5 60 CE 67 D8 63 From Client to
Server: 00 00 00 90 DB D5
لو بدائت تعكس نظام البكيتس او الحزم مش هتاخد وقت لتخمين اول ان اول 2 بايت هوا الحجم فى كل مجموعه من البيانات اول 2 بايت تصف عدد البايت اللى قادم بعد السته الاولينيين على شان كده رئس الحزمه هتكون 6 بايت بس و تذكر انه عند قرائه ال hex او العرافه لهذه السلاسل عليك ان تاخذ و حدات البايت الى الوراء حجم الحزمه الاولى 0x0025
و الثانيه 0x000C و الثالثه 0x0009 و الرابعه 0x0000.
نكمل الباقى بكره ان شاء الله على شان تعبت و عايز انام هههههههههه و شكرا لردودكو اللى زى الفل يا رجاله سيلك رود 4 اراب
التكمله :
من الكلام اللى فوق ده هنفترض ان ديه التشكيله الصحيحه للحزم التى جمعناها .
اللى هنا مش كيفيه عكس العميل للمعلومات ديه على قد ما هيا بتتكلم عن كيفيه استعمالها.
لو سجلنا فى silkroad.exe كذا مره هنشوف ازاى بتختلف حزم الرئس عن رئس البيانات نفسها هنفترض ان ده معناه اننا لازم ندخل جوا العميل لمعرفه ايه الكلام اللى بنقوله ده بيمشى او ببتعامل معاه ازاى
و هنبدا هنا بشرح البروتوكول الامنى بس مش هنقول ازاى نكتشف المعلومات اللى احنا عايزينها من العميل
هنبداء مع الحزمه الاولى التى تلقيناها معى التحليل الصحيح ده هيوريك ايه اللى هنوصل ليه من خلال التفسيرات الاتيه
اقتباس:

[25 00] - Size
[00 50] - Opcode
[00] – Security Count
[00] – Security Crc
0E] - Flag]
[Blowfish- [70 82 27 11 5B 5F E5 28
E6 00 00 00] – Count Seed]
BF 00 00 00] – CRC Seed]
8F 44 3E 0F] – Seed 1]
DA 32 6B 2B] – Seed 2]
7F FF C6 03] – Seed 3]
A3 25 1D 0C] – Seed 4]
EF 6A BE 00] – Seed 5]
نبداء بى اول حزمه تجيلنا و يجب ان نعرف اولا ما هى الطريقه المستخدمه لتشفير هذه الحزم لاستخدمها فى الاتصال
و على شان نعمل كده نشوف البايت الاول فى البيانات اللى هيا ال datapointer و هى جزئ من هيكل البيانات
و هنا يمكننا تحديد الهيكل للقيام بذالك
اقتباس:

// Base packet to figure out which one we have
structServer_Packet_5000_Base
}
// Internal flag
;BYTE flag
;{
قيمه العلم اللى احنا كتبناه ده بيقولنا ايه هيا طريقه التشفير اللى احنا بنتعامل معاها من اجل هذه الماده و سوف تكون القيمه 0xE و هذا ما يعنى blowfish و handshake و count و security bytes
كل ما يعرضه العميل سيكون متاح مع هذا العلم وسائط اخرى بشكل انتقائى تتيح تعيين نظام امنى اخر فضلا عن تعطيل كل شيء

mats0o0o0 30-03-2011 11:31 PM

محجوز برده :)

ahmedsyko 30-03-2011 11:33 PM

اقتباس:

شكر خاص للعضو ahmedsyko لمساعدته ليا فى تنسيق الموضوع
العفو على اليا صاحبي موضوع 100 100 مستن المزيد إس

..HanKok.. 31-03-2011 01:19 AM

هو انا لييه مش فاهم حاجة هو انا لوحدى اللى كده ولا فى حد تانى

mats0o0o0 31-03-2011 01:24 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة اتنالب (المشاركة 3254820)
هو انا لييه مش فاهم حاجة هو انا لوحدى اللى كده ولا فى حد تانى

منور و الله مش بشوفك هنا من فتره ههههههههه لا ان شاء الله لما الموضوع يكمل هتفهم كل حاجه بس على العموم برده الموضوع ده للمبرمجين او الناس اللى عندهم فكره عن البرمجه

™_Chero_™ 31-03-2011 01:34 AM

تمام بس هو مكانه الصح قسم الحماية و هما يدوكـ التقييم المناسب ^^

بس شكرا طبعا :)

mats0o0o0 31-03-2011 01:40 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة cherooooo (المشاركة 3254859)
تمام بس هو مكانه الصح قسم الحماية و هما يدوكـ التقييم المناسب ^^

بس شكرا طبعا :)

شكرا لمرورك و ارجو انك تتابع الموضوع على شان لسه فيه حجات كتيير اوى و انا عملته هنا على شان الناس طلبو ان يكون فيه بوت عربى فا انا هاشرحلهم ازاى يتعمل على شان انا مش هكون فاضى اعمله ورايا جيش ههههههههههههه

Mido 7ilmi 31-03-2011 01:50 AM

انا مش فاهم اي حاجه بس تشكر على مجهودك

mats0o0o0 31-03-2011 04:28 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة mido 7ilmi (المشاركة 3254902)
انا مش فاهم اي حاجه بس تشكر على مجهودك

ركز شويه فى الكلام و انتا تفهمه ان شاء الله

Evil_Bro 31-03-2011 05:17 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة Mido 7ilmi (المشاركة 3254902)
انا مش فاهم اي حاجه بس تشكر على مجهودك

+1 مش عارف ليه مش فاهم حاجة :icecream:



بس بجد باين عليه موضوع رائع علشان بتقول في المزيد :confused:

TUNNER§ 31-03-2011 05:25 AM

اي صورة حضرتك مش عارف ترفعها على المنتدى اتفضل

www.m5zn.com

..HanKok.. 31-03-2011 09:59 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة mats0o0o0 (المشاركة 3254834)
منور و الله مش بشوفك هنا من فتره ههههههههه لا ان شاء الله لما الموضوع يكمل هتفهم كل حاجه بس على العموم برده الموضوع ده للمبرمجين او الناس اللى عندهم فكره عن البرمجه

لا والله موجود بس انا ما بحبش اكتب ردود غير فى مكانها

ربنا معاك فى موضوعك يا كبير

~~SenshyKodo~~ 31-03-2011 11:15 AM

هحاول افهم

Menato 31-03-2011 11:24 AM

يا ريت شرح بالصور و شكرا على مجوهدك


الساعة الآن 12:37 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions, Inc.