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

لقد اشتراها والدي في عيد ميلادي: قرصان عادي ، لأنه لم يكن هناك أي ترخيص بعد ذلك ، بالإضافة إلى خرطوشة Contra: Hard Corps
. أنا متأكد من أن وقت شراء جهاز فك التشفير للعديد من الأطفال في التسعينيات لم ينس حتى الآن (صغار الرماة واللاعبون الرجعيون - مرحباً!) ، وأصبح هذا الأمر بالنسبة لي هو المفتاح في المستقبل. لكن أول الأشياء أولا.
مر الوقت ، لقد نمت. كانت المدرسة مهتمة دائمًا بعلوم الكمبيوتر والفيزياء (أيضًا الكيمياء). بالطبع لم يتم تدريس المجمع ، ولكن البرمجة في البيئة الخوارزمية لـ
(تطوير البيلاروسية للمدارس)
للغاية. وبالنسبة لي ، لقد كانت صدمة عندما ذهبت إلى الأولمبياد الإقليمي في علوم الكمبيوتر ، وكان الجميع باستثناءي لديهم نوافذ Turbo Pascal زرقاء ، وكان لي أبيض -
. ولكن ، ثم أخذت المركز الثالث المشرف.
الصف 11th

( ملاحظة المؤلف: الكمبيوتر نفسه ، فقط في وقت لاحق)
في خريف عام 2005 ، اشتريت جهاز كمبيوتر. منذ الأيام الأولى بدأت ممارسة الألعاب. غرقت في المدرسة ، ولكن أبقى في المستوى الطبيعي للألعاب الرياضية. وبعد ستة أشهر ، تعبت من اللعب. ثم حدث نقطة تحول!
نونهايمر
كان ذلك في عام 2006 ، كما يبدو لي ، بدأت طفرة ورز. مجموعة من المواقع مع الشقوق ، keygens ، بقع. حاول الجميع إعادة حزم برنامج التثبيت بطريقة (مرحبًا ببناء Windows) حتى لا يحتاج برنامج التنزيل إلى القيام بأي شيء إضافي: لقد تم تثبيته وعمله ، على الرغم من إضافة شيء من نفسه في بعض الأحيان.
وكنت مثل ذلك. صحيح أنه لم يصنع "أجهزة لوحية " ، بل وجدها للتو ، ووجه صندوق NFO
، وأعد حزم برنامج التثبيت (غالبًا ما كان برنامج Inno Setup
) ، ثم تعرف.

المترجم

لذا ، لسبب ما لم يعجبني ، لم تتم ترجمة جميع البرامج إلى اللغة الروسية ، وأردت إصلاحها. لقد قمت بتحميل العديد من برامج تحرير الموارد ، مثل Resource Hacker
، وبدأت في فتح جميع ملفات exe
و dll
الخاصة بالبرامج التي عثرت عليها في Program Files
، ونظرت في موارد السلسلة التي يمكن ترجمتها. لقد قمت بترجمته ، .RUS
ملف .RUS
أو .RUS
، وقمت بتحميله (لم أكن أعرف كيف تعمل هذه الملفات روس). لكن هذا استمر حتى صادفت الملفات المعبأة والمحمية.
cracklab.ru
الآن exelab.ru
. لقد تعلمت هناك أن الملفات القابلة للتنفيذ معبأة (وأحيانًا محمية) ، وكذلك كيفية التعامل معها. وبما أن المؤلفين غالبًا ما يذكرون أشياء مثل " المجمّع " و " التفكيك " و " قائمة بريد كلاشينكوف البريدية " في مقالاتهم ، كان عليّ الخوض في العتاد.
لقد قمت بتنزيل زوجين من " crackmakes " للتجارب (البرامج المكتوبة خصيصًا لعكس اتجاهها أثناء تعلم كيفية الاختراق والحماية ) لقد جربته - أعجبتني كثيرًا! تحول كل شيء في المرة الأولى ، التي كنت سعيدًا بشكل لا يصدق.
ونتيجة لذلك ، تمت إزالة الدفاعات البسيطة مرة أو مرتين بمساعدة الترقيع (من كلمة التصحيح - رقعة) ، ولكن مع تلك التي كانت أكثر صعوبة (قررت أن تجرب المدقات والهبات المثيرة ) فقد أصبح من الصعب بطريقة ما بالفعل ، وتوقفت ، قررت العودة إلى الترجمات.

رومهاكينج
في بعض الأحيان ألعب في Sega ، صادفت خراطيش باللغة الروسية ، على شاشات عناوين الألعاب التي كانت بها نقوش مثل " SHEDEVR
ترجمة SHEDEVR
" ، " NEW-GAME.RU
Translation ". سواء كانت مطوّرات ، أو بعض مؤسسات تابعة لجهات خارجية ، لم أكن أعرف ذلك ، لكن من الواضح أنها تمكنت من الوصول إلى بعض المخطوطات ، والنصوص القديمة للسومريين ، التي تحدثت عن كيفية ترجمة الألعاب إلى الروسية. وأردت إتقان هذه المعرفة.


لذلك اكتشفت منتدى " التحفة ".
كان لديهم مقالات ، كانت هناك برامج - كل شيء ضروري لجعل لعبتك المفضلة هي أيضًا " لعبتك المفضلة باللغة الروسية ". صحيح أن المقالات كانت مخصصة فقط لنظام NES
( نظام نينتندو للترفيه ، أو شعبيا : داندي ، سويبور ). ولكن لا يزال بارد! وانغمس في مواضيع جديدة ومثيرة بالنسبة لي : Romhacking ومضاهاة لوحات المفاتيح الرجعية على جهاز كمبيوتر.

باختصار ، يعد romhacking أي تغيير في صورة أو ملف أي لعبة لأي غرض: الترجمة وتصحيح الكود والرسومات.
لقد كانت عملية مسلية للغاية: أنت تجلس ، تعيد رسم مربعات بكسل خط اللعبة بالبكسل ، وترجم وتلصق النص باستخدام PokePerevod
ترجمة PokePerevod
، وترى ما حدث. صحيح ، لا المجمع بالنسبة لك ، المتشددين فقط! ولكن هذا كان بالفعل الشريط الذي يمكن من خلاله قلة قليلة من القفز (وفقًا لعدد الشركات النشطة في منتدى Masterpiece).
أنا معلم
بعد إجراء بعض الترجمات "إلى الجدول" ، وبعضها إلى الأشخاص ، عدت إلى الملفات القابلة للتنفيذ في Windows . أكثر من ذلك بقليل من المهارة في المجمع ، أدركت أنني الآن لدي الكثير من المعرفة " السرية " ، ولديّ ما أقوله من تجربتي ، هناك شيء يمكن مشاركته ، وما لم يتم وصفه بعد في المقالات المتوفرة. كنت أرغب في نقل المعرفة إلى نفس المبتدئين كما كنت أنا نفسي (على ما يبدو ، هذا يؤثر على حقيقة أن والدتي معلمة).
بعد أن أخذت البرنامج الأول الذي تطلب ترخيصًا (وبدأت جميع المقالات التي تدرس التكسير على هذا النحو تقريبًا) ، قررت البحث فيه ، بينما أخبرني بما كنت أفعله. عندها لن يبدو أن البرنامج مأخوذ من الإصدار القديم ، الذي تمت دراسته منذ فترة طويلة ، وكسر ، لكن على العكس من ذلك ، سيظهر درسًا جديدًا وملائمًا ، مع لقطات شاشة ولا تحتوي على عناوين مطلقة تقريبًا ، من أجل الحفاظ بطريقة ما على أهمية المقالة في وقت القراءة من قِبل شخص ما في المستقبل.
بعد تلقي ردود فعل إيجابية ، كتبت أكثر وأكثر ، وأدركت أن هناك طلبًا.
الأدوات

عند كتابة كل مقالة ، حاولت استخدام أحدث البرامج وأكثرها ملاءمةً في ذلك الوقت: Olly Debugger
مع الإضافات ، و PEiD
، و PE Explorer
، ومجموعة من الآخرين. لا توجد HIEW
و HIEW
و DEBUG.COM
، والتي DEBUG.COM
معظم المؤلفين استخدامها ، على الرغم من أن استخدامها في العالم الحديث كان ألمًا حقيقيًا.
ومع ذلك ، في ذلك الوقت لم أستخدم IDA Pro
مطلقًا. لقد بدا الأمر معقدًا وغير مفهوم بالنسبة لي ، كان من الصعب جدًا تصحيحه ، وكانت أبسط الأمور مثل FS[0x30]
و LastError
، كما في Olly Debugger
، صعبة للغاية.
هل طلاب الجامعة يعلمون عكس ذلك؟
باختصار ، إنها في بيلاروسيا ضيقة ، وحسب علمي ، في روسيا وأوكرانيا أيضًا. لماذا؟ نعم ، لأن المتخصصين في هذه المهنة يحتاجون عادة إلى منظمات واحدة ونصف ، وعادةً ما يكون هناك شخص ونصف. في الواقع ، لا يوجد الكثير من المعلمين.

نعم ، بالطبع ، يتم تدريس المجمع ، حتى في بعض الكليات. لا يمكن إلا للطالب ، الذي ينظر إلى قائمة مجمّع مكتوبة ، أن يدرك أن جميع هذه السجلات ، والمعاملات ، والرموز الضوئية ترتبط بطريقة أو بأخرى بحماية المعلومات ، والاستغلالات ، والشقوق ، و keygenes ، والبقع ، والبرامج الضارة ، ومكافحة الفيروسات ، والبرامج الثابتة ، إلخ.
على سبيل المثال ، في بيلاروسيا ، أعرف مكانين أو ثلاثة فقط حيث يلزم المهندسين العكسيين. في روسيا ، بالطبع ، الوضع أفضل ، لكن هناك أيضًا عدد قليل من المتخصصين.
أول وظيفة
قررت أن أذهب إلى واحدة من هذه الشركات للعمل كمحلل فيروسي ، وأدرك أنه في الواقع ، لم يكن هناك مكان آخر أذهب إليه.
يمكنك عكس البرامج الضارة وتوقيعات الغراء ودراسة مبادئ تشغيل البرامج الضارة وكتابة برامج فك تشفير برامج الفدية (إن أمكن) وعلى طول الطريق تحسين النواة.
من حيث المبدأ ، العمل ليس سيئًا ، لكن بعد فترة قصيرة أدركت أنه ليس من المناسب ملاحظة كيف تستغل البرامج الضارة أي نقاط ضعف ، ولكن لإيجادها بنفسي ، لتكون أول من يقوم بذلك ، مما يساعد على حماية عالم المعلومات من خلال التقارير التي يتم إرسالها إلى المطورين.
المجمع الآخر
بمجرد أن اكتشفت أنه بالإضافة إلى رمز المجمّع من Intel
(16 ، 32- ، 64 بت) ، هناك واحد آخر ، والذي يبدو في البداية مختلفًا تمامًا عن الذي تعرفه. حدث هذا في اللحظة التي وصلت فيها إلى لعبتي المفضلة - " Thunder Force III
" ، حيث لعب أخي أفضل مني.

تحولت الموارد في ذلك إلى أن تكون مضغوطة من قبل بعض باكر غير معروف ، ل لم أتمكن من العثور على الخط باستخدام أي محرر تجانب ( في مثل هذه البرامج ، غالبًا ما يتم إعادة رسم خطابات اللعبة ، والتي يتم عرضها على الشاشة ).
لذلك ، بدأت في google ، وتعثرت في النهاية على عمل أحد الفرنسيين ، الذي اكتشف للتو خوارزمية الضغط للعبة. اتصلت بهذا الشخص ، وسألته كيف درس مبدأ خوارزمية الانضغاط ، والذي ألقى لي أول بطاقة IDB
الخاصة بي (هذا هو ملف قاعدة بيانات IDA Pro
) ، حيث تم تحليل العديد من نقاط كود اللعبة ، الأمر الذي أثار إعجابي حقًا!
لذلك انغمست في غابة IDA Pro
Motorola 68000
، الذي لم أخرج منه (ولا أريد) حتى الآن.

ملحوظة: أنا لم أترجم برنامج Thunder Force III
، لكنني كتبت محرر مستوى له.
سوني بلاي ستيشن

نعم ، كان التالي هو " أول مكواة للحديد ". لديها أيضًا أداة تجميع أخرى - MIPS
، مع سجلات مختلفة ، رموز تشغيل ، عناوين. وعلى وحدة التحكم هذه ، لا تزال هناك ألعاب مزودة بموارد حصدت تحتاج إلى الترجمة.
التفكير العكسي وأول كجن
هل تعرف ماذا أصبح بعد ذلك اختبارًا حقيقيًا لي؟ مع وجود رمز التجميع فقط الذي يزيل الضغط عن شيء ما ، اكتب غلافًا له. كان من الضروري هنا تطوير التفكير العكسي ، وهو أمر لم يكن مطلوبًا من الناحية العملية أثناء ترقيع " طواحين الكراك " ، وعلاج البرامج من الجشع.
حاولت الانتقال من الجهة المقابلة ، وفهم ما يجب أن يكون عند الإخراج ، عند الإدخال ، وما وحدات البايت للبيانات المضغوطة المسؤولة عن ماذا ، من أجل القيام بالشيء نفسه.
بعد أن كتبت الكثير من الأدوات المساعدة لمجموعة من الألعاب لتفريغ البيانات وتعبئتها ، أدركت أنني مستعد لكتابة أول كجن ، لأن تعلمت بالفعل أن تفكر من العكس.
لا أتذكر نوع البرنامج الذي كان عليه ، لكن كجن كان ناجحًا ، ومن اسم المستخدم ، تمكنت دائمًا من الحصول على الرقم التسلسلي الصحيح. ما يقال أيضا في المقال.
كجن المادة
لكن كتابة مقال عن كجن كان صعبا. أثقل من كتابة كجن. بسبب من الصعب جدًا نقل مبدأ التفكير العكسي في المقالة. مثل كل ما يأتي مع الخبرة.
فرق التكسير

في البداية ، إذا كنت ، مثلي ، تراجعت إلى علم النفس العكسي ، فستتراجع عن ذلك بنفسك (أو بالنسبة للأشخاص ، فسوف يذهب الأمر هكذا). ويناسبك. ولكن ، إذن ، أنت تتعثر من نوع ما من إصدار فريق cracker (هؤلاء هم الذين ينشرون البرامج المخترقة مع الشقوق وأزرار المفاتيح) ، وتقرر الانضمام إليهم. هناك يمكنك مقارنة نقاط القوة الخاصة بك مع أشخاص آخرين ، وفي الوقت نفسه اكتساب الخبرة منهم.
جمعت بروح ، تكتب رسالة تطلب منك الانضمام. يرسلون المهمة في شكل keygenmy. يمكنك حلها ، وبعد ذلك يمنحك الوصول إلى فريق الدردشة.
في الواقع ، ليس كلهم عاكسون. شخص ما هو فنان ، شخص ما يعرف كيفية الحصول على برامج مدفوعة الأجر ، شخص ما لديه قوة حسابية (القدرة على التعامل مع أي مفتاح عمومي RSA-512
في غضون يومين ، لعام 2013 ، إذا كان ذلك مطلوبًا لإزالة حماية الترخيص). بشكل عام ، فوائد واضحة. لكن برنامج الإصدار لا يزال هو البرنامج الذي تختاره ، في معظم الأحيان. ولا تحصل على المال مقابل الإصدارات. الحقيقة هي.
ثم ما هو الربح ، تسأل؟ هو إطلاق قبل فريق آخر ( FFF
، CoRE
والعديد من الآخرين). تم الكشف عن هذا الموضوع بشكل جيد في سلسلة الويب " Scene ".
مشاكل مع القانون؟
نعم ، لتوزيع الكراك و keygen لا تزال هناك فرصة للرعد (خاصة إذا كان البرنامج مشهورًا ويكلف الكثير من المال). في أي وقت ، قد يحدث عملية شراء تجريبية: يقوم عمك الذي يكتب إليك " باختراق Adobe
/ 1C
بكتابة التكلفة التي ستتكلفها " (قصة حقيقية). لكن الرجال يريدون البقاء على قيد الحياة ، خاصة إذا لم يكن هناك عمل ، لكنك تريد استخدام " المهارة " ، لا يهم في أي مكان حتى الآن. ويبدأون في الذهاب إلى أقصى الحدود ...
... قعقعة مع البرامج المكسورة ، وبرامج الكراك مقابل المال.
وفي تلك اللحظة عندما تكون هناك رغبة في العيش بأمانة ، فإن المفرقع سيحصل على وظيفة ، ماضيه حُفر هناك ، و " آسف ، لكن ماضيك لم يكن في صالحك! ". على الرغم من أنه من موقفي ، ينبغي أن يؤخذ الشخص الذي لديه مثل هذه التجربة بالأذرع والساقين ، لأنك أولاً تمنح الشخص فرصة للتحسين ، وثانياً ، توجيه معرفته في الاتجاه الصحيح. من بين معارفي ، هناك بالفعل أمثلة على فرص العمل الناجحة في مجال مكافحة الفيروسات ، حيث قال الرفيق المعني بالضمان الاجتماعي إنه قام بتكسير البرامج حسب الطلب.
حصل بصدق مفتاح الترخيص
نعم ، وهذا يحدث. حتى التكسير. كانت هناك مقالات في مكان ما حول كيفية التسول المطور للحصول على مفتاح. ولذا حاولت أن أفعل. لم يساعد.
في تلك السنوات ، كنت أدرس فقط الصحافة " العمياء " ، وكنت أبحث عن برامج مناسبة لذلك. فجر Shahidzhanyan المخ مع
له
، لذلك بدأت أبحث عن بدائل. عثر عليها عند Typing Reflex
. كانت مدفوعة الأجر ، لكنها جيدة جدا.
ثم ترجمت البرنامج إلى البيلاروسية ، وأرسلت إلى المؤلف ملف اللغة. التي تلقيتها ردًا على مفتاح الترخيص باسمي! مفتاح الترخيص الأول.

ما التالي؟
بعد أن لعبت بما فيه الكفاية كقرصنة ، توصلت تدريجياً إلى استنتاج مفاده أن لديك وظيفة ، وأن الراتب مستقر ، وأنك تفعل الشيء المفضل لديك ، مما يعني أن الوقت قد حان لربط الأشياء السيئة.
من بين الخيارات التي يجب اتباعها: شركات مكافحة الفيروسات ، والأمن الصناعي (البرامج الثابتة العكسية ، والبروتوكولات الصناعية ، وعمليات البحث عن الثغرات الأمنية) ، والإدارات الخاصة لبعض الشركات الكبرى ، مثل Sony
، حيث تحتاج إلى البحث عن أمان منتجاتك الخاصة ، أو أن تصبح قوي و مهندس عكسي مستقل وكسب المال على bugbounty ، والتحدث في المؤتمرات ، الخ
يوجد أيضًا مهندسون عكسيون من مهندسي الأجهزة (أولئك الذين يغيرون الأجهزة) ، لكني لا أعرف الكثير عنهم. على الرغم من أن الموضوع مثير للغاية. أنا أكثر على جانب البرنامج.
السكينة
بعد النظر إلى مختلف المنصات ، كود المجمّع ( Intel
، ARM
، PowerPC
، M68K
، 6502
، MIPS
، 65c816
، Blackfin
، IA64
وبعضها الآخر ، لا أتذكر) ، لقد توصلت إلى استنتاج مفاده أن مبدأ جميع المجمّعين هو نفسه تقريبًا (جيدًا ، فيما عدا ربما Itanium) ، وتبدأ في النظر في هذه القوائم التي لا نهاية لها بطريقة مختلفة: أولاً وقبل كل شيء ، تجد أوامر القفز ، وأوامر move
، والعودة من الوظيفة ، أي جانب من source
، والذي dest
، ثم في الظروف. حتى تصل إلى السكينة ...