آریان صادقی

  • دولوپر.
    نوازنده.
    دانشجوی علوم کامپیوتر صنعتی شریف
    گاهی هم در این وبسایت از همه چیز و همه جا مینویسم ... . این لینک فایل pdf رزومه من هست و در این لینک میتونید بیشتر در مورد من بخونید .



  • در 26 آوریل 2019

    سلام 🙂
    الان یه چیزی در مورد اینکه کرکای برنامه های ویندوزی ( همونایی که یه فایل میدادن ما میگفتن با فایل اصلی ریپلیس کنید ) چجوری کار میکنن یاد گرفتم . از طرفی میترسم یادم بره و از طرفی برای خودم چیز خیلی جذابی بود به همین خاطر تصمیم گرفتم اینجا نشر بدم .
    اگر هم ایراد جدی نگراشی میبیند متذکر بشید.
    خب قضیه از این قراره که ظاهرا شما میتونید فایل های برنامه رو (مثلا activation.dll با دیباگر های اسمبلی (OllyDbg ) باز کنید و خب بروت فورس ترین حالتی که به ذهن میرسه برای نوشتن کد ولیدیشن این هست که تابعی بنویسیم که اگه کد ورودی ولید بود ادامه بده و در غیر اینصورت فیل کن و به طرز عجیبی اون چیزی که عملا پیاده میشه هم چیزی شبیه به همین الگوریتم بروت فورس هست و دلیلشم نمیدونم
    حالا ما کد اسمبلی برنامه رو داریم و توی اون به یه چیزی شبیه به این یا یه چیزی که داره یه حرف مشترک میزنه میرسیم :

    section .text
    :checkActivation
        push ebp
        mov ebp, esp
        ...
        ...
        call validateCode
        cmp eax, #1
        jne activationFail
        ...
        ... ; Code on successful validation
        ...
        jmp endCheckActivation
    :activationFail
        ...
        ... ; Code to show error message
        ...
    :endCheckActivation
        pop ebp
        ret

    خب این کد هم که قابل دستکاری
    جایی از کد به کلمه jne بر میخوریم که میشه jump if not equals حرفشم اینه که اگه کد ولید نبود برو و فلان چک پوینت که قرار نیست برنامه رو اجرا کنه رو صدا کن و ارور بده  کافیه کد رو به je تغییر بدیم و شرطمون رو نات کنیم یا در واقع چک پونینت فالس بودن رو عوض کنیم .
    و تمام
    اسم این روش کرک پچ کردن هست و ظاهرا سر درخواست های http هم میشه بلاهای مشابه اورد و هدف اینه که برم ببینم چی به چیه .

    من مقداری با هیجان و عجله این متن رو نوشتم که این قضیه احتمال اینکه ایراد نگارشی یا مشکل توی بیان مفهوم به وجود بیاد رو بالا میبره .
    درود .

     

    میتوانید سوالات یا نظرات خود در مورد نوشته را به اشتراک بگذارید .
      ... در یکشنبه 19 ژانویه 2020 :

      جالب بود !

    نام شما :

    آدرس ایمیل شما:

    محتوای نظر شما :