قفل تلفنی پیشرفته با dll و پلاگین آریانا

kohan20

Member
چطور میشه قفل تلفنی پیشرفته با dll و پلاگین آریانانوشت

بدین صورت که برنامه مانندGetDiskSerialPlugIn و WM-HardwareID قفل تلفنی تولید و بعد زنگ و اکتیو
پلاگین آریانا مانند ساییر کد ها که کد گذاری کردیم این فایل را کد گذاری کند با توجه به سریال هارد و در یک فایل dll ذخیره کنه طوری که ریسورس نشه

یعنی بعد فعال سازی کد هارد و کد سریال ما رو در dll ذخیره کنه به گونه ای که ریسورس نشه و همچنین که این فایل در اختیار کاربر باشه با تغییر ویندوز و غیره
اگه این فایل رو در کنار فایل اصلی قرار داشته باشه برنامه دیگه کد نخاد و بالا بیاد در غیر اینصورت برنامه خارج بشه

یعنی برنامه بعد از فعال سازی نیاز به این فایل dll داشته باشه
 

nevercom

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

اول شما باید یه سری اطلاعات از سیستم مقصد دریافت کنید، برای اینکه کدی که نهایتاً تولید میشه منحصربفرد باشه. حالا برای اینکه بعد از تعویض ویندوز بازم اون کد فعال بمونه نیاز هست که این پارامتر به شکلی دریافت بشه که وابسته به سیستم عامل نباشه. مثلاً سریال یک قطعه ی سخت افزاری.
برای این کار پلاگین های مختلفی هست که هرکدوم رو خواستید استفاده کنید مثال هاش رو ببینید و راهنماش رو بخونید، بخوبی توضیح داده.
حالا باید یک الگوریتم طراحی کنید که این سریال رو به کدی تبدیل کنه. اون کد به فروشنده ارائه میشه و بر اساس اون یک کد فعال ساز ساخته میشه.
حالا باید یک برنامه باشه که کد سیستم رو بگیره و بر اساس اون کد فعال ساز رو بسازه.
فرض کنیم کد سیستم 123456 هست، برنامه ی تولید کد فعال سازی این کد سیستم رو میگیره و یه عملیاتی رو ش انجام میده، این الگوریتم رو باید شما طراحی کنید
فرض کنیم این عدد رو با عدد 256 جمع میکنیم و نتیجه رو در 5 ضرب می کنیم، کد فعال ساز میشه 124736
حالا برنامه ی اصلی باید این کد فعال ساز رو چک کنه ببینه معتبر هست، این الگوریتم رو برعکس اعمال میکنه یعنی کد فعال ساز رو تقسیم بر 5 و عدد 256 رو از نتیجه کم کنه، اگر نتیجه این با کد سیستم یکی شد یعنی کد معتبر هست.
البته این مثال خیلی پیش پا افتاده هست، الگوریتم شما باید پیچیده تر باشه تا احتمال کشفش کمتر باشه.

خب حالا همه چی کامل هست، اما اگر کاربر برنامه ی نهایی رو دیکامپایل کنه و سورس رو استخراج کنه خیلی راحت میتونه تمام روش هایی که برای فعال سازی تعبیه کردید رو تشخیص بده یا اصلاً حذفش کنه.
برای همین شما نیاز دارید که امنیت خود برنامه و کدهاش رو هم تامین کنید، برای اینکار پلاگین آریانا مناسب هست.
این پلاگین تمام کدها رو در یک فایل رمزگذاری شده ذخیره میکنه و کدها رو از اونجا میخونه. یعنی اگر کاربر سورس برنامه ی شما رو بدست بیاره کدها رو نمیبینه و نمیتونه تغییری در اونها ایجاد کنه. و برای به اصطلاح کرک کردنش لازم هست که اون فایل تولید شده توسط پلاگین رو هم دیکد کنه.
 

kohan20

Member
نه من تو بعضی از روشهای قفل دیدیم که کلا صفحه ای که قفل رمز را می پرسید یک بار ظاهر میشد و یعنی هر بار بعد از نصب ویندوز و فرمت دیگه لازم به وارد کردن کد نبود یعنی این کد یکبار پرسیده میشد و دیگه شما هیچ وقت بعد از فعال سازی این صفحه را نمی دیدید حتی بعد از فرمت و تعویض ویندوز

اما فکر کنم راه حل شما اینه که رمز واحدی تولید کنه که مخصوص کاربر باشه و لی بعد از فرمت هارد باید این کد که شما به او برای فعال سازی دادید همیشه وارد کند و منظور منم اینه که فقط یکبار در تمام عمر سیستم وارد کنه البته که اونم به cpu و هارد باید حساس باشه



و اینکه آیا کولاک هم با همین الگوریتم قفل تولید میکنه

و منظورم از پلاگین آریانا اینه که ما می تونیم یه فایل dll در سیستم مشتری ایجاد کنیم که اونم مانند آریانا قوی باشه و ریسورس نشه با خود پلاگین میشه یا اگه نمیشه چطوری این کارو بکنیم البته ریسورس هم نشه

اگه میشه یه مثال برای پیدا کردن سریال cpu با mmb قرار بدین
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
خب من راهی به ذهنم نمیرسه که اینکار رو انجام بدید. یعنی میشه فایلی رو محلی ذخیره کرد و هربار برنامه اون مکان رو چک کنه، اما وقتی هارد هم فرمت بشه برنامه چطور میخاد این رو چک کنه ؟ مگر اینکه اطلاعات در خود فایل ذخیره بشه.
فکر نکنم خیلی مهم باشه. هربرنامه ای که می بینید بعد از نصب درخواست کد ثبت میکنه، چه قبلتر نصب شده باشه یا خیر. وارد کردن کد فعال سازی هم زحمتی نداره و یک روند منطقی هست. حالا اگر خیلی واستون مهمه باید دنبال راه حلی بگردید و ببینید اصلاً ارزش صرف وقت و هزینه رو داره یا نه !

پلاگین آریانا دستورات رو در یک فایل جداگانه ذخیره میکنه و اون رو رمزنگاری میکنه، و احتمالاً هنگام خوندن اطلاعات از فایل به نحوی عمل میکنه که نشه محتویات فایل رو هنگامی توسط پلاگین در دسترس قرار میگیره کپی کنه.
شما هم میتونید با پلاگین هایی مثل fyeo فایل ها رمزنگاری کنید، اما برای دریافت اطلاعاتش باید فایل دیکد بشه و در اون لحظه فایل اصلی جایی روی دیسک موجود هست که باید به سرعت پاک بشه.
البته میشه داده ها رو بصورت متن کد شده ذخیره کرد و همون متن رو توسط توابع خود MMB خوند و با پلاگین رشته ی متنی رو دیکد کرد، با پلاگین هایی مثل Crypto

فرصت ساخت مثال رو ندارم، مثال همراه پلاگین Secure رو ببینید.
 

kohan20

Member
ببخشید میشه از قسمت free هاست که در حدود 8 مگ به بالا است استفاده کرد این قسمت برای مرز بندی بین پارتیشن ها هست ولی در کل خوانده میشه و در قسمتی از هارد هست که ویندوز با روشهای معمولی اونو نشون نمیده ولی مثلا با پارتیشن مجیک نشون میده حتی با احتیاط زیاد قابل ویرایش و اضافه و کم کردن حجمش هست

چطور میشه از این قسمت برای پسورد گذاری استفاده کرد

تنها مشکل این قسمت بعد از پارتیشن کردن دوباره است که اونم عیبی نداره

فکر کنم منظور شما پلاگین های زیر است
پیوست فایل بالا که گفتین رو در زیر آوردم

میتونید از پلاگین crypto استفاده کنید.
فايل مورد نظر رو اول Encrypt ميكنيم سپس در پروژه Embedd ميكنيم در نتيجه فايلي كه در پوشه Temp قرار ميگيره غير قابل استفاده است.
سپس با كد نويسي داخل پروژه اين فايل Decrypt ميشه و فايل Decrypt شده در محلي نا مشخص ( مثلا پوشه ويندوز ) قرار ميگيره و ما از اين فايل جديد در پروژه مون استفاده ميكنيم.

همه مراحل بالا و خود پلاگين Crypto و مثالش رو براتون گذاشتم كه ميتونيد دانلود كنيد. همچنين توي اين پروژه قبل از بستن برنامه فايل جديد هم توسط پلاگين MiscY حذف ميشه ( براي امنيت بالاتر!! )
منیع : همین انجمن
paperclip.png
فایل های پیوست شده
  • rar.gif
    Encrypt.rar (807.7 کیلو بایت, 59 مشاهدات)


نوشته مفید از michelangelo

یه نمونه برای اینکه بعد از دی کریپت توی پوشه پلیر نیاد میتونی با پلاگین میسکی اونو زود پاک کنی
paperclip.png
فایل های پیوست شده
  • zip.gif
    Sample.zip (15.2 کیلو بایت, 42 مشاهدات)

نوشته مفید از MahmoodM30

ازر وش مناسبی برای کد/دیکد کردن استفاده کنید، کامپیوترهای امروزی به اندازه ی کافی سریع هستن که بتونن در کسری از ثانیه عملیات رو انجام بدن.
میتونید از پلاگین Crypto استفاده کنید، به محض دریافت اطلاعات در متغیرها میشه رشته رو کد یا دیکد کرد.

فایل رو میشه انکریپت کرد اما همونطور که اشاره کردید باید فایل اصلی جایی برای پلاگین موجود باشه تا بشه ازش استفاده کرد، یعنی دیتابیستون جایی در هارد درایو بدون امنیت وجود داره، فقط کافیه یکی پیداش کنه.
فایل زیر تنها پلاگین Decrypt-Encrypt است
paperclip.png
فایل های پیوست شده

نوشته شده توسط مدیر انجمن مولتی مدیا بیلدر nevercom

من یه فایل رو
123456789
کد گذاشتم شد

w®إثRصI&3ا ^¥و½لک´'سز‏

قابل توجه خوانندگان عزیز لطفا نظراتونو بگید تا این قفل قوی و قویتربشه
 

kohan20

Member
میشه بایه اسکریپتی یا پلاگینی داخل فایل کامپایل شده mmb که با آریانا هم محافظت شده یه فایلی در درونش ویرایش کنه بگونه ای که دیگه کد نپرسه هم میشه

منم منظورم از سیو فایل این بود که ما چون برنامه هامونو با cd منتشر می کنیم بعد از دریافت کد اونو درون cd دوباره ذخیره کنه و بلافاصله پشت cd رو ببنده که دیگه قابل رایت نباشه و این فایلو چک میکنه اگه شماره هاردش و مسئله ما برابر بود اتوران اجرا بشه

حتی میشه ازش ایمیج گرفت و رایت کرد و لی در سیستم دیگه چون هاردش عوض میشه دیگه اجرا نمیشه و چون می بینه یه فایل ذخیره شده منظورم همون فایلی بود که با پلاگین ذخیره کردیم خطا بده که این cd قبلا استفاده شده و هیچ کدی رو دوباره برای تماس به کاربر نده

پلاگین برای رایت که من دیدم چطور میشه همچین قابلیت رو به اونم بدیم

مجموعه ای از پلاگین ها رو من در گیر می خوام بکنم

آریانا برای محافظت اتوران
Decrypt-Encrypt برای این فایل که در cd ذخیره میشه
و یه پلاگین برای رایت یه فایل چند کیلو بایتی حدود 5 کیلو
ویه پلاگین می خوام برای مخفی کردن تمام فایلهای برنامه مانند pdf و ....

اگه بشه که عالیه
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
عذر میخوام اما مطالب رو بدون نظم نوشتید و دنبال کردنش برای من مشکل هست. لطفاً اطلاعات رو طبقه بندی شده قرار بدید. چون این مسئله چند بخش مجزا داره، هرکدوم رو جداگانه بررسی کنید و اگر سوالی هست مطرح کنید، ممنون.

من در مورد مطلبی که در مورد هارد فرمودید اطلاعی ندارم و نمیتونم کمکی کنم.

خب با توجه به توضیحاتی قبلی، ما میتونیم اطلاعاتی از سخت افزار بدست بیاریم که از اون اطلاعات برای ساخت کد سیستم استفاده کنیم. کد سیستم هم برای هر سیستم متفاوت هست (بستگی به خودمون داره که کد رو وابسته به چه اطلاعاتی، مثلاً چه سخت افزاری کنیم)، اینجا فکر نکنم مشکلی باشه، اگر سوالی هست بفرمایید.

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

خب تا اینجا برنامه ی ما در خواست کد میکنه و کد رو باید از سازنده ی نرم افزار دریافت کنیم تا برنامه قابل اجرا باشه.
حالا نیاز هست که اطلاعاتی جایی ذخیره بشه تا برنامه هربار درخواست کد فعال ساز نکنه و بدونه که رجیستر شده. از اونجا که امنیت برامون مهم هست اینکه یه کلید ساده در رجیستری بسازیم مناسب نیست. درواقع محل ذخیره ی اطلاعات مورد بحث نیست، بلکه مهم اینه که اطلاعاتی که ذخیره میشه به نوعی باشه که نشه جعلش کرد و این سیستم امنیتی رو دور زد.

فرض می کنیم ما برنامه رو رجیستر کردیم، حالا میتونیم تو رجیستری یه کلید بسازیم و مقدارش رو بزاریم مثلاً 1 که به معنای این هست که رجیستر شده و برنامه نباید درخواست کد فعال ساز کنه، خب هرکسی میدونه این روش کاملاً اشتباه هست و هیچ کس هم از این روش استفاده نمیکنه.
این اطلاعاتی که ذخیره میشه باید رمزنگاری بشه و تایید اعتبار بشه. از اونجایی که کد فعال ساز برای هر سیستم متفاوت هست میشه همون کد رو جایی ذخیره کرد (برای امنیت بیشتر میشه رمزنگاریش هم کرد)، بعد برنامه اول چک کنه ببینه در اون محل مشخص اطلاعاتی وجود داره. اگر وجود داره اون رو تایید اعتبار کنه (اگر اطلاعات کد شده رو قرار دادیم اول دیکد بشه) اگر اعتبارش تایید شد برنامه اجرا بشه در غیراینصورت درخواست کد فعال ساز بکنه.

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

ظاهراً نیاز شما این هست که اون اطلاعات جایی در سیستم ذخیره بشه که حتی بعد از تعویض ویندوز و فرمت هارد اگر برنامه اجرا شد نیازی به فعال سازی نباشه که البته از دید من کار استانداردی نیست و اصلاً فایده ای نداره.
به هرحال در این مورد اطلاعاتی ندارم که بتونم راهنمایی کنم.

البته همه ی اینها رو میشه بصورت قفل تحت وب در آورد، یعنی برنامه بعد از اینکه کد سیستم رو ایجاد کرد خودش بصورت اتوماتیک کد رو به یک سرویس دهنده ی وب بفرسته و اونجا کد فعال ساز صادر بشه و برنامه اون رو دریافت کنه و رجیستر بشه. یعنی نیاز نباشه کاربر این کارها رو دستی انجام بده. که البته لازمه برنامه ی تحت وب نوشته بشه که با این سیستم سازگار باشه (بستگی به خودتون که به چه صورتی پیاده سازیش کنید)

پلاگین برای رایت موجود هست، پلاگین SilverBurner اگر نیاز دارید میتونید ازش استفاده کنید.
اما بنظرم دارید بیخود پیچیده ش می کنید. اگر قراره برای هر کاربر تتعداد محدودی کد فعال ساز ساخته بشه، میتونید رو هر CD هم یک کد بزارید و سیستم فعال سازی برای ایجاد کد فعال ساز، علاوه بر کد سیستم، کد CD رو هم بخاد و بعد کد فعال ساز صادر بشه.
یعنی وابستگی به کد CD هم ایجاد بشه.

حالا سیستم ایجاد کد فعال ساز میتونه کد CD رو برای خودش ذخیره کنه و هربار که کاربر درخواست میده چک کنه ببینه قبلاً از این کد CD استفاده شده یا نه، یا مثلاً هنوز اعتبار داره یا نه. اگر همه چیز درست بود که کد رو ایجاد کنه و در غیراینصورت پیغام خطا بده
 

جدیدترین ارسال ها

بالا