امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
معکوس الگوریتم این تابع چی میشه ؟
نویسنده پیام
ayat2006 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 54
موضوع‌ها: 5
تاریخ عضویت: فروردین ۱۳۸۹

تشکرها : 86
( 20 تشکر در 15 ارسال )
ارسال: #1
معکوس الگوریتم این تابع چی میشه ؟
سلام ما یک تابع داریم به اسم تابع ساخت یوزرنیم.CUN
نقل قول: Private Function CreateProgramUserName() As String
VBMath.Randomize
Dim expression As String = ""
Dim num As Byte = 1
Do
expression = (expression & Strings.Mid(Support.Format(VBMath.Rnd, "0.0000", FirstDayOfWeek.Sunday, FirstWeekOfYear.Jan1), 3))
num = CByte((num + 1))
Loop While (num <= 3)
Return Support.Format(expression, "000000000000", FirstDayOfWeek.Sunday, FirstWeekOfYear.Jan1).Replace("0"c, "5"c)
End Function

یک تابع دیگه به نام ساخت پسوردCPW
نقل قول: Private Function CreateProgramPassword(ByVal UserName As String) As String
Dim num2 As Byte = 0
Dim str3 As String = ""
Dim start As Byte = 0
UserName = UserName.Replace(" ", "")
UserName = Strings.StrReverse(UserName)
UserName = UserName.TrimStart(New Char() { "0"c })
start = Conversions.ToByte(Strings.Mid(UserName, 1, 1))
str3 = Strings.Mid(UserName, 2, 1)
UserName = Strings.Mid(UserName, start)
num2 = CByte(Strings.Len(UserName))
Dim list As New List(Of String)
Dim num4 As Byte = num2
Dim i As Byte = 1
Do While (i <= num4)
start = CByte((start + 1))
Dim item As String = Strings.Right(Conversions.ToString(CLng((start Xor Conversions.ToLong(Strings.Mid(UserName, i, 1))))), 1)
If (item = "0") Then
item = str3
End If
list.Add(item)
i = CByte((i + 1))
Loop
Return Strings.StrReverse(Strings.Join(list.ToArray, "").Replace(" ", ""))
End Function

و در نهایت تابعی به اسم ExtractPsswordCountor که در اینجا بهش می گیم EPC
نقل قول: Private Function ExtractPsswordCountor(ByVal Password As String, ByRef Countor As Integer) As String
Dim str2 As String = ""
Try
Dim str3 As String = Strings.Mid(Password, 2, 2)
Password = (Strings.Mid(Password, 1, 1) & Strings.Mid(Password, 4))
Dim str4 As String = Strings.Mid(Password, 1, CInt(Math.Round(CDbl((Conversion.Int(CDbl((CDbl(Strings.Len(Password)) / 2))) - 1)))))
Countor = Conversions.ToInteger(Strings.Mid(Password, CInt(Math.Round(Conversion.Int(CDbl((CDbl(Strings.Len(Password)) / 2))))), 2))
Countor = CInt(Math.Round(CDbl((CDbl(Countor) * Conversions.ToDouble(str3)))))
Dim str5 As String = Strings.Mid(Password, CInt(Math.Round(CDbl((Conversion.Int(CDbl((CDbl(Strings.Len(Password)) / 2))) + 2)))))
str2 = (str4 & str5)
Catch exception1 As Exception
ProjectData.SetProjectError(exception1)
Dim exception As Exception = exception1
Information.Err.Clear
ProjectData.ClearProjectError
End Try
Return str2
End Function
خوب اول برنامه با استفاده از CNU یک کد تولید می کنه Code1

بعد کد تولید شده رو داخل EPC می زاره و کد جدیدی به دست میاد Code2

در نهایت با استفاده از Code1 در تابع CPW کد نهایی آماده می شه Code3

حالا اگر Code3 با Code2 برابر بود برنامه اجرا خواهد شد.
نقل قول: Public Function CheckProgramUserNamePassword(ByVal UserName As String, ByVal Password As String) As Integer
Dim countor As Integer = 0
Password = Me.ExtractPsswordCountor(Password, countor)
If (Me.CreateProgramPassword(UserName) = Password) Then
Return countor
End If
Return 0
End Function
حالا ما برای تولید کد باید این روند رو برعکس طی کنیم

یعنی اول با استفاده از یوزرنیمی که برنامه بهمون داده Code1 و قراردادن اون داخل CPW یک کد بدست بیاریمCode3
بعد با معکوس کردن الگوریتم تابع EPC کاری کنید که با دادن Code3 به ما کد Code2 رو بده.

این Code2 در واقع همون کدی هست که باید در برنامه به جای سریال وارد کنیم.

حالا سوال اینه معکوس الگوریتم تابع EPC چی میشه؟

در دیاری که در آن نیست کسی یار کسی ******* کاش یارب که نیافتد به کسی کار کسی
۰۷-اسفند-۱۳۹۰, ۰۹:۲۶:۵۹
ارسال‌ها
پاسخ
ayat2006 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 54
موضوع‌ها: 5
تاریخ عضویت: فروردین ۱۳۸۹

تشکرها : 86
( 20 تشکر در 15 ارسال )
ارسال: #2
RE: معکوس الگوریتم این تابع چی میشه ؟
کسی نبود کمک کنه ؟

در دیاری که در آن نیست کسی یار کسی ******* کاش یارب که نیافتد به کسی کار کسی
۰۸-اسفند-۱۳۹۰, ۰۹:۰۵:۰۵
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Wink [آموزشی] مهندسی معکوس یه کرکمی ساده در لینوکس با GDB nImaarek 1 1,315 ۰۸-خرداد-۱۳۹۷, ۱۸:۰۹:۵۰
آخرین ارسال: babyy
  [سوال] میشه تو کرک این برنامه کمکم کنید؟؟؟ s2m72 8 4,173 ۲۰-مهر-۱۳۹۳, ۱۶:۲۴:۴۳
آخرین ارسال: Di Di
  چطور میشه پیغامهایی مثل Upgrade را در یک نرم افزار حذف یا غیرفعال کرد ؟ Cyberlife 1 1,922 ۲۳-تير-۱۳۹۳, ۱۸:۲۷:۲۶
آخرین ارسال: NO DONGLE
  [سوال] پیدا کردن تابع event کلیک (؟) salehjg 5 3,914 ۱۶-بهمن-۱۳۹۱, ۰۱:۰۷:۵۴
آخرین ارسال: salehjg
  آیا میشه کدنویسی برنامه های exe را استخراج کرد؟ Rain_Saeid 6 5,348 ۲۵-آبان-۱۳۹۱, ۱۱:۰۰:۵۵
آخرین ارسال: lord_viper
  [سوال] نحوه فهمیدن الگوریتم تولید کد و ساختن کیجن فعال سازی esafb52 7 7,779 ۲۵-مهر-۱۳۹۰, ۱۴:۵۴:۲۱
آخرین ارسال: esafb52
Exclamation کمک برای مهندسی معکوس saeedsmk 7 4,508 ۲۵-مرداد-۱۳۹۰, ۰۳:۳۵:۳۷
آخرین ارسال: saeedsmk
  مهندسی معکوس کرک TORIST 9 7,814 ۲۹-بهمن-۱۳۸۹, ۲۱:۴۱:۳۱
آخرین ارسال: civilmans
  ببینید میشه کرکش کرد! IISecurity.C 2 1,764 ۰۳-بهمن-۱۳۸۹, ۱۲:۲۸:۰۶
آخرین ارسال: IISecurity.C
  خروجي تابع saeedsmk 10 7,961 ۰۹-آذر-۱۳۸۸, ۰۱:۳۹:۰۹
آخرین ارسال: saeedsmk

پرش به انجمن:


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

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