PDA

View Full Version : قفل نرم افزاری برای برنامه نویسان ویژوال بیسیک (همراه با آموزش کامل و با مثال)



alicomputer
یک شنبه 26 اسفند 1386, 17:49 عصر
شیوه های مختلفی برای حفاظت از نرم افزار ها وجود دارد که شامل قفل های سخت افزاری و قفل های نرم افزاری می باشد .

قفلی که از آن صحبت می کنیم در واقع یک DLL است که شماره شناسه ی چهار قطعه اصلی کامپیوتر (Ram – Mother Board – Cpu – Hard Disk ) را استخراج می کند و پس از ترکیب این شماره ها در پایان یک شماره به عنوان شماره شناسه آن کامپیوتر به شما می دهد که این شماره در هر کامپیوتری با کامپیوتر دیگر فرق دارد و امکان تکراری بودن آن تقریبا صفر است.



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



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



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



شاید تا حالا تقریبا با طرز کار این قفل آشنا شده باشید اما برای رفع هرگونه ابهامی یک پروژه را گام به گام با یکدیگر انجام می دهیم تا شما بیشتر با این قفل و کاربرد آن آشنا شوید .





یک پروژه جدید با دوفرم ایجاد نمایید و آن را ذخیره نمایید.


حالا این DLL را که در یک فایل Zip قرار دارد از این لینک دریافت کنید.

سپس فایل را ازحالت فشرده خارج کنید و فایل SoftLock.DLL را در پوشه برنامه کپی کنید .

(پسورد فایل Zip www.skrsoft.blogfa.com است. )

http://i15.tinypic.com/6ffv4oy.jpg

حالا پروژه را مجددا باز کنید . از منوی Project گزینه References را برگزینید تا کادر محاوره ای References به صورت زیر باز شود :


از این کادر محاوره ای برای افزودن امکانات جانبی به برنامه از طریق فایلهای اضافی مانند DLL ها و OCX ها به برنامه استفاده می شود .

بر روی دکمه Browse کلیک کنید و به مسیری که فایل DLL را کپی کرده اید رفته و فایل SoftLock.DLL را انتخاب کنید و بر روی دکمه Open کلیک کنید تا فایل به پروژه اضافه شود . سپس از کادر محاوره ای References بر روی دکمه Ok کلیک کنید تا به محیط پروژه برگردید .

در قسمت General فرم اول یک متغیر جدید برای استفاده از DLL به این صورت تعریف کنید :


Dim skrsoft As New class



یک کنترل TextBox به فرم اضافه کنید و نام آن را به txtid تغییر دهید . توجه کنید که باید خاصیت Locked آن را به True تغییر دهید تا کاربر نتواند شناسه را تغییر دهد. حالا روی فرم دابل کلیک کنید و در رویداد Load آن کد زیر را وارد کنید:


txtid.Text = skrsoft.GenerateID
این کد باعث می شود که وقتی برنامه اجرا شدر در txtid یک شماره قرار گیرد که این شماره همان شماره شناسه کامپیوتر شما است . تا اینجا به همین راحتی شماره شناسه کامپیوتر را بدست آورده اید.

http://i10.tinypic.com/53j89ab.jpg
دو TextBox دیگر به فرم اضافه کنید و نام آنها را txtname و txtcompany قرار دهید . یک دکمه به فرم بیفزایید و نام آن را به cmdok تغییر دهید . در پایان هم یک Textbox دیگر به نام txtserial به فرم اضافه نمایید .از این کنترل برای وارد کردن سریال توسط کاربر استفاده می شود .



تا اینجا شکل ظاهری برنامه را طراحی کرده و شناسه کامپیوتر را بدست آوردیم.

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



مثلا میتوانیم شماره سریال را بر عدد 2 تقسیم کنیم و تعداد حروف نام کاربر را در ابتدای عدد بدست آمده قرار دهیم و عدد بدست آمده را در در تعداد حروف نام شرکت ضرب کنیم و از عدد بدست آمده 10 رقم اول آن را به عنوان شماره سریال به کاربر بدهیم .



الگوریتمی که در بالا مطرح شد یک الگوریتم ساده است اما باتوجه به سادگی آن باز هم پیدا کردن الگوریتم و سریال کار سختی به نظر می رسد .



با هم از همین الگوریتم استفاده می کنیم و برنامه را طراحی می کنیم.



بر روی دکمه cmdok دابل کلیک کلیک کنید و در رویداد کلیک آن کدهای زیر را وارد کنید :






Dim strserial As String * 10, a As String, b As String, c As String

a = txtid.Text / 2

b = Len(txtname.Text)

c = Len(txtcompany.Text)

strserial = b + a

strserial = Val(strserial) * Val(c)

If txtserial.Text = strserial Then

MsgBox "برنامه با موفقیت ثبت شد", , "Www.SkrSoft.Blogfa.Com"

Form2.Show

Unload Form1

Else

MsgBox "سریال وارد شده با مشخصات شما مطابقت ندارد ", , "Www.SkrSoft.Blogfa.Com"

End If





تقریبا کار این برنامه تمام شده است و فقطشما باید یک برنامه ساده طراحی کنید که یک شماره شناسه و نام کاربر و نام شرکت را دریافت کند و سریالی به شما بدهد.

این هم کرکش یا keygen

پروژه جدیدی ایجاد کنید و سه کنترل TextBox به نام های txtid2 و txtname2 و txtcompany2 روی فرم قرار دهید و یک دکمه به فرم اضافه نمایید و نام آن را cmdok2 بگذارید . بر روی cmdok دابل کلیک کنید و در رویداد کلیک آن کد زیر را وارد کنید :




Dim strserial As String * 10, a As String, b As String, c As String

a = txtid2.Text / 2

b = Len(txtname2.Text)

c = Len(txtcompany2.Text)

strserial = b + a

strserial = Val(strserial) * Val(c)

MsgBox strserial, , "Www.SkrSoft.Blogfa.Com"







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



سورس دو برنامه بالا را می توانید از این لینک دریافت نمایید .

(پسورد فایل Zip www.skrsoft.blogfa.com است. )



اگر هنگام اجرای پروژه ها با خطای زیر روبرو شدید :




Compile error:

User-defined type not defined

فایل DLL را دوباره از همان روشی که گفته شد (از منوی Project) برای برنامه بارگذاری کنید .

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

alicomputer
یک شنبه 26 اسفند 1386, 17:55 عصر
این هم آدرس جدید برای دریافت dll مورد نظر
http://www.2shared.com/file/2996011/dd1f43bc/Soft.html

Bahram0110
یک شنبه 26 اسفند 1386, 23:46 عصر
سلام
پیشنهاد:
تا حد امکان از Dll (بخاطر مسائل امنیتی) برای قفل نرم افزاری استفاده نکنید

سعی کنید قفلتون توی خود فایل اجرایی باشه

j.farazani
دوشنبه 27 اسفند 1386, 01:43 صبح
این هم آدرس جدید برای دریافت dll مورد نظر
http://www.2shared.com/file/2996011/dd1f43bc/Soft.html

سلام

آقا لینک خرابه یا چی جوریه؟؟؟

ممنون

sinpin
دوشنبه 27 اسفند 1386, 02:36 صبح
این قفل نرم افزاری را فقط به خاطر امنیت نرم افزار هایتان گذاشتم.
در این که نیت مثبتی دارید شکی نیست اما؛
متاسفانه امنیت نرم افزاری صرف اضافه کردن یک Black Box به برنامه نه تنها بدست نمی آید که حتی به مخاطره نیز میافتد.
پیشنهاد میکنم که سورس dll مربوطه رو هم ضمیمه کنید.
وگرنه انتظار نداشته باشید کسی از یک جعبه ی سیاه استفاده کنه.

liaghat
دوشنبه 27 اسفند 1386, 06:57 صبح
با سلام . . .
امنیت این قفل اگر همانطور که برخی دوستان اشاره کردند از dll استفاده نشود و در سورس برنامه دیده شود، بهتر است. ولی برای قفل شکن ها مثل آب خوردن است. نمونه آن دیکشنری نارسیس که به دو هفته نکشید قفل شکستش اومد تو بازار!

alicomputer
دوشنبه 27 اسفند 1386, 07:26 صبح
حالا درست است که ظاهر ضعیفی داره اما امنیت با خود برنامه نویس است. برنامه نویس می تونه فایل dll را تو system32 به یه نام دیگه بریزه و درضمن کاری بکنه که هنگام اجرای نرم افزار قفل تست بشه. اما به این همه حرف آخرش قفل اکثر برنامه ها را می شکنند.

برای دریافت dll باید روی آدرس اینترنتی کلیک کنید ، در صفحه باز شده روی Save file to your PC کلیک کنید تا پیغام ذخیره به شما نمایش داده شود.


سلام

آقا لینک خرابه یا چی جوریه؟؟؟

ممنون

برای دریافت dll باید روی آدرس اینترنتی کلیک کنید ، در صفحه باز شده روی Save file to your PC کلیک کنید تا پیغام ذخیره به شما نمایش داده شود.

maryamb
چهارشنبه 18 اردیبهشت 1387, 15:28 عصر
خیلی عالیه
تنها مشکل اینه که هر بار که کاربر برنامه را اجرا می کنه دوباره ازش شماره سریال می خواد.
اگه این مشکل حل می شد خیلی خوب بود

H4i0 ACP
چهارشنبه 18 اردیبهشت 1387, 16:03 عصر
سلام
خیلی ممنون
دستت درد نکنه ، بسیار عالیه .
با توابع API هم میشه شماره سریال CPU و Hard و ... رو بدست آورد .

maryamb
پنج شنبه 19 اردیبهشت 1387, 09:18 صبح
تنها مشکل اینه که هر بار که کاربر برنامه را اجرا می کنه دوباره ازش شماره سریال می خواد.
اگه این مشکل حل می شد خیلی خوب بود
کسی این قسمتشو بلد نیست؟

bobrus
پنج شنبه 19 اردیبهشت 1387, 11:05 صبح
برنامه نويس هر بلايي سر فايل dll‌ بياره بازم ميشه فهميد كه قفل تو كدوم dll هست و از كجا اجرا ميشه و به راحتي با عوض كردن dll شما با dll خودش قفل رو باز مي كنه و حتي مي تونه خودش شماره سريال توليد كنه به نظر من اصلاً روش خوبي نيست كه از dll استفاده كنيم

soheil_programmer
پنج شنبه 19 اردیبهشت 1387, 19:03 عصر
برنامه نويس هر بلايي سر فايل dll‌ بياره بازم ميشه فهميد كه قفل تو كدوم dll هست و از كجا اجرا ميشه و به راحتي با عوض كردن dll شما با dll خودش قفل رو باز مي كنه و حتي مي تونه خودش شماره سريال توليد كنه به نظر من اصلاً روش خوبي نيست كه از dll استفاده كنيم

با سلام

من یک تئوری و رفع اشکال برای این قضیه دارم.
من 2 سال پیش یک همچنین قفلی ساختم که با سریال هارد یک سریال ایجاد می کرد که کاربر با دادن آن به من و من با زدن این سریال در یک KeyGen که ساخته بودم سریال اصلی برنامه را به او داده تا او بتواند از نرم افزار کامل و ثبت شده ام استفاده کند؛ اما این وسط یک پیش بینی کردم که اگر کسی در DLL یا فایل EXE برنامم تغییری ایجاد کند و برنامه را کرک کند تکلیف چیست؟؟
و اما راه حل من برای این قضیه:
من توی برنامم در هنگامی که اجرا می شد یک روتین داشتم که تعداد زیادی بایت را بطور تصادفی و از پبش تعریف شده از فایل EXE و DLL برنامم با روز اولی که برنامه نوشته شده بود مقایسه می کرد و در صورتی که متوجه تغییری در این فایل ها می شد اجرای برنامه را متوقف کرده و اجازه اجرای برنامه را بوسیله کاربر نمی داد!

حالا دوست دارم نظر شما را نسبت به این تئوری خودم بدونم؟؟

Nima NT
پنج شنبه 19 اردیبهشت 1387, 19:17 عصر
با سلام خدمت شما دوستان عزیز
از نظر بنده حقیر این قفل نرم افزاری رو خیلی راحت می شه کرک کرد ، چرا که فرقی نمیکنه من سریال 10 جور قطعه رو بگیرم و باهم مخلوط کنم چون من نهایتا" باید یه جایی صحت قفل رو بررسی کنم
برای از بین بردن این قفل من این جوری عمل می کنم
اول با برنامه VB decompiler برنامه شما رو تبدیل می کنم به کد اسمبلی
یعد از این کار ( یه کمی طولانی ) آدرس مربوط به چک شدن کد رو یادداشت می کنم
در مرحله آخر توسط برنامه Olly Dbg می رم به آدرس شرط و اون رو با عبارت NOP جایگزین میکنم
بعدشم تغییرات رو ذخیره مینکم
دیدی چقدر راهت می شه کرکش کرد.
اگه می خوای یه قفل حسابی بنویسی سعی کن خودت شناسه ها رو تو برنامه خودت بدست بیار بعدش
تو چند جای برنامه اون رو چک کن
مثلا" یه تایمر بزار تا از زمان اجرای برنامه کدی که کاربر وارد کرده رو چک کنه ، چون در این حالت اگه من صفحه فعالسازی رو دور بزنم تایمر یه کمی کارم سخت تر می کنه
در ضمن این هم تمام کار نیست فقط گفتم کار کرک رو سخت تر می کنه نه غیر ممکن
من در حال حاضر دارم با گروه Unreal Rce همکاری میکنم اگه راهنمائی های بیشتری در این زمینه خواستی به من ایمیل بزن.
nima.nikjoo@gmail.com
nima.nikjoo@yahoo.com

soheil_programmer
جمعه 20 اردیبهشت 1387, 11:02 صبح
:قلب:
با سلام خدمت شما دوستان عزیز
از نظر بنده حقیر این قفل نرم افزاری رو خیلی راحت می شه کرک کرد ، چرا که فرقی نمیکنه من سریال 10 جور قطعه رو بگیرم و باهم مخلوط کنم چون من نهایتا" باید یه جایی صحت قفل رو بررسی کنم
برای از بین بردن این قفل من این جوری عمل می کنم
اول با برنامه VB decompiler برنامه شما رو تبدیل می کنم به کد اسمبلی
یعد از این کار ( یه کمی طولانی ) آدرس مربوط به چک شدن کد رو یادداشت می کنم
در مرحله آخر توسط برنامه Olly Dbg می رم به آدرس شرط و اون رو با عبارت NOP جایگزین میکنم
بعدشم تغییرات رو ذخیره مینکم
دیدی چقدر راهت می شه کرکش کرد.
اگه می خوای یه قفل حسابی بنویسی سعی کن خودت شناسه ها رو تو برنامه خودت بدست بیار بعدش
تو چند جای برنامه اون رو چک کن
مثلا" یه تایمر بزار تا از زمان اجرای برنامه کدی که کاربر وارد کرده رو چک کنه ، چون در این حالت اگه من صفحه فعالسازی رو دور بزنم تایمر یه کمی کارم سخت تر می کنه
در ضمن این هم تمام کار نیست فقط گفتم کار کرک رو سخت تر می کنه نه غیر ممکن
من در حال حاضر دارم با گروه Unreal Rce همکاری میکنم اگه راهنمائی های بیشتری در این زمینه خواستی به من ایمیل بزن.
nima.nikjoo@gmail.com
nima.nikjoo@yahoo.com


لطفاً در مورد مطالب بالا که فرمودید مقاله ای آموزشی بصورت pdf آماده کنید و در اختیار کاربران این سایت قرار دهید که در آن لینک های برنامه های فوق نیز مشخص باشد.

یک سوالی هم که واسم در مورد VB-decompiler پیش اومده اینه که در قسمت Native-Code چجوری میشه آدرس پیدا کرد؟؟ مثلاً اونجا یک تایمر هست که میخوام مقدار property اون بنام Interval=100 را به Intervel=0 تغییر بدم، اصلاً چجوری میشه این کارو کرد؟؟

با تشکر:قلب:

zacaria
جمعه 20 اردیبهشت 1387, 16:29 عصر
...من توی برنامم در هنگامی که اجرا می شد یک روتین داشتم که تعداد زیادی بایت را بطور تصادفی و از پبش تعریف شده از فایل EXE و DLL برنامم با روز اولی که برنامه نوشته شده بود مقایسه می کرد و در صورتی که متوجه تغییری در این فایل ها می شد اجرای برنامه را متوقف کرده و اجازه اجرای برنامه را بوسیله کاربر نمی داد!

حالا دوست دارم نظر شما را نسبت به این تئوری خودم بدونم؟؟

سلام
دوست عزیز این فقط یه تئوریه یا به مرحله عمل هم رسوندیش؟
برای کرک این روش هم کافیه کرکر شرطی رو که عدم تغییر کدها رو بررسی می کنه رو از کار بندازه! (همون روتین مذکور را)

soheil_programmer
شنبه 21 اردیبهشت 1387, 16:20 عصر
سلام
دوست عزیز این فقط یه تئوریه یا به مرحله عمل هم رسوندیش؟
برای کرک این روش هم کافیه کرکر شرطی رو که عدم تغییر کدها رو بررسی می کنه رو از کار بندازه! (همون روتین مذکور را)

سلام

من روش گفته شده بوسیله ollydbg را که دوست عزیزمون در همین تاپیک فرموده بودند را بررسی کردم و قفل برنامم متاسفانه کرک شد! و حالا دنبال روشی برای محکم کردن این قفلم هستم، ظاهراً نرم افزارهائی بنام packerها و unpackerها برای محکمتر کردن قفلها وجود دارند.

اگر شما و یا دوستان دیگرمون راهی را جهت محکمتر کردن قفل بنده بلدند لطفاً مطرح کنند.

zacaria
شنبه 21 اردیبهشت 1387, 16:28 عصر
سلام
نمی دونم این مقاله رو خوندی یا نه؟
فکر کنم بدردت بخوره
موفق باشی

Babak.Hassanpour
یک شنبه 22 اردیبهشت 1387, 11:55 صبح
من کاری به کرک شدن ندارم.چون فقط برنامه ای که نوشته نشده کرک نمیشه(نقل قول از یه دوست که اسمشون یادم نیست)ولی این برام جای تعجب داره چرا این DLL رو همه سیستم ها فقط همین کد رو تولید میکنه 207908249184
واسه شما هم اینجوریه یا نه؟ اگه همش این کد رو تولید کنه که پشیزی نمی ارزه

soheil_programmer
یک شنبه 22 اردیبهشت 1387, 21:37 عصر
من کاری به کرک شدن ندارم.چون فقط برنامه ای که نوشته نشده کرک نمیشه(نقل قول از یه دوست که اسمشون یادم نیست)ولی این برام جای تعجب داره چرا این DLL رو همه سیستم ها فقط همین کد رو تولید میکنه 207908249184
واسه شما هم اینجوریه یا نه؟ اگه همش این کد رو تولید کنه که پشیزی نمی ارزه


سلام
من منظور شما را از برنامه نفهمیدم که کدوم برنامه را میفرمائید اما من از برنامه ارائه شده در این تاپیک استفاده نکردم ها و خودم از یک سورس بزبان C که سریال هارد را میداد DLL ایجاد کردم و آن را در VB استفاده کردم!!

zacaria
یک شنبه 22 اردیبهشت 1387, 22:58 عصر
سلام

من روش گفته شده بوسیله ollydbg را که دوست عزیزمون در همین تاپیک فرموده بودند را بررسی کردم و قفل برنامم متاسفانه کرک شد! و حالا دنبال روشی برای محکم کردن این قفلم هستم، ظاهراً نرم افزارهائی بنام packerها و unpackerها برای محکمتر کردن قفلها وجود دارند.

اگر شما و یا دوستان دیگرمون راهی را جهت محکمتر کردن قفل بنده بلدند لطفاً مطرح کنند.


سلام
اينها رو ببين
http://barnamenevis.org/forum/showthread.php?t=104440
http://barnamenevis.org/forum/showthread.php?t=5578
http://forum.iranled.com/showthread.php?tid=8542
http://forum.iranled.com/showthread.php?tid=7113
http://forum.iranled.com/showthread.php?tid=6888

موفق باشيد

Babak.Hassanpour
دوشنبه 23 اردیبهشت 1387, 19:32 عصر
سلام
من منظور شما را از برنامه نفهمیدم که کدوم برنامه را میفرمائید اما من از برنامه ارائه شده در این تاپیک استفاده نکردم ها و خودم از یک سورس بزبان C که سریال هارد را میداد DLL ایجاد کردم و آن را در VB استفاده کردم!!

منظورم dll ای هست که ایشون قرار دادند.کد تولید شده همه جا یکسانه

soheil_programmer
جمعه 27 اردیبهشت 1387, 10:54 صبح
سلام
نمی دونم این مقاله رو خوندی یا نه؟
فکر کنم بدردت بخوره
موفق باشی

سلام

مقالتون را خوندم، ممنون اما متاسفانه مثال، نمونه نرم افزار و لینک دانلود نداره!

zacaria
شنبه 28 اردیبهشت 1387, 15:35 عصر
سلام
سهیل جان اولا مقاله نوشته خودم نیست و از اینترنت گرفتم، دوما برای مثال و ... می تونی بخش کرک همین انجمن رو ببینی، کرک می هایی که میزارند و تحلیل هایی که روی اونها انجام می دهند عالیه
موفق باشی

alicomputer
پنج شنبه 16 خرداد 1387, 18:21 عصر
اگه می خوای هر بار که برنامه باز می شه این فرم نیاد می تونی این کار را انجام بدی
دو تا فرم درست کن. اولی را splash برنامت را بزار
فرم دوم را قفل را
حال یه کلید تو رجیستری درست کن
تو لود برنامت بنویس هر وقت رجیستری مقدار داشت فرم اصلی برنامت را باز کنه ولی اگه مقدار نداشت فرم قفل نرم افزار را باز کنه
تو فرم دومت هم باید بنویسی اگه کد درسته یه مقداری را تو رجیستری بنویسه
در ضمن باید آدرس رجیسترید توری باشه که به سختی بشه پیدا کرد


کسی این قسمتشو بلد نیست؟

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


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


من از این dll استفاده کردم. تو هر سیستمی کد مختلفی می ده

maryamb
یک شنبه 19 خرداد 1387, 09:32 صبح
برای منم فقط همین کد رو تولید می کنه 207908249184

safironlinee
یک شنبه 19 خرداد 1387, 20:29 عصر
سلام
من خیلی وقت وی بی کار می کنم یه برنامه اینجوری داشتم که می خواستم از پخش اون بدون اجازه خودم جلوگیری کنم .
یعنی اینکه من 1500 کد درست کردم واسه 1500 سی دی بعد به هر سی دی یک کد و یک سریال اختصاص دادم و اسه شناسایی ***با یه برنامه دیگه واسه تولید کد***.
یک کی جین تعریف کردم که همراه سی دی به کاربر داده می شد.
برنامه وقتی نصب میشد روی سیستم کاربرا بهشون می گفت که شما مجوز استفاده ندارین و باید ریجستر کنین خوب اونا هم مجبور مشدن با ما تماس بگیرن!!!!
من از سریال های واقعی سخت افزارها در برنامه اصلی استفاده کردم و اونا را با یک ابر کدر به دو تا عدد تبدیل کردم که در کی جین به کاربر نشون میده.*** ابر کدر رو خودم بصورت پروسیجر نوشتم و برگشتی هستش***
برنامه در سری اول اجرا پس از ریجستر اطلاعات رو در ریجستر ثبت می کنه و در دفعات بعد اونا رو در هر بار اجرا با سخت افزا چک میکنه اینجوری اگه یه سخت افزار بدون آگااهی شما تعویض بشه برنامه اجرا نمی شه!!!!
یه سری اطلاعات هم جاهای دیگه می ذارم واسه امنیت بالا ..... که کسی نه ریجستری رو میتونه پیدا کنه نه بقیه ---- راستی داخل ریجستر 7 تا اطلاعات با نام های ویندوز میریزه که همون هم کار هر کسی نیست پیداش کنه---

راستی من از کد سخت افزاری سی دی هم استفاده کردم که یکم هم در مورد اون توضیح می دم
***سی دی تا وقتی خام هست شماره سریال نداره اما به محضی که یه فایل حتی 1 کیلوبایت روی اون بره سریال پیدا میکنه****
مزیت استفاده از سریال سی دی ؟؟؟ اگه از این سی دی کپی بزنن کدش با کد اصلی شما فرق میکنه و شما براحتی می تونین تشخیص بدین که اصلی هستش یا نه و کد ریجستر رو به کاربر ندین.
الان 8 ما می گذره و کسی هم نیومده بگه که اون قفل رو شکسته البته غیر ممکن هم نیست.
!!!!
اگه اطلاعات بیشتری خواستین با من تماس بگیرین
safironlinee@yahoo.com
09177522260 مجتبی
من تا بتونم کمکتون میکنم
خلاصه من از تمامی شما مچکرم و اینکه شما همگی این کاره هستین خدای نکرده من بی ادبی به شما نکرده باشم.

فاطمه وطن دوست
یک شنبه 19 خرداد 1387, 21:38 عصر
سلام
نمیشه همینجا بگین و کدتونم بزارین ؟

safironlinee
دوشنبه 20 خرداد 1387, 09:21 صبح
سلام
کدوم قسمت رو بگم؟؟؟!!!!
کدوم کد رو می خواین؟

maryamb
دوشنبه 20 خرداد 1387, 10:48 صبح
نمیشه همه ی مراحل رو اینجا بذارید ؟ !!!

safironlinee
دوشنبه 20 خرداد 1387, 11:41 صبح
مراحلش زیاده
من تقریبا 1 ماه وقت صرف قفل کردم
خوب دی باگرها و Olly Dbg نمی تونه روی این کاری انجام بده !!!
گفتم کی پکیج کدر از توابع بازگشتی استفاده می کنه و شرط یا دستور مقایسه ای ندار که داخل حافظه بذاره چون آخرین فراخوانی رو بصورت مکرر اجرا می کنه پس نمی شه با nop جایگزین کرد. و جایی ذخیره کرد.
حالا گیریم که این کار انجام بشه در این صورت واسه یه کدر تونسته ذخیره کنه برای اون 6 تای دیگه که با شرایط مختلف انجام می شن و در قسمت های مختلف ریجستری نوشته می شن چطور ؟
فرض کنیم این کار بشه *** یک الگوریتم واسه مرحله آخر گذاشتم که فشرده سازی می کنه و اطلاعات رو داخل فایل های خاص میریزه که این بار کاری به ریجیستری نداره!!!
حالا اینکه تمام این مراحا کراک بشن خوب سریال سی دی رو که وجود داره چجوری کراک کنه!!!! اون هم خودش یه قفل هستش دیگه؟؟؟؟
خوب من نمی تونم اینجوری کد رو واسط بذارم شما شروع کن به انجام من هم کمکت میکنم خوبه؟

safironlinee
سه شنبه 21 خرداد 1387, 15:25 عصر
سلام
یه برنامه دارم مینویسم واسه دوستان که هم تریال هستش و هم و اسه قفل
بزودی آماده می شه.

alicomputer
چهارشنبه 22 خرداد 1387, 10:43 صبح
دوستان کد این قفل را من گذاشتم و روی سیستم های مختلفی تست کردم ولی روی هر سیستم کد های مختلفی می ده. حالا شما چرا این مشکل را دارید نمی دونم. احتمالا از کد ها درست استفاده نکردید.

maryamb
چهارشنبه 22 خرداد 1387, 12:35 عصر
احتمالا از کد ها درست استفاده نکردید.
آخه ربطی به استفاده درست از کد ها نداره . dll اشکال داره و همه جا کد یکسان تولید می کنه وگرنه بقیه مراحل مشکلی نداره

Bahram0110
چهارشنبه 22 خرداد 1387, 13:02 عصر
آقايان safironline و alicomputer

اطلاعاتتون رو تو هر كجاي رجيستري قايم كنيد خيلي راحت پيدا مي شه
بهتره روي كد كردن اطلاعات تمركز كنيد

safironline عزيز
شماره سريال سي دي با كپي شدن منتقل مي شه
يعني سي دي غير اصل همون سريال رو داره

مي شه يه نمونه از برنامتون رو واسه تست بذارين؟

ممنون مي شم

reza11_2005
یک شنبه 08 شهریور 1388, 21:42 عصر
با سلام یکی dll را بگذارد
با تشکر

vbhamed
دوشنبه 09 شهریور 1388, 06:01 صبح
با سلام خدمت شما دوستان عزیز
از نظر بنده حقیر این قفل نرم افزاری رو خیلی راحت می شه کرک کرد ، چرا که فرقی نمیکنه من سریال 10 جور قطعه رو بگیرم و باهم مخلوط کنم چون من نهایتا" باید یه جایی صحت قفل رو بررسی کنم
برای از بین بردن این قفل من این جوری عمل می کنم
اول با برنامه VB decompiler برنامه شما رو تبدیل می کنم به کد اسمبلی
یعد از این کار ( یه کمی طولانی ) آدرس مربوط به چک شدن کد رو یادداشت می کنم
در مرحله آخر توسط برنامه Olly Dbg می رم به آدرس شرط و اون رو با عبارت NOP جایگزین میکنم
بعدشم تغییرات رو ذخیره مینکم
دیدی چقدر راهت می شه کرکش کرد.
اگه می خوای یه قفل حسابی بنویسی سعی کن خودت شناسه ها رو تو برنامه خودت بدست بیار بعدش
تو چند جای برنامه اون رو چک کن
مثلا" یه تایمر بزار تا از زمان اجرای برنامه کدی که کاربر وارد کرده رو چک کنه ، چون در این حالت اگه من صفحه فعالسازی رو دور بزنم تایمر یه کمی کارم سخت تر می کنه
در ضمن این هم تمام کار نیست فقط گفتم کار کرک رو سخت تر می کنه نه غیر ممکن
من در حال حاضر دارم با گروه Unreal Rce همکاری میکنم اگه راهنمائی های بیشتری در این زمینه خواستی به من ایمیل بزن.
nima.nikjoo@gmail.com
nima.nikjoo@yahoo.com

سلام

اين قسمت رو ببينيد
http://www.barnamenevis.org/forum/showthread.php?p=738921

dasa1234
جمعه 09 مرداد 1394, 11:58 صبح
با سلام به همه

من با استفاده از نرم افزار demo builder یک آموزش تعاملی (اینتراکتیو) ساختم و این آموزش من به صورت فایل اجرایی میباشد.

آیا من میتونم روی این فاییل اجرایی هم قفل نرم افزاری (لایسنس) بذارم؟؟ یا اصلا نشدنیه؟

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

vbhamed
چهارشنبه 14 مرداد 1394, 06:42 صبح
سلام
نشدنی که نداریم
خیلی از قفل گذارها هستند که روی فایل exe هم قفل می‌گذارند، البته امنیتشون به اندازه این نیست که سورس برنامه اصلی رو داشته باشید.