ورود

View Full Version : آموزش: KeyGen Me:Golden



(هیچکس)
یک شنبه 23 اسفند 1388, 21:40 عصر
با سلام خدمت دوستان عزیز و اساتید محترم به ویژه استاد بردیا.
ذوستان من می خوام یه برنامه بنویسم که در اون از امکانات دات نت استفاده کنم از جمله WPF و LINQ و ...
در ضمن می خوام امنیت برنامه هم هیچی که نباشه لااقل در سطح کد Native باشه.
چند تا گزینه به نظرم رسیده لطفا منو راهنمایی کنید.
1- دات نت رو بی خیال بشم برم سراغ Native و دلفی و ...
2- طراحی رو داخل WPF با سی شارپ انجام بدم و کدها رو داخل یک سری API DLL ( با استفاده از C++‎/CLI کد نویسی دات نت در Win32) جاسازی کنم و از WPF اونا رو فراخوانی کنم.
3- استفاده از روش Mixed platforms در پروژه های MFC .

* البته گزینه سوم رو کار می کردم آخراش به مشکل بر می خورم اگه یکی یه نمونه کوچک داشته باشه بهم بده ممنون می شم (با Visual Studio 2008 یا 2010).

اینم یه نمونه از API DLL هایی هست که در گزینه 2 گفته بودم و نحوه استفادش در سی شارپ داخلش دو تابع وجود داره به نام ShowMsg و PersianDate که کدشون دات نت 2 هست ولی به صورت API DLL نوشته شده اند. اگه زحمتی نباشه برام کدهای دات نت رو ازش بیرون بیارید و سطح امنیت رو هم بگید تا فکری به حال خودم بکنم (می خوام بدونم تو این روش هم کدهای دات نت معلوم می شه).

با تشکر.

ricky22
یک شنبه 23 اسفند 1388, 21:54 عصر
چطوره قفل نرم افزاریتون با native code بنویسید بعد مثلا اگه رمز صحیح بود فایل c# رو که حاوی برنامه اصلی هست صدا بزنید و برنامه اصلی رو encrypt کنید.
البته من تجربه ای در این ضمینه ندارم.

(هیچکس)
یک شنبه 23 اسفند 1388, 22:33 عصر
چطوره قفل نرم افزاریتون با native code بنویسید بعد مثلا اگه رمز صحیح بود فایل c# رو که حاوی برنامه اصلی هست صدا بزنید و برنامه اصلی رو encrypt کنید.
البته من تجربه ای در این ضمینه ندارم.
دوست عزیز با تشکر از شما. من می خوام علاوه بر کد فقل تو پروژه ای هم که با سی شارپ طراحی می کنم کدها لو نره (با ابزاری مثل Reflector و آنپک کننده های زیادی که وجود داره). پس من نباید تو پروژه دات نت (سی شارپ) کد خاصی رو بنویسم چون کرکر (بهتره بگم فقط یه آنپکر) به راحتی خط خط کدهای من رو می تونه ببینه و حالا دیگه فکر بعدشو بکن...:گریه:
لطقا اساتید ما رو از راهنماییهاشون محروم نکنن.

موفق باشید.

Securebit
دوشنبه 24 اسفند 1388, 00:36 صبح
من دقیقا هدفی که دارید رو متوجه نشدم اگر فقط میخواهید سورس برنامه استخراج نشود باید کلا برنامه نویسی در پلتفورم دات نت را رها کنید چون هیچ راهی برای جلوگیری از استخراج کد وجود ندارد و یکی از زبانهای نیتیو را برای اینکار انتخاب کنید گزینه های 2 و 3 فکر خوبی هست چون بعضی از قسمتهای کد به نیتیو تبدیل میشه میتونه جلوی استخراج سورس رو بگیره (ولی نه کاملا).

(هیچکس)
دوشنبه 24 اسفند 1388, 05:58 صبح
سلام استاد بردیا بازم به زحمتاتون صمیمانه تشکر می کنم (منتظر KeyGen Me هستم لطفا امنیت کدهای دات نتی رو که نوشتم برام محک بزنید)
هدف من دقیقا اینه...
من محصولات شرکت های بزرگ رو مثل (Adobe, Autokesk, Konami, Microsoft, ...) رو بررسی کردم با ابزارهای مختلف کرکینگ...
مثلا همین Photoshop CS4 یا Visual Studio Beta 2 Ultimate که Net Framework 3.5 رو لازم دارن و شاید هم Visual C++ Redestribute 2008 . چیزی که مسلمه اینه که این نرم افزارها دارن از امکانات دات نت استفاده می کنن. Visual Studio 2010 Beta 2 Ultimate که مطمئنم محیطش با WPF طراحی شده. ولی نمیشه از فایل های اونا کدی (دات نت)رو بیرون کشید فقط میشه مثل یک برنامه Native کرکشون کرد.
خلاصه، من می خوام برنامه هایی رو که می نویسم لااقل فعلا در این سطح باشه (مثل Photoshop CS4) امکانات دات نت + امنیت کد
که اگه برنامه هام کرک شدن دیگه نشه از اونا کدهای دات نت رو بیرون کشید.

موفق باشید...

Nima_NF
سه شنبه 25 اسفند 1388, 16:56 عصر
برنامه هایی مثل Autodesk 3dsmax یا Adobe photoshop از روز اول تماما ++C و کاملا native بودند، در سال های اخیر برای اینکه برنامه نویسان .Net هم بتوانند برای این برنامه ها Plugin بنویسند SDK را تغییر دادند و امکان ترکیب کدهای .Net با native را فراهم کردند.
مثلا ممکن هست فقط یک امکان جدید در قالب plugin اضافه شده به برنامه که در پنجره جداگانه اجرا می شود توسط .Net نوشته شده باشد.

چون من از سال ها قبل از آمدن .Net با این برنامه ها کار می کردم، با تحولات و توسعه استفاده از .Net در برخی از آن ها اطلاع دارم.
پس بدانید که قسمت اصلی برنامه و قابلیت های جدید در برنامه هایی که ذکر کردید را همچنان با C++‎ می نویسند. برای اینکه متوجه ساختار این برنامه ها شوید، SDK یا help ها / Document های مخصوص SDK این برنامه ها را دانلود کرده و مطالعه کنید. در آن ها به وضوح توضیح داده شده است.

در مورد Autodesk 3Dsmax مثلا با MFC هست و از همان ترکیب کدها با .Net استفاده کرده اند.

ضمنا همراه خیلی از برنامه .Net را نصب می کنید، اما این بدین معنی نیست که آن ها از .Net استفاده می کنند مثلا در مورد photoshop، بلکه برنامه های جانبی که معمولا در پروسه های دیگر همراه برنامه اجرا می شوند معمولا توسط آن ها نوشته شده اند.

ضمنا photoshop روی Mac Os هم هست، پس خود بخش اصلی برنامه یا قابلیت های عمومی را خیلی وابسته به .Net نمی کنند.

(هیچکس)
سه شنبه 25 اسفند 1388, 23:05 عصر
بله دوست عزیز ممنونم. اگه دقت کنید من نگفتم که برنامه هایی رو که نام بردم یا نیاز به دات نت داشتن رو حتما با دات نت نوشتن (اونم با سرعت و کارایی بالایی که دارن و ...) گفتم از امکانات دات نت استفاده می کنند. من هم دنبال همین هستم که برنامه هایی که می نویسم از امکانات دات نت درش استفاده بشه و کدهای دات نت نوشته شده در آن دزدیده نشه (تکلیف کدهای Native که معلومه).

یه سوال دیگه هم داشتم اینکه کدهای اسمبلی های حفاظت شده با نرم افزار SLP Code Protector هم قابل رمز گشایی هستن. سطح امنیتش چقدره.

موفق باشید.