آژانس هواپیمایی
pop up

FFLocker - قفل گذاری بر روی فایلهای اجرایی...کاری از ام.فایر

شروع موضوع توسط M-FiRE ‏20 آگوست 2007 در انجمن Visual Basic 6

  1. M-FiRE

    M-FiRE کاربر تازه وارد

    تاریخ عضویت:
    ‏17 آگوست 2007
    نوشته ها:
    21
    تشکر شده:
    0
    سلام
    یه برنامه تو وی.بی نوشتم که می خوام از تجربه ی دوستان استفاده کنم و کاملش کنم . این برنامه اسمش FFLocker هست که شاید بشه F-Packer .

    این برنامه برای قفل گذاری بر روی فایلهای ستاپ (یا هر فایل اجرایی دیگه ای هست) هست که به درد جلوگیری از کپی برداری های غیر مجاز (از سی دی به هارد ) می خوره.


    توضیحات در مورد این برنامه :
    این برنامه با دریافت فایلهای ستاپ نرم افزار شما و گذاشتن کلمه ی عبور بر روی انها از فایلهای ستاپ برنامه ها محافظت می کند . این کلمه ی عبور از طریق اتوران به فایل قفل شده فرستاده می شود(با همه نرم افزاری هم قابل انجامه ... MMB , VB and) . از ویژگی های این برنامه می توان به :

    1- داشتن سه اجرا . برای مثال برای محافظت از فایلهای ستاپ نرم افزار Alcohol 120% چند فایل وجود دارد که یکی از این فایلها فایل Setup.exe و دیگری فایل Patch.exe می باشد که می توان از طریق این برنامه ابتدا فایل Setup.exe به اجرا دراورد و پس از خاتمه یافتن اجرای Setup.exe فایل بعدی که فایل Patch.exe می باشد به اجرا در می آید و به این ترتیب برنامه ی الکول هم نصب و هم Patch می شود . برای اجرای سوم هم می توان فایلی دیگر را به دلخواه تعین کرد تا آن فایل اجرا شود . در ضمن تعیین این اجرا ها به دلخواه می باشد.

    2- چک کردن شرایط بسیاری که از کپی شدن فایل به هارد یا سی دی دیگر جلوگیری می کند (البته از کپی سیدی به سیدی نه ... اینکه فایل رو با ایزو باستر کپی کنی تو هارد بعد رایت کنی سر یه سیدی دیگه) .

    3- درج متنی به عنوان About شرکت شما در فایل قفل گذاری شده ... مثلا میتوان نحوه ی نصب ، طریقه ی کرک کردن یا سریال فایل ستاپ را در این قسمت قرار داد .

    4- کنترل فایل قفل گذاری شده از طریق اتوران یا فایل دیگر (پسورد فایل قفل شده از طریق اتوران به فایل قفل شده فرستاده می شود و فایل ها Unpack شده و به ترتیب اجرا می شوند).

    فایلی رو که گذاشتم دانلود کنید تا خودتون متوجه بشید که چی می گم ... یه فایل اجرایی هست که پسوردش هست : zxc .

    خب نظرتون رو در مورد این برنامه بگید ... مخصوصا باگ هاش .... چه باگی داره .

    در ضمن اگه شد یه چند تایی سورس کد امنیتی می زارم برا دانلود.

    البته این نسخه ی کامل برنامه نیست (ولی خدای امنیت پسورده ...) ... و هنوز کار داره . مثلاً 4 بخش امنیتی که خیلی وحشتناکه رو نوشتم (به جز انتی-دیباگه ) ولی هنوز اضافه نکردم که عبارتند از :
    1.Folder in Folder
    2.Locked Guard
    3.Anti-Debug
    4.Child Checker(God of security !!)​

    بای:blush:
     

    فایل های ضمیمه:

    • Setup.rar
      اندازه فایل:
      65.7 KB
      نمایش ها:
      182
  2. saeedsmk

    saeedsmk مدیر بازنشسته

    تاریخ عضویت:
    ‏6 سپتامبر 2003
    نوشته ها:
    1,519
    تشکر شده:
    4
    سلام خوب هستيد
    خيلي چيز جالبي بايد باشه بگذاريد يك تست كنم
    به اميد ديدار
     
  3. M-FiRE

    M-FiRE کاربر تازه وارد

    تاریخ عضویت:
    ‏17 آگوست 2007
    نوشته ها:
    21
    تشکر شده:
    0
    سلام
    از شما ممنون که به اینجا سر زدید . ولی باید بگم که خیلی اینجا خلوته . کسی نظر نمی ده !

    من از همه خواهش می کنم که نظر شون رو در مورد این برنامه بدن .

    از همگی دوستان ممنون:blush:
     
  4. Mamylo

    Mamylo کاربر فعال بازیهای کامپیوتری کاربر فعال

    تاریخ عضویت:
    ‏19 مارس 2005
    نوشته ها:
    947
    تشکر شده:
    12
    محل سکونت:
    In the heart of any lover in the world
    بذاريد تست كنم براتون نظر مي دم.
    موفق باشيد
     
  5. M-FiRE

    M-FiRE کاربر تازه وارد

    تاریخ عضویت:
    ‏17 آگوست 2007
    نوشته ها:
    21
    تشکر شده:
    0
    سلام
    ممنون
    من وقتی میام و اخرین پست ها رو می بینم ، واقعا تعجب می کنم ... برنامه نویسی خیلی خلوته !!

    پس اون همه برنامه نویس ایرانی کجا رفتن ؟!

    *************************************************************

    برنامه ای رو تو vb نوشتم که نسبت به مسير "Windows" حساسه . در واقع اين برنامه به متن پنجره ها حساسيت نشون مي ده و با مشاهده ي متن مشکوک در پنجره ها اونها رو مي بنده(اون چيزي که شما فکر مي کنيد نيست ... متن اشيا داخل پنجره ها رو هم چک مي کنه ... مي تونيد تست کنيد).

    اين برنامه رو دانلود کنيد و سعي کنيد توسط مرورگر هاي مختلف وارد پوشه ي "Windows" بشيد . لازم نيست با وي بي يه اکسپلورر بنويسيد ، فقط با همه ي اکسپلورر هايي که داريد اين کارو انجام بديد.

    اگه مشکلي تو کارکرد برنامه ديديد بگيد تا اصلاح کنم ... اگه کمک کنيد سورسشو با اخرين ويرايش مي زارم برا دانلود .

    اگه کسي بهتر از اين رو هم داره يه پيغام خصوصي بفرسته که يه حال بهش بدم.

    منتظر سورس انتي کرک و انتي ديباگ هم باشيد ... چند روز دیگه مي زارم که بزنيد به بدن حالشو ببريد !!

    ممنون
     

    فایل های ضمیمه:

    • Anti-Go.rar
      اندازه فایل:
      6.6 KB
      نمایش ها:
      30
  6. M-FiRE

    M-FiRE کاربر تازه وارد

    تاریخ عضویت:
    ‏17 آگوست 2007
    نوشته ها:
    21
    تشکر شده:
    0
    سلام
    اقا یعنی واقعا کسی نیست برنامه ی ما رو تست کنه ؟

    ببنین چطوره ... بگین چه مشکلاتی داره خب !!

    :f34r:
     
  7. boxilink
  8. erroring

    erroring Registered User

    تاریخ عضویت:
    ‏4 دسامبر 2006
    نوشته ها:
    286
    تشکر شده:
    2
    محل سکونت:
    PDC (Parvazeh Developing Center)
    با سلام. ميشه در مورد Anti Debug توضيح بدي؟ چطور اينكارو انجام ميده؟ ممنون ميشم.
     
  9. M-FiRE

    M-FiRE کاربر تازه وارد

    تاریخ عضویت:
    ‏17 آگوست 2007
    نوشته ها:
    21
    تشکر شده:
    0
    سلام دوست عزیز

    وقتی که انتی دیباگ به برنامه ی من اضاف بشه ، در موقع دیباگ شدن برنامه ی من توسط برنامه هایی مثل ollydbg برنامه ی من از حافظه خارج می شه !

    این کد توسط توابع api نوشته شده که به راحتی قابل شکستن و کرک شدن نیست

    برای اینکار دو تا سورس دارم که یکیش از یه دستور ساده ی api استفاده می کنه به راحتی کرک می شه
    ولی سروس دیگه ای دارم که خیلی وقت گیر هست که کر بشه.

    سوال دیگه ای باشه در خدمتیم
    ممنون
     
  10. erroring

    erroring Registered User

    تاریخ عضویت:
    ‏4 دسامبر 2006
    نوشته ها:
    286
    تشکر شده:
    2
    محل سکونت:
    PDC (Parvazeh Developing Center)
    خوب من يه سوال دارم. آيا با چك كردن وجود پنجره ollydbg متوجه ميشه كه داره ديباگ ميشه؟ اگه اينطوريه خيلي روش ضعيفيه و اگر خير پس روش چيه؟ راستي وقتي برنامه ديباگ ميشه خروجي app.exename چيه؟ آيا فرق مي كنه.؟ اگه فرق كنه راحت ميشه جلو ديباگ شدن رو گرفت. منم يه روش ابتكاري دارم كه خيلي سادست اگه خواستي بگو تا بگم
     
  11. M-FiRE

    M-FiRE کاربر تازه وارد

    تاریخ عضویت:
    ‏17 آگوست 2007
    نوشته ها:
    21
    تشکر شده:
    0

    سلام
    فقط وجود پنجره رو می شه فهمید ... چیز جالبی نیست... و به این چیزا هم نمی شه اعتماد کرد. ولی می شه ازش توی پروژه به عنوان یکی از راه های جلوگیری از دیباگ استفاده کرد.
    البته برای ollydbg تعداد زیادی پلاگین نوشته شده که این برنامه رو مخفی می کنه.
    برنامه های دیگه ای هم نوشته شده که کلاس پنجره ی ollydbg رو تغییر می دن. این کار جستجو برای پنجره ollydbg رو سخت تر می کنه. ولی باز نمی تونه از دست من یکی فرار کنه ... (یه سورسای فجیحی نوشتم که بیا و ببین ... نمونه اش همون anti-go که گذاشتم).

    نه فرقی نمی کنه .
    دوست عزیز جلوی دیباگ رو گرفتن خیلی هم ساده نیست !

    نیکی و پرسش !؟

    *******************************

    متاسفانه پروژه متوقف شده ... به دلیل پیدا نکردن سورس کد لودر درست حسابی!
    از اقا سعید انتظار داشتیم یه کمکی کنه ... ولی مثل اینکه ایشون هنوز سربازی هستن... درسته ؟

    بای

    :blush:
     
  12. erroring

    erroring Registered User

    تاریخ عضویت:
    ‏4 دسامبر 2006
    نوشته ها:
    286
    تشکر شده:
    2
    محل سکونت:
    PDC (Parvazeh Developing Center)
    خوب روش اينه البته من از برنامه هاي ديباگ سر در نميارم ولي خوب. يه متغير از نو سينگل تعريف كنيد و در شروع برنامه خط هاي اول مساوي timer قرار بديدش بعد تو مراحل مختلف زمان لود شدن برنامه رو چك كنيد و كندترين حالت رو در نظر بگيريد تو بخش هايي كه رجيستري برنامه داره چك ميشه اگه استفاده بشه بهتره. بعد مثلا چك كنيد اگه تا اونجاي برنامه كه در كند ترين سيستم شايد 5 ثانيه طول ميكشيده ولي حالا 25 ثانيه گذشته تازه به اينجا رسيده (من اين حدس رو زدم كه در حالت ديباگ با قرار دادن ديباگ پوينت و بررسي كد توسط كركر مقداري زمان مي گذره) خيلي خوب وقتي زمان بارگذاري بيشتر از زمان معقول بود حالا بايد سيستم ريست بشه تا كركر مجبور بشه ديباگ پوينت ديگه اي انتخاب كنه. و وقتي در جاهاي مختلف اين كار انجام بشه ديگه كركر نمي تونه كاري كنه. (التبه فكر ميكنم) حالا اين روش من كارايي داره؟ اگه داره كپي رايتش به نام خودمه :D
     
  13. M-FiRE

    M-FiRE کاربر تازه وارد

    تاریخ عضویت:
    ‏17 آگوست 2007
    نوشته ها:
    21
    تشکر شده:
    0
    سلام
    دوست عزیز این کاری که می گید به فکر خودم هم رسیده ! ولی به اسم شما ::blush:
    من حدود دو،سه ماه (تو کنکور موقع درس خوندن ... به کسی نگیا:p) روی روشهای امنیتی فکر کردم (هر چی که فکرشو بکنی...حالام دارم از تجربیاتم مقاله می نویسم {البته در مورد کار با پنجره ها و پروسه ها} که بعدا توی این انجمن هم می زارم) و روش های زیادی رو پیدا کردم ... این روش هم یکی از اونهاست . کپی رایتشم به اسم شما:cool: ممنون که روشتو گفتی.
    البته با تایمر که شما گفتی نمی شه !

    به این دلیل که دیباگر ها موقع دیباگ برنامه شما رو Suspend می کنند. و دیگه هیچ چیزی در برنامه ی شما کار نمی ده ... چه برسه به تایمر :(

    می تونی از ساعت سیستم یا چیزای دیگه استفاده کنی ... اینها رو نباید گفت که کار کرکر رو آسونتر کرد!!

    در ضمن اسم این کار آنتی دیباگ نیست. یه چیزایی تو مایه های انتی تریس ... یه همچین چیزایی ... .

    شاید یه مقاله دیگه هم در مورد کدهای امنیتی ، محافظت از برنامه ها و ... و مطالبی از این قبیل نوشتم ... منتظر باشید.

    راستی نگفتی سعید سربازیه

    بای :blush:
     
  14. avajang.com .leftavajang.com.right
  15. erroring

    erroring Registered User

    تاریخ عضویت:
    ‏4 دسامبر 2006
    نوشته ها:
    286
    تشکر شده:
    2
    محل سکونت:
    PDC (Parvazeh Developing Center)
    منظورم از تايمر شي تايمر نبود بلكه تابع تايمر بود كه زمان رو از سيستم مي گيره و بر حسب ثانيه است. يه روش ديگه هم دارم كه تو نرم افزارهام از اين روش هم استفاده مي كنم واسه همين نمي شه هر جايي گفت. دستم تو حناست وگرنه حتما واسه عموم مي ذاشتم اما اگه بخواي به خودت تو پيام خصوصي مي تونم بگم.
     
  16. M-FiRE

    M-FiRE کاربر تازه وارد

    تاریخ عضویت:
    ‏17 آگوست 2007
    نوشته ها:
    21
    تشکر شده:
    0
    سلام
    لطف دارید
    خوشحال می شم روش تون رو بگید.

    بای:blush:
     
  17. saeedsmk

    saeedsmk مدیر بازنشسته

    تاریخ عضویت:
    ‏6 سپتامبر 2003
    نوشته ها:
    1,519
    تشکر شده:
    4
    سلام
    خوب هستيد برنامه رو چك كردم
    به نظر يك پكره و ....
    دقيا بايد چيكار كنه اين ستاپ شما ؟
    ميشه يك توصيح كامل بديد
    به اميد ديدار
     
  18. erroring

    erroring Registered User

    تاریخ عضویت:
    ‏4 دسامبر 2006
    نوشته ها:
    286
    تشکر شده:
    2
    محل سکونت:
    PDC (Parvazeh Developing Center)
    M-FiRE عزیز روش رو همینجا سربسته میگم امیدوارم دستتون بیاد.
    روش اینه که باید برنامه صحت خودشو چک کنه. ببینه کرک شده یا نه.
     
  19. M-FiRE

    M-FiRE کاربر تازه وارد

    تاریخ عضویت:
    ‏17 آگوست 2007
    نوشته ها:
    21
    تشکر شده:
    0
    سلام
    ممنون erroring جان که این ایده ات رو هم گفتی:D

    erroring جان نمی خواد سر بسته بگی !!
    اینو خیلیا در برنامه های امنیتیشون انجام می دن.
    منم یه سورس مثل همین چیزی که گفتی نوشتم و توی برنامه (چک کردن بایتها) هم قرار دادم . اما این نمی تونه جلوی کرکرها رو بگیره !!

    شما گفتید :
    هر کسی که برنامه نویسی کرده باشه می دونه که این کار توسط دستور If انجام می شه ... حالا ما برای اینکه این روش رو دسته کم نگیریم می گیم : با دستورات خیلی پیچیده ای این کارو بکنه ... چند جا توی برنامه اینکارو بکنه ... و خلاصه خیلی خیلی که جون بکنیم زمان کرک رو فقط 20 تا 30 دقیقه بیشتر کردیم. این روش ، روش بسیار خوبی هست ولی به هیچ وجه نمی تونه جلوی کرکرهای حرفه ای رو بگیره !!

    در ضمن اینکه صحت خودشو چک کنه هم می تونه از CRC چک بشه ... و هم از بایتهای تغییر کرده ی فایل!

    در حال حاضر که پروژه متوقفه ... یه اشکال توی Encrypt کردن بوجود اومد که فعلا بی خیال شدم ... ولی می خوام یه فشرده ساز در حد فایلهای Zip بهش اضاف کنم که سرعتش اونقدر زیاد هست که فایل 10 مگی رو در عرض 5 ثانیه از حالت رمزی شده در میاره و ذخیره می کنه !

    saeedsmk جان توضیحات کاملی در مورد برنامه توی پست اول ذکر شده که همش هم در مورد برنامه هست.
    ولی به طور مختصر باید گفت این برنامه یه جور Self-Extract هست نه Packer !! ... چون به جای اینکه فایل اجرایی رو مستقیم در حافظه بار کنه ، اول اون رو در هارد ذخیره و سپس اجرا می کنه.
    من نیاز به سورس یه لودر یا یه همچین چیزی (برنامه ای که بتونه فایلی رو به حافظه بفرسته و چند بایت فایل که خراب شده رو درست کنه) به زبان Vb6 دارم تا دوباره شروع کنم و پروژه رو کامل کنم.

    حالا اگه سورس گفته شده رو دارید ، حتی حاضرم ازتون بخرم ... چون واقعا نیازمه !
    البته اگه به زبانهای دیگه هم باشه می شه یه کارایی کرد و یه جورایی پروژه رو جمع کرد.

    این برنامه می تونه فایلهای زیر 1 مگ رو بدون مشکل براتون قفل گذاری کنه . ولی مشکلی که پیش اومده در فایلهای بزرگتر هست که رمزگذار فایل این خرابکاری رو کرده.
    ولی برنامه بعد از اینکه Anti-Offline-Crack رو اضافه کنم امنیت خیلی خیلی بالایی داره و حتی کرکرهای حرفه ای هم نمی تونن اونو کرک کنن ... ولی اونا که فوق حرفه ای هستن می تونن کاری کنن که فایل از هارد هم اجرا بشه یا شرایطی که فایل به اونها وابسته هست رو از بین ببرن ... ولی بازم نمی تونن کاری کنن که با هر پسوردی فایلها اجرا بشه !!
     
  20. erroring

    erroring Registered User

    تاریخ عضویت:
    ‏4 دسامبر 2006
    نوشته ها:
    286
    تشکر شده:
    2
    محل سکونت:
    PDC (Parvazeh Developing Center)
    خوب اگه از هر روش استفاده مي كنيد بايد حتما دقت كنيد كه چك شدن صحت سريال و كرك نشدن در تمام برنامه وجود داشته باشه. برنامه كوچكترين كاري خواست كنه يه بار چك بشه سريال. همونطور هم كه قبلا گفتم اگه برنامه با سريال رجيستر ميشه بايد عمليات رجيستر ربطي به سريال نوشته شده در text داشته باشه يعني اينطور نباشه كه چك كنه اگه سريال درست بود بعد رجيستر بشه بلكه از خود متن نوشته شده در بخش سريال بايد در عمليات رجيستر شدن استفاده بشه. به طور مثال :
    روش اشتباه :
    اگه سريال ورودي با تغييرات مساوي شماره سريال هارد بود در رجيستري بنويس 1
    عمليات چك كردن : اگه در رجيستري 1 را خواندي برنامه فعال است
    روش صحيح :
    اگر سريال ورودي با تغييرات مساوي شماره سريال هارد بود در رجيستري شماره سريال ورودي را بنويس
    عمليات چك كردن : اگه در رجيستري شماره سريال نوشته شده با اعمال تغييرات مساوي شماره سريال هارد بود برنامه فعال است.

    و عمليات چك كردن همونطور كه گفتم بايد همه جا باشه.
     
  21. M-FiRE

    M-FiRE کاربر تازه وارد

    تاریخ عضویت:
    ‏17 آگوست 2007
    نوشته ها:
    21
    تشکر شده:
    0
    استفاده از ریجستری !!
    این نمی تونه حتی 1 درصد هم امنیت برنامه رو تضمین کنه !!
    استفاده از ریجستری خیلی بچه گانه هست !

    خب البته حق دارید !

    مثل اینکه با ابزار Monitoring آشنا نیستید !
    و
    با Dbg ها اشنا نیستید ... توی خیلی از سایتهای ایرانی می تونید مطالب خوبی پیدا کنید.


    من دانشگاه شهر دیگه ای در اومدم (= اینترنت بی اینترنت) ... برا همینم زیاد سر نمی زنم ... ولی اگه سوالی باشه در خدمتیم.
     
  22. erroring

    erroring Registered User

    تاریخ عضویت:
    ‏4 دسامبر 2006
    نوشته ها:
    286
    تشکر شده:
    2
    محل سکونت:
    PDC (Parvazeh Developing Center)
    منظورم قسمت استفاده از رجيستري نبود بلكه متدي بود كه براي ذخيره اطلاعات هر جا (چه رجيستري چه غير رجيستري) بايد استفاده كرد.

    استفاده از ديتا بيس هاي رمز دار يك گزينه خوب براي ذخيره اطلاعات رجيستر (برنامه ، نه رجيستري ويندوز) هستش.