PDA

View Full Version : حرفه ای: dll در قفل نرم افزاری



monirprogram
یک شنبه 02 مرداد 1390, 23:20 عصر
سلام بچه ها. اول ممنون بابت مطالب مفیدی که گذاشته بودید. من دارم یک قفل نرم افزاری طراحی میکنم(البته به عنوان پروژه) . کدهای تولید شماره سریال رو نوشتم. و اونها رو تبدیل به dll کردم. حالا فقط یه مشکل دارم و اون اینکه چطور مانع باز شدن این dll بشم. میدونم که میشه فایل dll رو رمزگذاری کرد. من از چند تا دستور برای درست کردن رمز کردن dll ام استفاده کردم، و البته کد برگشت دستو رو هم دارم اما دیگه نمیدونم کجا باید فراخوانیش کنم و چطور باید رمزش باز شه که هکر متوجه نشه.
حالا فکر کنم 2 راه دارم :
1- قبل از اجرای برنامه کدهای رمز شده dll رو برگردونم به حالت قبلیش و اجراش کنم. (که نتوستم)
2- به اطلاعات داخل dll ام کار نداشته باشم ، اما جازه ندم وقتی تو کامپیوتر کاربر کپی شد، به هیچ برنامه دیگه ای اضافه بشه.(که مطلب مفیدی در موردش پیدا نکردم)
3- آیا غیر از dll میشه کار دیگه ای کرد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟:متفکر::متفکر:

لطفا راهنماییم کنید.

Nima NT
یک شنبه 02 مرداد 1390, 23:49 عصر
میشه کمی مکانیزم خودتون رو بیشتر توضیح بدید ؟ منظورتون از رمز کردن فایل DLL چیست ؟ شما توابع رو رمز میکنید یا کل فایل رو ؟

متشکرم.

monirprogram
دوشنبه 03 مرداد 1390, 08:01 صبح
من هنوز برنامه رو کامل نکردم. فایلهای مربوط به رمزگذاری پسوردد رو گذاشتم داخل dll(البته نمیدونم تا چه حد این کار درسته) . بعد تنها چیزی که به ذهنم رسید این بود که کل فایل رو رمزگذاری کنم. اما اگر فکر میکنید راه دیگه ای وجود داره که بهتره ،لطفـــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــا بگید.
مرسی

monirprogram
سه شنبه 04 مرداد 1390, 08:10 صبح
یادم هست قبلا هر وقت چیزی میخواستماینجا میگشتم؟پس چرا کسی راهنمایی نمیکنه؟
یه مطلبی به ذهنم رسیده اما نمیدونم تا چه حد درسته، حداقل نظرتون رو در موردش بگید. اون هم اینکه گفتم با یه برنامه دیگه مثل c یه برنامه تولید کنم که بیاد چک کنه که آیا نرم افزار قبلا رجیستر شده یا نه ،که اگر شده بود دیگه dll رو دیکد نکنه اما اگر نشده بود ،فایل رو دیکد کرده و تو dll های ویندوز بریزه پس از رمزگذاری از اون قسمت پاکش کنه.
آیا این درسته و از نظر منطق قابل انجام؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

Mr.reCoder
چهارشنبه 05 مرداد 1390, 11:22 صبح
یادم هست قبلا هر وقت چیزی میخواستماینجا میگشتم؟پس چرا کسی راهنمایی نمیکنه؟
یه مطلبی به ذهنم رسیده اما نمیدونم تا چه حد درسته، حداقل نظرتون رو در موردش بگید. اون هم اینکه گفتم با یه برنامه دیگه مثل c یه برنامه تولید کنم که بیاد چک کنه که آیا نرم افزار قبلا رجیستر شده یا نه ،که اگر شده بود دیگه dll رو دیکد نکنه اما اگر نشده بود ،فایل رو دیکد کرده و تو dll های ویندوز بریزه پس از رمزگذاری از اون قسمت پاکش کنه.
آیا این درسته و از نظر منطق قابل انجام؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

منظورت از توی dll های ویندوز همون مسیر system32 است؟؟ اینکه خیلی خطرناکه!! بهتره توی حافظه دیکد کنی و اجرا کنی. چون اگه تو هارد بریزی کرکر کپیش میکنه! البته از حافظه هم میشه کپی کرد. اما از هارد راحتتره!!!:متفکر:

monirprogram
پنج شنبه 06 مرداد 1390, 10:25 صبح
این فعلا مال مرحله بعدیه. من الان ی مشکل دارم اونهم با راخوان dll ایجاد شده یا c++ داخل vb.net. من یه تابع کلی داخل c++ دارم که اگر دستور ساده ای بزارم درست جواب میده ،مثلا rturn 1; دقیقا عدد 1 را بر میگردونه. پس برای ارتباط 2 محیط دستورم درسته و از دستور ddlImport استفاده کردم. اما وقتی کد خودم رو میزارم خطای پایین رو میده. البته من از اشاره گر استفاده کردم. میشه لطفا راهنمایی کنید. attepted to read or write protected memory. this is often an indication that other memry is corrupt??????????????????????????????????????????? ????????????????