الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية حماية البرنامج من برامج Decompiler؟

مغلق
بدأه qadi_ahmad في 3 سبتمبر 2005 · 3 رد · 687 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

الرجاء افادتي بطريقة لحفظ برنامجي من Decompiler حيث يقوم هذا البرنامج بإعادة ملف EXE الى اللغة الاصلية الخاصة به

وبالتالي الامكان تعديل ال Source Code الخاص بال EXE وسرقة البرنامج.

ارجوكم افيدوووووووووووووووني

و لكم جزيل الشكر

أحمد القاضي

#2

يمكنك إستعمال أحد برامج الحماية الكثيره...

فقط لا تختار عمرديللو :D

d4baa0.gif
#3

نقاط هامة:

1- برامج الـ decompile لا تعيد البرنامج الى الشفرة المصدرية الاصلية بل تحصل على اشكال الازرار والقوائم والابعاد.. الخ الخ يعني معلومات غير مفيدة ابدا ولا تستطيع الحصول على سطر واحد من شفرتك المصدرية لذا لا تقلق.

2- ان نت تريد زيادة حماية برنامجك قم بتحويله الى pcode .. سيصبح ابطا قليلا في الاقلاع لكنه سيعقد المسالة امام القرصان.

اما بالنسبة لعمرديللو :D فبرامج الحماية كلها ما بحطها بذمتي :lol:

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

السلام عليكم

اخى الكريم

بالنسبة لحماية برنامج من عملية الdecompile توجد عدة طرق :

1- توجد برامج تسمى packers مثل ال ASProtect وهى تقوم بتشفير كود البرنامج بحيث لا يمكن عمل Decompile لها

ولكن للا سف توجد برامج اخرى تسمى Unpackers وهى تقوم بكسر حماية هذه البرامج

2- برمجيا توجد فى الفيجوال بيسيك دالة تسمى IsDebuggerPresent تحدد ما إذا كان البرنامج يعمل بواسطة إحدى برامج التنقيح ( debugger ) .

وبواسطة هذه الدالة يمكننا معرفة هل كود برنامجنا يتم تنقيحه ( debugging ) الآن .

وتعيد هذه الدالة القيمة صفر إذا لم تكن تعمل تحت سيطرة إحدى برامج التي تقوم بعملية التنقيح للبرنامج .

أما في حالة عمل البرنامج بواسطة برامج التنقيح فإنه يعيد قيمة غير صفرية

وطريقة استخدامها كالتالى

الدالة هي عبارة عن كود API وهو :

Declare Function IsDebuggerPresent Lib "kernel32" () As Long

ضعه في موديل

هذا الكود يرجع قيميتين :

1. 0 اذا كان البرنامج يشتغل بدون ان يكون تحت تاثير برامج ال Debugging .

2. 1 اذا كان البرنامج يشتغل تحت تاثير برامج الDebugging .

ضع الكود التالي في حدث الفورم :

MsgBox IsDebuggerPresent

وسوف يرجع لك القيمة .

3- هناك دالة التحقق من تشغيل برنامج Softice من عدمه

Public Declare Function CreateFileNS Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Declare Function WriteFileNO Lib "kernel32" Alias "WriteFile" (ByVal hfile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Long) As Long

Public Const GENERIC_READ = &H80000000
Public Const GENERIC_WRITE = &H40000000
Public Const FILE_SHARE_READ = &H1
Public Const FILE_SHARE_WRITE = &H2
Public Const OPEN_EXISTING = 3
Public Const FILE_ATTRIBUTE_NORMAL = &H80

Public Function SoftICELoaded() As Boolean
Dim hfile As Long, retval As Long
    hfile = CreateFileNS("\\.\SICE", GENERIC_WRITE Or GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
    If hfile <> -1 Then
        ' SoftICE is detected.
        retval = CloseHandle(hfile) ' Close the file handle
        SoftICELoaded = True
    Else
    ' SoftICE is not found.
    SoftICELoaded = False
    End If
End Function

Sub Main()
    If SoftICELoaded Then ' check if softice is loaded
        MsgBox "SoftICE is detected! Closing now!", vbMsgBoxSetForeground + vbInformation, "SoftICE-"
        End ' if true finish the app
    End If
    MsgBox "SoftICE was not found in memory!", vbMsgBoxSetForeground + vbInformation, "SoftICE"
End Sub

وعلى فكرة هذه الاكواد يمكن تخطيها وكسرها , ولكنها تصعب مهمة الكراكر الى حد ما :rolleyes:

وارجو ان اكون قد افدتك,

تم تعديل هذه المشاركة بواسطة hanysaad في 3 سبتمبر 2005 في 23:47

Hany Saad Mostafa

ITI (Information Technology Institute) l

SD Dept.-Teaching Assistant

---

اسألكم الدعاء بظهر الغيب

هذا الموضوع مغلق.

مواضيع مشابهة