PDA

View Full Version : اختصاصی کردن استفاده از dll برای برنامه



Navid Asadi
دوشنبه 15 شهریور 1389, 00:01 صبح
سلام

dll هایی رو که ما تو برنامه استفاده میکنیم همراه برنامه باید به کامپیوتر کاربر منتقل کنیم!
خوب چطور میتونیم dllی رو محدود کنیم که فقط رو برنامه ی ما کار کنه؟
البته میشه رو dll ها پسورد گذاشت که من بلد نیستم! پسورد گذاری روی اون ها چطوری؟

Saman_12
دوشنبه 15 شهریور 1389, 09:46 صبح
سلام.
شما Dll رو به صورت Binary باز کن بعد همبه هرکدوم از بیت هاش یک مقدار بیت اظافه کن یا با اون بیت Xor کن بعد هم فایل رو ذخیره حالا فایل خراب شده و تا کم کردن یا Xor مجدد باز نمیشه.

Saman_12
دوشنبه 15 شهریور 1389, 10:12 صبح
این فانکشن رو چند دقیقه پیش برای کد کردن فایل ها نوشتم میتونی با هاش همه نوع فایل رو کد کنی :


Private Function FileCoding(ByVal Address As String, ByVal NewAddress As String, ByVal NewByteOrPass As Byte) As Boolean

If Address = "" Or FileIO.FileSystem.FileExists(Address) = False Or NewAddress = "" Or NewByteOrPass = 0 Or NewByteOrPass >= 255 Then _
FileCoding = False : Exit Function

Dim FileByte() As Byte = FileIO.FileSystem.ReadAllBytes(Address)

For i As Integer = 0 To FileByte.Length - 1

FileByte(i) = FileByte(i) Xor NewByteOrPass
Next

FileIO.FileSystem.WriteAllBytes(NewAddress, FileByte, False)

If FileIO.FileSystem.FileExists(NewAddress) = False Then FileCoding = False Else FileCoding = True

End Function

hero4000
دوشنبه 15 شهریور 1389, 10:18 صبح
دوست عزيز اگه استفاده سايرين از دي ال ال هات برات مهمه ميتوني اون رو به فايل اجرائي برنامت بچسبوني تا اصلا ديده هم نشن

Navid Asadi
دوشنبه 15 شهریور 1389, 17:47 عصر
دوست عزيز اگه استفاده سايرين از دي ال ال هات برات مهمه ميتوني اون رو به فايل اجرائي برنامت بچسبوني تا اصلا ديده هم نشن

این کار اصلا درست نیست انعطاف برنامه رو پایین میاره!

Navid Asadi
دوشنبه 15 شهریور 1389, 17:55 عصر
دستت درد نکنه عالی بود!
اما Xor چیکار میکه؟
عکس این عمل چیه که باهاش یک فایل رو از حالت قفل دربیارم؟

Saman_12
دوشنبه 15 شهریور 1389, 20:10 عصر
عکس این عمل خودش هست.(یعنی شما اگه یک فایل که با این روش کد شده رو به این فانکشن بدید + عددی که قبلا به عنوان پسورد به اون دادی , یک فایل توی آدرس جدید ایجاد میشه که همون فایل سالم یا اولیه هست.)

Xor کار خواصی انجام نمیده ولی عمل کرد جالبی داره.
این کد رو در نظر بگیر جواب هردو عدد 30 هست :


MsgBox(20 Xor 10)
MsgBox(10 Xor 20)

هر دوی کد های بالا خروجی شون عدد 30 هست حالا ما می خوایم عدد اول (همون عددی که قبل از کلمه Xor هست) رو باستفاده از عدد 30 که حاصل Xor دو عدد هست و عدد دوم (همون عددی که بعد از کلمه Xor هست) رو به دست بیاریم.
هر کدوم از کد های زیر به ترتیب اعداد 10 و 20 که همون اعداد اول (قبل از Xor)هستند رو تولید می کنن :


MsgBox(30 Xor 20)
MsgBox(30 Xor 10)

از این ساده تر نمی شد توضیح بدم.(امید وارم مفید واقع شده باشه.):لبخند:

Navid Asadi
دوشنبه 15 شهریور 1389, 23:19 عصر
فکر کنم یک چیز تو مایه های هشینگ باشه!