امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 4.5
  • 1
  • 2
  • 3
  • 4
  • 5
ایجاد یک قفل نرم افزاری ( تولید کد با XOR )
نویسنده پیام
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #1
ایجاد یک قفل نرم افزاری ( تولید کد با XOR )
در اين مقاله مي خواهم در رابطه با روشهاي زيپ كردن و كد كردن و نحوه استفاده كردن از آن در برنامه ها صحبت كنم. ابتدا نمونه هائي از كدهاي استفاده شده در برنامه هاي رايج مانند Windows – Word – WinZip و...

براي نصب سيستم عامل Windows98 عربي كد PCGXQ-PK2XW-894C9-J3K6M-DPVXD و براي نصب Office 2000 كد GC6J3-GTQ62-FP876-93FBR-D3DX8 و ... ! اما اين كدها از كجا مي آيند؟ بايد بكويم كه در واقع اينها يك رمز براي اجراي برنامه هستند كه تبديل به كد شده اند. مانند: سريال CD با ديسك، سريال MOTHERBOARD و.....



حال يك روش ساده كد كردن اطلاعات

يكي از روشهاي كد كردن اطلاعات روش XOR مي باشد. در اين روش از عمليات با بيتها بر روي كد مورد نظر استفاده مي شود بدين صورت كه هر يك از كاراكترهاي كد مورد نظر را با يك عدد XOR نمائيم



حال نمونه يك برنامه كه از آن استفاده مي كند:


کد:
Private Function Encrypt(ByVal strText As String) As String

Dim lngPWIndex As Long
Dim lngDoText As Long
Dim lngChar As Long
Dim strFinal As String
Dim strNewChar As String
Dim lngPWVal as Long

For lngDoText = 1 To Len(strText)
DoEvents
lngChar = Asc(Mid$(strText, lngDoText, 1))
lngPWVal = (lngChar Xor 128)
strNewChar = Chr$(lngPWVal)
strFinal = strFinal & strNewChar
Next lngDoText
Encrypt = strFinal
End Function

اين روتين يك متن را گرفته و آن را با عدد 128 XOR مي كند و يك مقدار كد شده را بر ميگرداند.

و يك نمونه برنامه ديگر كه يك متن را با توجه به يك كليد كد مي كند


کد:
Private Function Encrypt(ByVal strText As String , ByVal strPasswordKey As String) As String

Dim lngPWIndex As Long
Dim lngDoText As Long
Dim lngChar As Long
Dim lngPWChar As Long
Dim lngPWVal As Long
Dim strFinal As String
Dim strNewChar As String

lngPWIndex = 1

For lngDoText = 1 To Len(strText)
    DoEvents
    lngChar = Asc(Mid$(strText, lngDoText, 1))
    lngPWChar = Asc(Mid$(strPasswordKey, lngPWIndex, 1))
    lngPWVal = (lngChar Xor lngPWChar)
    strNewChar = Chr$(lngPWVal)
    strFinal = strFinal & strNewChar
    If lngPWIndex = Len(strPasswordKey) Then
        lngPWIndex = 1
    Else
        lngPWIndex = lngPWIndex + 1
    End If  
Next lngDoText

Encrypt = strFinal

End Function


در مقاله های بعدی سعی می کنیم یک قفل کامل طراحی کنیم و سپس به راه های نفوذ به قفل می پردازیم.

۰۳-بهمن-۱۳۸۶, ۱۱:۲۰:۴۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Neynava, web30t
ΛΛ Θ l-l $ Σ Ω آفلاین
کاربر با تجربه
****

ارسال‌ها: 739
موضوع‌ها: 147
تاریخ عضویت: مهر ۱۳۸۶

تشکرها : 219
( 187 تشکر در 98 ارسال )
ارسال: #2
RE: ایجاد یک قفل نرم افزاری ( تولید کد با XOR )
سلام Di Di ممنون خیلی خوبه همین طوری ادامه بده
اگه مثل روش قبلی یه مثال بزنی خیلی خوب می شه تا ما آماتور ها هم متوجه بشیم

Exclamation
۰۳-بهمن-۱۳۸۶, ۱۲:۱۸:۱۸
ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #3
RE: ایجاد یک قفل نرم افزاری ( تولید کد با XOR )
چیز خاصی نیست. اینها دوتا تابع برای کد کردن یک جمله هستن.

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


.zip   Project2.zip (اندازه: 1.7 KB / تعداد دفعات دریافت: 123)

۰۳-بهمن-۱۳۸۶, ۱۵:۰۲:۱۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : web30t
ΛΛ Θ l-l $ Σ Ω آفلاین
کاربر با تجربه
****

ارسال‌ها: 739
موضوع‌ها: 147
تاریخ عضویت: مهر ۱۳۸۶

تشکرها : 219
( 187 تشکر در 98 ارسال )
ارسال: #4
RE: ایجاد یک قفل نرم افزاری ( تولید کد با XOR )
جالب بود دستت درد نکنه

Exclamation
۰۳-بهمن-۱۳۸۶, ۱۷:۰۵:۱۶
ارسال‌ها
پاسخ
dreamvbfox آفلاین
در حال پیشرفت
***

ارسال‌ها: 426
موضوع‌ها: 44
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 236
( 1251 تشکر در 361 ارسال )
ارسال: #5
RE: ایجاد یک قفل نرم افزاری ( تولید کد با XOR )
سلام didi جان.

کد:
If EntryCode = TrueActCode Then
MsgBox "ÈÇ ÊÔ˜Ñ ÈÑäÇãå ÔãÇ ÈÇ ãæÝÞíÊ ËÈÊ ÔÏ", vbInformation, "ÈÑäÇãå ÑÌíÓÊÑ ÔÏ"
Else
MsgBox "˜Ï æÇÑÏ ÔÏå ãÚÊÈÑ äãí ÈÇÔÏ. áØÝÇ ˜Ï ÕÍíÍ ÑÇ æÇÑÏ äãÇÆíÏ", vbCritical, "ÎØÇ"
End If
[/php]
آیا تو دیباگر ها و اسمبلر ها نمیشه این دستور شرطی رو تغییر داد؟!؟!؟ اگر بشه چه نیازی به این همه کدینگ هست.؟
لطفا جوابمو بدید تو فکرم BiggrinBiggrin
ممنون

Biggrin Use Google instead of asking stupid questions Biggrin

[/url]
CMC Automation System


آموزش زبان c++
[url=http://www.iranled.com/forum/thread-13923.html]

(آخرین ویرایش در این ارسال: ۱۰-اسفند-۱۳۸۷, ۲۲:۱۸:۳۶، توسط dreamvbfox.)
۱۰-اسفند-۱۳۸۷, ۲۲:۱۳:۲۷
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #6
RE: ایجاد یک قفل نرم افزاری ( تولید کد با XOR )
ممکنه طرف 100 تا msgbox تو برنامش داشته باشه یا برای نشان دادن پیغام خطا از msgbox که خودش با فورم ساخته استفاده کرده باشه میشه if رو تغییر داد ولی مهم خسته کردن کرکر هست تا برنامه به این راحتی ها کرک نشه
۱۰-اسفند-۱۳۸۷, ۲۳:۲۶:۵۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : dreamvbfox
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #7
RE: ایجاد یک قفل نرم افزاری ( تولید کد با XOR )
دوست عزیز

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

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

که امنیت برنامه تون به صفر هم نمی رسه.

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

آنتی دامپ و آنتی دیباگر و .... استفاده کنید ، سعی کنید از کنترل های CRC چک و یا چک کردن کد وارده شده در اینترنت

و ..... همه و همه رو با هم استفاده کنید تا برنامه تون به یه امنیت نسبی برسه . مطمئن باشید صرف تکیه به

یک روش یا یک کد هرچند پیچیده نمی تونه به برنامه شما امنیت بده دوست خوبم.

(آخرین ویرایش در این ارسال: ۱۱-اسفند-۱۳۸۷, ۱۳:۲۷:۲۰، توسط Di Di.)
۱۱-اسفند-۱۳۸۷, ۱۳:۲۳:۳۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : lord_viper, web30t, dreamvbfox
dreamvbfox آفلاین
در حال پیشرفت
***

ارسال‌ها: 426
موضوع‌ها: 44
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 236
( 1251 تشکر در 361 ارسال )
ارسال: #8
RE: ایجاد یک قفل نرم افزاری ( تولید کد با XOR )
مرسی.
"کنترل های CRC چک و یا چک کردن کد وارده شده در اینترنت" میشه یکم توضیح بدید ؟!؟
و به نظر شما بهترین آنتی دامپ و آنتی دیباگر چیه !؟!؟ از کدوم استفاده کنم آخه من بیام فایل exe برنامه رو Pack کنم بازم Anti Packer داریم که ؟!؟! من باید امیدم چی باشه ؟!! از وقتی که اومدم تو دنیای کرک دیگه حالم از برنامه نویسی بهم خوردSad
اگر میشه منو یکم توجیه کنید. ممنون

Biggrin Use Google instead of asking stupid questions Biggrin

[/url]
CMC Automation System


آموزش زبان c++
[url=http://www.iranled.com/forum/thread-13923.html]

(آخرین ویرایش در این ارسال: ۱۱-اسفند-۱۳۸۷, ۱۶:۲۶:۱۷، توسط dreamvbfox.)
۱۱-اسفند-۱۳۸۷, ۱۶:۲۵:۱۹
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #9
RE: ایجاد یک قفل نرم افزاری ( تولید کد با XOR )
(۱۱-اسفند-۱۳۸۷, ۱۶:۲۵:۱۹)dreamvbfox نوشته است: مرسی.
"کنترل های CRC چک و یا چک کردن کد وارده شده در اینترنت" میشه یکم توضیح بدید ؟!؟
چک crc مثل امضای دیجیتال هست شما میتونین روی توابع مهمتون یا code section خودتون یه crc چک بزارین در این حالت اگه در محدوده این crc حتی اگه 1 بیت هم تغییر پیدا بکنه برنامه متوجه میشه و در این حالت شما یا مجبورین این CRCچک رو دور بزنین یا از روشهای inline patching استفاده کنین
چک کردن اینترنت هم معلومه شما به هر برنامتون یک id یکتا اختصاص میدین و طرف رو مجبور میکنین برای استفاده به اینترنت کانکت بشه و شما اون کد و شناسه طرف رو با بانکتون چک میکنین که اگه یه کد خاص زیاد یا هر روز واسه رجیستر کانکت میشه یعنی از اون نسخه تکثیر شده و....
نقل قول: و به نظر شما بهترین آنتی دامپ و آنتی دیباگر چیه !؟!؟
همشون خوبن ولی باید در جاهی حساس ازشون استفاده کنین
نقل قول: از کدوم استفاده کنم آخه من بیام فایل exe برنامه رو Pack کنم بازم Anti Packer داریم که ؟!؟! من باید امیدم چی باشه ؟
اشتباه شما اینه که میخواهین کل محافظت از برنامه میخواهین به یک پکر بسپارین شما بهتره اول یه سری روتین محافظ در قسمتهای حساس و روالهای اصلی برنامتون کار بزارین بعد از یخ پکر مطمئن که نه چندان معروف باشه استفاده کنین البته در کنار استفاده از پکر استفاده از protector به شدت توصیه میشه
۱۱-اسفند-۱۳۸۷, ۱۸:۲۳:۳۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : dreamvbfox, Di Di
dreamvbfox آفلاین
در حال پیشرفت
***

ارسال‌ها: 426
موضوع‌ها: 44
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 236
( 1251 تشکر در 361 ارسال )
ارسال: #10
RE: ایجاد یک قفل نرم افزاری ( تولید کد با XOR )
سلام.
میشه یکم بیشتر درباره آنتی دامپ و آنتی دیباگر و پکر و پروتکتور صحبت کنید؟
و crc چک رو باید چه جوری ازش استفاده کنم باید داخل خود برنامه بنویسم !؟!؟
تو اون روشی که گفتید از طریق اینترنت چک بکنم بانک باید روی هاست باشه درسته؟ اونوقت چه جوری داخل بانک write کنم ?:-
ببخشید که اینقدر سوالات مبتدی می پرسم ... اما بزودی همشو با لطف شما دوستان یاد میگیرم X:X:

تشکر

Biggrin Use Google instead of asking stupid questions Biggrin

[/url]
CMC Automation System


آموزش زبان c++
[url=http://www.iranled.com/forum/thread-13923.html]

(آخرین ویرایش در این ارسال: ۱۱-اسفند-۱۳۸۷, ۲۰:۰۴:۱۹، توسط dreamvbfox.)
۱۱-اسفند-۱۳۸۷, ۱۹:۵۴:۲۲
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #11
RE: ایجاد یک قفل نرم افزاری ( تولید کد با XOR )
(۱۱-اسفند-۱۳۸۷, ۱۹:۵۴:۲۲)dreamvbfox نوشته است: سلام.
میشه یکم بیشتر درباره آنتی دامپ و آنتی دیباگر و پکر و پروتکتور صحبت کنید؟
برای کرک کردن نرم افزار باید اونو انالیز کرد که این کار با استفاده از دیباگر صورت میگیره کدهایی که برای شناسایی این نرم افزارها به کار میرن anti debuger گفته میشه

وقتی طرف میخواهد یه فایل رو unpack کنه وقتی عملیات مزبور تمام شد و برنامه بطور کامل در حافظه قرار گرفت باید اونو dump کنه یعنی از حافظه بدزده به کدهایی که از این کار جلوگیری میکنن anti dump گفته میشه
پکر ها تغییراتی روی فایل خروجی برنامه انجام میدن تا غیر قابل خواندن بشن مثلا کد برنامه ای که پک شده رو با کد پک نشده مقایسه کنین متوجه میشین
protector ها مجموعه روتینهای antidump, anti trace, anti debuger , anti decompile و غیره هستن که به برنامه اضافه می شن و جلوی روند کرک شدن رو میگیرن
نقل قول: و crc چک رو باید چه جوری ازش استفاده کنم باید داخل خود برنامه بنویسم !؟!؟
بله
نقل قول: تو اون روشی که گفتید از طریق اینترنت چک بکنم بانک باید روی هاست باشه درسته؟ اونوقت چه جوری داخل بانک write کنم ?:-
با استفاده از دستور insert و update میتونین اطلاعات تو بانک بریزین و یا اون اطلاعات رو تغییر بدین با یه query همه چی حله
نقل قول: ببخشید که اینقدر سوالات مبتدی می پرسم ... اما بزودی همشو با لطف شما دوستان یاد میگیرم X:X:

تشکر
نپرسیدن عیب نیست ندانستن عیبه
۱۲-اسفند-۱۳۸۷, ۰۰:۳۳:۰۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : dreamvbfox, Di Di


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش شبیه سازی قفل های سخت افزاری -برای اولین بار توسط تیم قدرتمند ایرانی NO DONGLE 9 22,721 ۰۶-دى-۱۴۰۲, ۰۲:۰۹:۰۹
آخرین ارسال: rpm2000hot
  مشکل در کرک نرم افزاری یک برنامه al2008 7 1,540 ۲۰-مهر-۱۳۹۹, ۰۲:۲۱:۰۹
آخرین ارسال: al2008
  راهنمای پشتیبان از قفل سخت افزاری ahmadjanam98 6 3,182 ۱۲-تير-۱۳۹۹, ۱۹:۳۹:۳۴
آخرین ارسال: Mt~BaRaKa
  راهنمایی برای شبکه قفل سخت افزاری ahmadjanam98 4 2,415 ۱۴-آذر-۱۳۹۷, ۱۷:۵۰:۴۹
آخرین ارسال: Hasp SRM
  کمک در باره شکستن قفل سخت افزاری و محدودیت dicomjet5.1 arash.hadavand 8 6,328 ۲۸-آذر-۱۳۹۶, ۱۳:۱۲:۳۵
آخرین ارسال: babyy
  [آموزشی] برنامه تولید کننده امضا برای کامپایلرها و پکرها (استفاده در PEiD ) بهروز عباسی 4 3,527 ۲۵-مهر-۱۳۹۵, ۱۶:۱۸:۵۳
آخرین ارسال: babyy
  مقاله:اشنایی با قفلهای سخت افزاری و نرم افزاری lord_viper 3 8,079 ۱۳-شهریور-۱۳۹۲, ۰۱:۳۷:۴۹
آخرین ارسال: NO DONGLE
  کرک قفل سخت افزاری IISecurity.C 47 72,072 ۲۷-تير-۱۳۹۲, ۰۵:۰۱:۲۳
آخرین ارسال: sezar21m
  نحوه کرک کردن قفل نرم افزاری HDCS mansour92 3 6,279 ۲۶-فروردین-۱۳۹۲, ۲۳:۵۵:۰۹
آخرین ارسال: babyy
  درخواست کرک قفل نرم افزاری الخشعین vixen357ka 1 2,712 ۱۶-بهمن-۱۳۹۱, ۰۰:۰۹:۳۰
آخرین ارسال: sezar21m

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS