۰۳-بهمن-۱۳۸۶, ۱۱:۲۰:۴۸
در اين مقاله مي خواهم در رابطه با روشهاي زيپ كردن و كد كردن و نحوه استفاده كردن از آن در برنامه ها صحبت كنم. ابتدا نمونه هائي از كدهاي استفاده شده در برنامه هاي رايج مانند Windows – Word – WinZip و...
براي نصب سيستم عامل Windows98 عربي كد PCGXQ-PK2XW-894C9-J3K6M-DPVXD و براي نصب Office 2000 كد GC6J3-GTQ62-FP876-93FBR-D3DX8 و ... ! اما اين كدها از كجا مي آيند؟ بايد بكويم كه در واقع اينها يك رمز براي اجراي برنامه هستند كه تبديل به كد شده اند. مانند: سريال CD با ديسك، سريال MOTHERBOARD و.....
حال يك روش ساده كد كردن اطلاعات
يكي از روشهاي كد كردن اطلاعات روش XOR مي باشد. در اين روش از عمليات با بيتها بر روي كد مورد نظر استفاده مي شود بدين صورت كه هر يك از كاراكترهاي كد مورد نظر را با يك عدد XOR نمائيم
حال نمونه يك برنامه كه از آن استفاده مي كند:
اين روتين يك متن را گرفته و آن را با عدد 128 XOR مي كند و يك مقدار كد شده را بر ميگرداند.
و يك نمونه برنامه ديگر كه يك متن را با توجه به يك كليد كد مي كند
در مقاله های بعدی سعی می کنیم یک قفل کامل طراحی کنیم و سپس به راه های نفوذ به قفل می پردازیم.
براي نصب سيستم عامل 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
در مقاله های بعدی سعی می کنیم یک قفل کامل طراحی کنیم و سپس به راه های نفوذ به قفل می پردازیم.