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

كيف نتمكن من حماية السورس كود للدت نت؟

مغلق
بدأه blackeyes في 6 أكتوبر 2007 · 12 رد · 2,584 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
اقتباس
تحدي لهواة كسر وفك تشفير البرامج

هل تستطيع فك كود برنامج الدت نت هذا !!!

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

كان الاقتباس نص الموضوع الاصلي

اما وبعد ان قام الاخ Junkie بفك الكود

نتمنى ممن لديه طريقة لحماية السورس كود من الكسر ان يدلي بها

وشكرا

تم تعديل هذه المشاركة بواسطة blackeyes في 6 أكتوبر 2007 في 18:43

#2

لم أفهم من الكود أي شيء!!!

يبدو أن البرنامج الذي إستخدمته قوي جدا

هل تشرح لنا كيفية إستخدامه إذا سمحت

تم تعديل هذه المشاركة بواسطة crazy Programm2007er في 6 أكتوبر 2007 في 12:58

#3

الاخ العزيز crazy programm

سأقوم بنشر وشرح كل مايتعلق ببرنامج التشفير هذا لاحقا .... اعدك بذلك

تم تعديل هذه المشاركة بواسطة blackeyes في 6 أكتوبر 2007 في 16:21

#8

سؤال: ماذا تقصد بفك الكود - تقصد الحصول على الشفرة المصدرية له؟ ام تقصد التعديل عليه.

اتوقع الأول.

Do as I say, not as I do

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

#9
<DebuggerStepThrough> _
Private Sub 3()
	Me.5(New Button)
	Me.7(New Label)
	Me.9(New TextBox)
	Me.A(New TextBox)
	Me.B(New Label)
	Me.C(New Label)
	Me.SuspendLayout
	Me.4.Anchor = AnchorStyles.None
	Me.4.DialogResult = DialogResult.Cancel
	Dim point As New Point(&H1C1, &HFF)
	Me.4.Location = point
	Me.4.Name = "Cancel_Button"
	Dim size As New Size(&H43, &H17)
	Me.4.Size = size
	Me.4.TabIndex = 1
	Me.4.Text = ChrW(1575) & ChrW(1594) & ChrW(1604) & ChrW(1575) & ChrW(1602)
	Me.6.AutoSize = True
	point = New Point(&H1D0, &H9E)
	Me.6.Location = point
	Me.6.Name = "Label3"
	size = New Size(&H37, 13)
	Me.6.Size = size
	Me.6.TabIndex = 8
	Me.6.Text = ChrW(1575) & ChrW(1604) & ChrW(1585) & ChrW(1602) & ChrW(1605) & " " & ChrW(1603) & ChrW(1578) & ChrW(1575) & ChrW(1576) & ChrW(1577)
	point = New Point(&H54, &H97)
	Me.8.Location = point
	Me.8.Name = "TextBox2"
	size = New Size(&H15D, 20)
	Me.8.Size = size
	Me.8.TabIndex = 7
	point = New Point(&H152, &H7D)
	Me.a.Location = point
	Me.a.Name = "TextBox1"
	size = New Size(&H5F, 20)
	Me.a.Size = size
	Me.a.TabIndex = 6
	Me.a.Text = "0"
	Me.b.AutoSize = True
	Me.b.Font = New Font("Tahoma", 14.25!, FontStyle.Bold, GraphicsUnit.Point, 0)
	point = New Point(80, &H33)
	Me.b.Location = point
	Me.b.Name = "Label1"
	size = New Size(&H19F, &H17)
	Me.b.Size = size
	Me.b.TabIndex = 5
	Me.b.Text = ChrW(1588) & ChrW(1575) & ChrW(1591) & ChrW(1585) & " " & ChrW(1576) & ChrW(1601) & ChrW(1603) & " " & ChrW(1575) & ChrW(1604) & ChrW(1576) & ChrW(1585) & ChrW(1575) & ChrW(1605) & ChrW(1580) & " ........ " & ChrW(1582) & ChrW(1604) & ChrW(1610) & ChrW(1606) & ChrW(1575) & " " & ChrW(1606) & ChrW(1588) & ChrW(1608) & ChrW(1601) & " " & ChrW(1588) & ChrW(1591) & ChrW(1575) & ChrW(1585) & ChrW(1578) & ChrW(1603)
	Me.c.AutoSize = True
	point = New Point(&H1E8, &H80)
	Me.c.Location = point
	Me.c.Name = "Label2"
	size = New Size(&H1F, 13)
	Me.c.Size = size
	Me.c.TabIndex = 9
	Me.c.Text = ChrW(1575) & ChrW(1604) & ChrW(1585) & ChrW(1602) & ChrW(1605)
	Dim ef As New SizeF(6!, 13!)
	Me.AutoScaleDimensions = ef
	Me.AutoScaleMode = AutoScaleMode.Font
	size = New Size(&H21A, 290)
	Me.ClientSize = size
	Me.Controls.Add(Me.c)
	Me.Controls.Add(Me.6)
	Me.Controls.Add(Me.4)
	Me.Controls.Add(Me.8)
	Me.Controls.Add(Me.a)
	Me.Controls.Add(Me.b)
	Me.FormBorderStyle = FormBorderStyle.FixedDialog
	Me.MaximizeBox = False
	Me.MinimizeBox = False
	Me.Name = "Dialog1"
	Me.RightToLeft = RightToLeft.Yes
	Me.ShowInTaskbar = False
	Me.StartPosition = FormStartPosition.CenterParent
	Me.Text = ChrW(1578) & ChrW(1581) & ChrW(1608) & ChrW(1610) & ChrW(1604) & " " & ChrW(1575) & ChrW(1604) & ChrW(1585) & ChrW(1602) & ChrW(1605) & " " & ChrW(1575) & ChrW(1604) & ChrW(1609) & " " & ChrW(1606) & ChrW(1589)
	Me.ResumeLayout(False)
	Me.PerformLayout
End Sub

هنا كما ترى يتم تشكيل الـ Form

Private Sub e(ByVal Object, ByVal EventArgs)
	If (Me.a.Text = "") Then
		Me.a.Text = "0"
	End If
	If Versioned.IsNumeric(Me.a.Text) Then
		Me.8.Text = A.E(Conversions.ToDouble(Me.a.Text), "", "", "1025", "", "")
	Else
		Me.8.Text = ChrW(1604) & ChrW(1610) & ChrW(1587) & " " & ChrW(1576) & ChrW(1585) & ChrW(1602) & ChrW(1605) & "."
	End If
End Sub

وهذا الجزء الخاص بحدث الكتابة

Public Shared Function E(ByVal num1 As Double, ByVal text1 As String, ByVal text2 As String, ByVal Optional text3 As String = "1025", ByVal Optional text4 As String = "", ByVal Optional text5 As String = "") As String
	If (Conversion.Val(num1) > 999999999.99) Then
		num1 = 0
		Return ""
	End If
	Dim number As Double = Conversion.Val(num1)
	Dim num As Integer = CInt(Math.Round(Conversion.Fix(number)))
	Dim str2 As String = A.f((num))
	num = CInt(Math.Round(CDbl(((number - num) * 100))))
	Dim str As String = A.f((num))
	If (str2 <> "") Then
		str2 = (str2 & Strings.Space(1) & text1 & Strings.Space(1))
	End If
	If (str <> "") Then
		str = (str & Strings.Space(1) & text2 & Strings.Space(1))
	End If
	If ((str2 <> "") And (str <> "")) Then
		If (text3 = "1025") Then
			str2 = (str2 & ChrW(1608) & Strings.Space(1) & str)
		Else
			str2 = (str2 & "And" & Strings.Space(1) & str)
		End If
	End If
	Return String.Concat(New String() { text4, " ", str2, " ", text5 })
End Function

وبهذا اكتب نفس البرنامج الذي كتبته :)

استخدمت: Reflector

http://www.aisto.com/roeder/

تم تعديل هذه المشاركة بواسطة Junkie في 6 أكتوبر 2007 في 17:19

Do as I say, not as I do

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

#10

الاخ Junkie

شكرا لك ولمرورك في الحقيقية الكود مطابق لما كتبت تقريبا

ولكن !!!!!

بما أنك خبير ربما بهذا المجال

هل بإمكانك أن تنصحنا بالطريقة الأفضل لتشفير السورس كود؟

وهل هذا دليل ضعف في برنامج التشفير الذي لدي وهو

Spices

www.9rays.com

أم أنه لااااااااااااااااااااايوجد طريقة لتشفير الكود إلا بواسطة الكود نفسه

تم تعديل هذه المشاركة بواسطة blackeyes في 6 أكتوبر 2007 في 18:50

#11

هناك الكثير من التطبيقات لعمل obfuscation بعضها اعجبني لكن اغلب تطبيقات الـ .NET التي كانت تعتمد على الـ obfuscation فقط استطعت تجاوز الحماية فيها, طبعا اتكلم عن موضوع الـ Registration لكن طالما استطعت القيام بهذا والبعض بالمناسبة احتاج الى اضافة او تعديل في الشفرة الـ ILASM لتنفيذ هذا, فاستطيع الوصول الى الكود تقريبا الاصلي واعيد كتابته بالصيغة التي اتصور انه كتب فيها.

افضل ما رأيت هو التطبيقات التي تمنع الـ decompilers مثل reflector, لكن بعض افضلها تم صنع unpacker له واصبح بالامكان ازالة حمايته واعادة الشفرة الـ ILASM بدون حماية ليتسنى عرضها بـ reflector

انت استخدمت نسخة تجريبيه من البرنامج ولم تقم بتفعيل جميع الخيارات, صح؟ لان برنامج 9rays جيد ايضا لكن الامر يتبع الى ما تقوم بتحديده من بارامترات الحماية

افضل طريقة لحماية تطبيقات .NET؟ لا اعلم, هناك من هو اعلم مني وبالتالي سيتجاوز ما قد افكر به بصورة او بأخرى

اتصور ان منع reflector هو بداية, لكن هل تعتمد على طرقك الخاصة ام تعتمد على برمجيات قد يتم ايجاد حلول لها لاحقا بمرور الوقت, هذا هو السؤال..

السلام عليكم

Do as I say, not as I do

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

#12
اقتباس
والمــرء يذكـر بالجمائـل بعده ^^ فارفع لذكرك بالجميل بناء

واعلم بانك سـوف تذكـــر مــرة ^^ فيقال احسن او يقال اســاء

هذا توقيعك اخي الكريم وبناء عليه اطلب منك طلب ان عملته مشكورا

سأكون شاكرا لك ماحييت

ان تعرض لنا ماتعرفه عن طرق الحماية.

اقتباس
انت استخدمت نسخة تجريبيه من البرنامج ولم تقم بتفعيل جميع الخيارات, صح؟ لان برنامج 9rays جيد ايضا لكن الامر يتبع الى ما تقوم بتحديده من بارامترات الحماية

نعم انا استخدم النسخة التجريبية ولم افعل كافة الخيارات بسبب انه يعطيني اخطاء اذا فعلتها كلها

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

وشكرا

تم تعديل هذه المشاركة بواسطة blackeyes في 6 أكتوبر 2007 في 21:05

#13

بالبارامترات قصدت خيارات البرنامج لكن في العجلة تذكر ما تقصد فيه سواه :)

اما بخصوص طرق الحماية فهي كثيرة لكن المتعلقة بالـ .NET فكما يقال "من أتقن لغة قوم أمن شرهم" لذلك افضل طريقة هي بقراءة المقالات ومتابعة البرامج التي تطرح بخصوص قرصنة تطبيقات الـ .NET واتصور ان هناك مقالات مميزة طرحت بهذا الشأن عبر:

http://arteam.accessroot.com/

و

http://reteam.org/

وهناك طبعا الدراسات حول مثل هذه التقنيات ووسائل الحماية لها من خلال Google

http://msdn.microsoft.com/library/default....or/dotf3rax.asp

http://msdn.microsoft.com/msdnmag/issues/0...on/default.aspx

وتستطيع مناقشة المزيد عبر صفحات المنتدى او صفحات منتديات خاصة بالقرصنة مثل http://at4re.com

Do as I say, not as I do

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

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

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