![]() |
#1 | ||||||||||
![]() ![]()
|
![]() إن شاء الله ده أول درس في القسم وياريت يعجبكم... النهارده هشرح ازاي تستخرج ال Packets و تستخدمها في عمل Auto Events او Filter ..عاوزكم بس تكونو مركزين و الموضوع سهل مش كيمياء يعني ... الاول هقول نبذه عن Packets النبذه: الكل بيكلم أنه عاوز يعمل Auto Event او Filter لكن المفروض نعرف إن الموضوع مش سهل لكن إحنا مع بعض ودي أول خطوة... عشان نعمل Auto Event او Filter لازم نعرف Auto Event او Filter بيعمل ايه ؟ كلنا عارفين إن Silkroad لعبة Online ومعنى كدة أنه ليها Server طب إزاي اللعبة بتعرف السيرفر أنك عايز تمشي ؟ من خلال حاجة إسمها Packet ودي عبارة عن مجموعة من البيانات اللعبة بتبعتها للـServer عشان يعرف أن الشخصية عايزة تعمل حاجة وبرده السيرفر بيرد على اللعبة بـPacket عشان يعرفها أنها المفروض تمشي من غير مشاكل وكل ده طبعا بإستخدام النت. طب وإيه علاقة الAuto Event او Filter بالموضوع ؟ الAuto Event او Filter بيعمل إتصال بالسيرفر وبيضحك على اللعبة ويخليها تتصل بيه هو كأنه السيرفر عشان يتحكم فيها ولما الAuto Event او Filter كون عايز يتحرك ويضرب هو من نفسه بيبعت الـPacket للسيرفر مش بيستنا اللعبة وطبعا السيرفر شغال عادي عشان الباكيت جت له مظبوطة ولما السيرفر يرد على ال Auto Event او Filter بيبعت الرد لللعبة عشان كدة أنت بتشوف اللعبة بتتحرك وتضرب ، ولما أنت بتتحرك في اللعبة بتبعت الباكيت للAuto Event او Filter والAuto Event او Filter بيبعتها للسيرفر عشان كدة بيتحرك . طب لما أكون عامل البوت Clientless بيعمل نفس الكلام لكن بدل ما يكون متصل بالكلينت بيعتمد على نفسه ويلغي الـClient. لكن عشان اللعبة عايزة تحمي نفسها قامت مشفرة بعض الباكيتات وقامت عملت للباكيتات تقسيمة حلوة على قدها. طب دلوقتي أنا عجبني الموضوع وعايز أتصل باللعبة والسيرفر واشتغل زي البوت لكن أنا معرفش إزاي أفك التشفير واتعامل مع الباكيتات. أنت هتستخدم الSilkroad Security API اللي هو عبارة عن مجموعة من الأوامر المعمولة بواسطة pushedx ( اللي ميعرفش مين ده هقوله إن ده اللي كان مصنع الـedx loader وراجل بيفهم كويس في Silkroad ) مهمتها إنها تفك تشفير الحاجات المشفرة وترتب الـPackets بحيث تكون مفهومة لأي مبرمج. دلوقتي فهمنا ايه Packets هشرح دلوقتي التول ال هنستخدمها و هي EdxLoader زي ما قلت هشرح كل حاجه فيها حته حته لازم تعلم علي كلمه Packet Auto-Parser ![]() ![]() ![]() عرفنا خلاص كل حاجه في تعالي بقا نجرب اول باكت و هي Notice Tool كود PHP:
زي ما انا قولت انك بتبعت للسيرفر بكت هو بيرد عليك ببكت القدمك دي باكت ال نوتس مش ملاحظين في حاجه يعني انت ال باعتها اي حاجه في اوتو ايفنت عاوز انت تبعتها بتستخدم C<S و لما تكون عاوز تستقبل حاجه ينفع البوت ذات نفسه يشوفها بتستخدم S>C و في فلتر بتستخدم S>C مش C>S الرقم ده 7025 هو ال Opcode أل لازم تستخدمه يعني في سي شارب بتعمل كده ;(Packet notice = new Packet(0x7025 طب ياعم انت مصدعنا ايه 0x دي مش موجوجه في Analyzer اقولك يا سيدي انت لازم حوله يبقا Hex فا تحط 0ْx عشان مايحصلش ايررور او تخليه Decimal يبقا كده 28709 طب انا دلوقتي عرفت ال Opcode عاوز اعرف ايه التحت ده اقولك بقا دي قيم لازم تبعتها مع Opcode عندك تلت حاجات كود PHP:
فا انت هتحطها بقيمه Writeuint8 أل 07 + 00 طب ال 56 42 89 دي يا سيدي قصدها كلام ال هو Hello World دي الرساله و دي بتتبرمج علي اساس packet.WriteAscii فا انت هتيجي في سي شارب تعمل كده كود PHP:
|
||||||||||
![]() |
![]() |
#2 | ||||||||||
![]() ![]()
|
#تم الموافقة لكن انت ممكن تسبط علي نفسك كتير جدا لو استخدمت Packet reader كويس غير اللودر والكلام دا |
||||||||||
![]() |
![]() |
#3 | |||||||||||
![]() ![]()
|
اقتباس:
|
|||||||||||
![]() |
![]() |
#4 | ||||||||||
![]() ![]()
|
تسلم ايديك علي الشرح الوافي يازيزو ^_^ |
||||||||||
![]() |
![]() |
#5 | ||||||||||
![]() ![]()
|
تسلم علي الشرح .. |
||||||||||
![]() |
![]() |
#6 | |||||||||||
![]() ![]()
|
اقتباس:
|
|||||||||||
![]() |
![]() |
#7 | ||||||||||
![]() ![]()
|
كان من الأفضل تشرح في البداية موضوع الفلتر لوحده والكلينت ليس لوحده بالنسبة للأوتو إيفنت الكلينت ليس فكرته زي البوت كدا mbot , etc مجرد انه بيتحكم في كراكتر واحدة بس تكون مفتوحة من خلال الكلينت ليس كوننيكت ،، فا بالتالي أياً كان اللي عاوز تعمله بالكراكتر تقدر تعمله ،، كمثال لحاجتين مهمين ،، أول حاجة لو عاوز تتحرك في الجيم كمثال لازم عشان تتحرك تديلوا أمر انه يتحرك والأمر دا بيحتاج منك بيانات عشان يشتغل كمثال ال x y z region world id من غير متعرف البيانات دي متقدرش تشغل الأمر ،، والأمر دا ليه رقم محدد في الجيم ودي بنسميها C -> S يعني بتحصل لما الكراكتر تعمل حاجة وبتتبعت من الكلينت للسيرفر تاني حاجة لو عاوز تعرف ان الكراكتر اتحركت مثلاً عندك في سورس الكلينت ليس ملف اسمه Agent.cs ودا مسئول مسئولية كاملة عن موضوع الأوامر اللي اتنفذت خلاص بمعني عشان تتحرك قولنا لازم تقول للسيرفر انا عاوز اتحرك للمكان الفلاني السيرفر لو مردش عليك يبقا مش هتتحرك لو رد عليك هيرد في ال Agent.cs هيقولك انك اتحركت خلاص ،، فبالتالي تقدر تعرف انه اتحرك للمكان المطلوب وتقدر تخش ع الأمر اللي بعده ودا بنسميه S -> C الرد من السيرفر للكلينت ان كان بسماح الأمر المطلوب أو برفضه وبتيجي برضه رقم الأمر وبيانات بتدل علي الموافقة أو الرفض كمثال ال Script بتاعت البوت ما هي إلا أمرين الأول انه يبعت حركة جديدة والتاني يتأكد ان الحركة اللي بعتها اتحركها بالفعل ولا لأ عشان يبدأ في الحركة اللي بعدها في كلتا الحالتين الرقم دا بيسمي Opcode والبيانات اللي هتستخدمها أو اللي بتيجي مع ال Opcode من السيرفر بتسمي Parameters وهي دي مكونات الباكيت الأساسية بالنسبة للفلتر دا موضوع بعيد تمام البعد عن الكلينت ليس ،، لأن الفلتر مش بيتحكم في كراكتر واحدة بس انت تحددها لأ ،، الفلتر بيتحكم في اي كراكتر تعمل كوننيكت بالبورت اللي انت محدده وهو ال fake port من أول اللوجين لحد اي باكيت تتبعت من اي كراكتر جوا الجيم ،، فا جت من هنا مسمي الفلتر ،، لأنك تقدر تفلتر اي باكيت جاية من الكلينت للسيرفر بس هنا هنقول من الكلينت للفلتر ،، لأن الفلتر مش بيبعت الباكيت للسيرفر إلا لما يجتاز الشروط اللي انت محددها ،، ولو مش محدد شرط للباكينت هتتبعت من الفلتر للسيرفر من غير ميتعمل فلتر ،، طبعاً مش كل الباكيتات هتعملها فلتر ،، انت هتعمل فلتر للباكيتات اللي محتاج انك تتحكم فيها ،، بحيث انك تقدر تتحكم في كل كراكتر في الجيم حتي لو الكراكتر بعتت الباكيت اكتر من مرة ورا بعض مش هيوافق عليها إلا لما يتحقق الشرط السماح ،، مثال 1 : دلوقتي احنا عاوزين نعمل بلوك للباكيت بتاعت create academy عشان نحط اختيار في الكونفيج ON OFF عشان اليوسر اللي مستخدم الفلتر بحدد ان كان عاوز يسيب الأكاديمي مفتوحة أو مقفولة هندخل زي ما الراجل الطيب صاحب الموضوع شارح كدا هتجيب باكيت اللي هتظهر من C -> S لما تروح تكريت أكاديمي ومن خلال الباكيت دي تقدر تضيف شرط ليها في الفلتر ،، والشرط هو لو رقم الباكيت Opcode ساوى (0x(number أو زي ماهو مشروح في الموضوع تحوله ل decimal تخش ع اللي بعده طبعاً لو الباكيت دي بتيجي لكذا حاجة في الجيم زي GM Command Opcode 7010 لازم تقدر تفرق بينها وبين غيرها بال bytes أو ال Parameters اللي جاية مع ال Opcode وأكيد هتلاقي الفرق ساعتها تعمل break أو continue بحيث انك تخلص اللوب علي كدا وميبعتهاش لو كان الكونفيج ON لو OFF متعملش حاجة مثال 2 : طيب بالنسبة لموضوع ال Delay time زي Exchange delay , stall delay , restart delay الحاجات دي طبعاً انت بتعرف في البرنامج DateTime مجهول بحيث انك تقدر تعرف أخر مرة الكراكتر عملت فيها Exchange أو أياً كان إمتا وتحسب الوقت من الكونفيج اللي اليوسر محدده لو كان اكبر من الوقت يبقا يقدر يستخدمها عادي وتحط الوقت بالوقت الحالي بوقت السيرفر بحيث انه يجدد الوقت بأخر إستخدام ولو الوقت كان اقل لسه ال Delay مخلصتش وقتها تبعتله Notice أو Private ان فاضله كذا ثانية عشان يقدر يعمل المطلوب ان كان Exechange , zerk , stall , etc وبعدها تعمل break or continue عشان ميكملش ويبعت الباكيت للسيرفر أكنك بتعملها بلوك او بتتجاهلها طبعاً الموضوع كبير ومهما الواحد شرح لازم تتعلم بنفسك وبالتجربة تدرب نفسك عملي حتي لو علي اي برنامج تيست مسيرك هتوصل كله بالإرادة |
||||||||||
التعديل الأخير تم بواسطة Dev. iLegend ; 20-11-2016 الساعة 07:37 PM
![]() |
![]() |
#8 | ||||||||||
![]() ![]()
|
علمناهم ال**** سبقوان على **** انا اقصد البكتات متفهمش غلت ![]() |
||||||||||
![]() |
![]() |
#9 | |||||||||||
![]() ![]()
|
اقتباس:
![]() ايه الاعمل الجديدة بقى ![]() ![]() |
|||||||||||
![]() |
![]() |
#10 | |||||||||||
![]() ![]()
|
اقتباس:
|
|||||||||||
![]() |
![]() |
#11 | |||||||||||
![]() ![]()
|
اقتباس:
ثانيا محش بيفضل علي حاله الحمدلله وصلت مستوي حلو و كلو من مساعدتك و مساعه رامي من الاول ^-^ |
|||||||||||
![]() |
![]() |
#12 | ||||||||||
![]() ![]()
|
اللودر والكلام ده معقد وبدائى جدا لكن مفيد كبدايه ومن الاسهل والاسرع تستخدم اداه زى packet reader او opcode Library بس فعلا موضوع مميز تقبل مرورى |
||||||||||
![]() |
![]() |
#13 | |||||||||||
![]() ![]()
|
اقتباس:
|
|||||||||||
![]() |
![]() |
#14 | ||||||||||
![]() ![]()
|
تسلم |
||||||||||
![]() |
![]() |
يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر) | |
|
|
![]() |
||||
الموضوع | كاتب الموضوع | المنتدى | الردود | آخر مشاركة |
هل يوجد شرح للvsro packets ? | ahmedbadrbedo | قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة | 2 | 18-09-2017 12:37 PM |
مساعدة في بعض ال Packets | tarek1500 | قـسـم الـبـرامـج الـمـسـاعـدة | 0 | 08-12-2012 01:23 AM |
Packets editing ftw <3 | NoN_Stop | قسم المواضيع المكررة و المخالفة | 18 | 25-08-2011 11:09 AM |
♥ ண√"حصريا" اجمل مكتبه العاب للموبايل الصينى + شرح كيفيه استخدامها √ண ♥ | CrazySoraqa | بـعـيـدآ عـن سـيـلـك رود | 13 | 15-10-2010 07:47 PM |