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

حماية أكواد المشروع

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

بسم الله الرحمن الرحيم

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

تحية للمشرفين الأفاضل و الأعضاء الكرام في منتدانا الغالي والجميل

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

وأريد تشفير بعض الأكواد فما الحل.. :blink: :blink:

ومن ناحية ثانية البرامج ذات الإمتداد EXE يمكن فكها فأريد برنامج يشفر البرنامج..

وهل عملية التشفير تبطئ عمل البرنامج :unsure:

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

تم تعديل هذه المشاركة بواسطة محمد سامر أبو سلو في 4 أبريل 2007 في 22:27 — السبب: وضع سؤال لاعلاقة له بالموضوع

#3

نعم هناك برامج تعيد الكود الاصلي لبرامج الدوت نت و منها Reflector على ما اذكر و بالنبسة للتشفير فهناك برامج مثل Obfuscator

#4

حبيبي لا انصح بعمليات التشفير لانه تبطأ في عمل البرنامج لانها بذلك تضيف عملية اخري غير المتبع فيها لترجمة الكمبيلر للاكواد الي لغة الاله اما بالنسبة للحماية فا اعتقد ان انسب وسيلة هو عمل مكتبة لاكوادك وبذلك ما فيش حد هيقدر يعدل علي كودك ...... والله الموفق

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

عمل مكتبة (dll) لن يمنع من قراءة الكود يا أخي

#6
Ayoub JAMAL EL IDRISSI كتب:
نعم هناك برامج تعيد الكود الاصلي لبرامج الدوت نت و منها Reflector على ما اذكر و بالنبسة للتشفير فهناك برامج مثل Obfuscator

اخي: هل رجع الكود كما كتبته؟

ارجوا ان يكون سؤالي مفهوم؟

يعني انا كتب مثلا هكذا dim nyvar1 as int

هل البرنامج الرفلكتور يرجع لك myvar1? بالطبع لا؟ انما سوف يرجع لك v000001

اذاً

اذا انت كتبت برنامجك بطريقة معقدة فلن يفهم من الكود شىء؟

ملاحظة: قديماً : كان هناك برنامج يدعى سورسر sourcer واستخدمتة ؟ فقمت ببرمجة برنامج بسيط يعمل تحت الدوس بالغة C

اخذت البرنامج هذا (التنفيذي) وادخلتة على السورسر فاعطاني asm كود فقمت بادخال asm كود على masm لاعمل كومبايل وعمل كومبايل بدون اي خطاء . ولكن البرنامج لم يعمل؟؟؟؟

وشكرا.

#7
اقتباس
اخي: هل رجع الكود كما كتبته؟

ارجوا ان يكون سؤالي مفهوم؟

يعني انا كتب مثلا هكذا dim nyvar1 as int

هل البرنامج الرفلكتور يرجع لك myvar1? بالطبع لا؟ انما سوف يرجع لك v000001

نعم Reflector يعيد الكود كما كتبته و سيرجع لك myvar1 كما كتبته في برنامجك بل و يمكنك القيام بأكثر من ذلك

راجع الموضوع التالي :

كيف اكسر حماية برنامج مكتوب بالـ .NET

و برنامج Obfuscator الذي ذكره الأخ أيوب او اي برنامج يعمل نفس العمل يعتبر افضل حل

متواجد لحماية كودك (و ليس حماية برنامجك)

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

المكتبة كما ذكر أيوب لن تنفع

بالنسبة للتشفير عندي طريقة للحماية تعتمد على التشفير و مع ذلك اظن ان التشفير لم يبطأ

كثيرا من عمل البرنامج

اللهم صل و سلم على سيدنا محمد

كاف و نون خلقهم و فنائهم كاف و نون

عالمي شاشة و لغتي صفر و واحد

Just Smile ............You can do it

When you stop learning ... You stop leading

لساني بنطقي صامت عنه عادل............وقلبي بصمتي ضاحك منه هازل

وأتـعـب من نـاداك من لا تـجيبـه............وأغـيظ من عـاداك من لا تـشاكـل

مدونتي الشخصية : Tammam Koujan

آخر مواضيع المدونة :

#8
اقتباس
اخي: هل رجع الكود كما كتبته؟

ارجوا ان يكون سؤالي مفهوم؟

يعني انا كتب مثلا هكذا dim nyvar1 as int

هل البرنامج الرفلكتور يرجع لك myvar1? بالطبع لا؟ انما سوف يرجع لك v000001

اذاً

اذا انت كتبت برنامجك بطريقة معقدة فلن يفهم من الكود شىء؟

هل جربت البرنامج ؟؟؟؟ لا اظن ذلك...

المهم حاول ان تجرب البرنامج و حاول ان تقرأ قليلا حول ما يسمى بال MSIL لتعرف انه بالامكان اعادة الكود كيفما كان و سازيد لك مفاجئة اخرى فلو كتبت البرنامج بالفيجوال بيسك دوت نت فبرنامج ال Reflector سيعطيك الكود المصدري بثلاث لغات و هي السي شاري و الجي شارب و الديلفي دوت نت بالاضافة الى اللغة الاصلية و هي الفيجوال .

اقتباس
ملاحظة: قديماً : كان هناك برنامج يدعى سورسر sourcer واستخدمتة ؟ فقمت ببرمجة برنامج بسيط يعمل تحت الدوس بالغة C

اخذت البرنامج هذا (التنفيذي) وادخلتة على السورسر فاعطاني asm كود فقمت بادخال asm كود على masm لاعمل كومبايل وعمل كومبايل بدون اي خطاء . ولكن البرنامج لم يعمل؟؟؟؟

وشكرا.

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

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

شكرا لك... على فكرة اخي انا مصمم RealTime OS على Z80 (اكيد بالاسمبلي)

اولا انت لم تفهم ماذا قصدت بمثالي؟ ولو انت تعرف ماهو السورسر لما رديت بالاساس.

السورسر برنامج يعيد لك السورس (asm) كود. من البرنامج التنفيذى . اذا هو سوف ياتيك بكود المفروض انه في حالة الكومبايل يتحول الى تنفيذي مره ثانية؟

كتبت برنامج بالسي --->كومبايل--->ملف تنفيذي----->سورسر-----> asm -----> كومبايل عن طريق masm ---> المفروض برنامج يشتغل نفس السي.

الان هل فهمت من تجربتي شىء؟ .

ثانيا: شكرا تمام على ردك: ولكن ايضا انت لم تفهم المقصود؟ انا قصدت اذا انت سميت myvar1 وهو اسم متغير وليس ديتا (data)

فهل احصل على اسم المتغير نفسه؟؟ (اسم وليس ديتا) . انتبه بالله عليك لكلامي؟ اسم المتغير.

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

واذا تريد اعطيك اسم برنامج يغيرلك التكست ويغيرلك الفونت ويجيبلك ايضا الدوال المستعمل. ويرجعلك DFM لاني جربت على delphi exe

فقط واكيد يجيبلك ايضا للغات الاخرى. فهل هذا معنها جاب لي الكود؟ بالطبع لاء.

وشكرااا

تم تعديل هذه المشاركة بواسطة pc.2058 في 7 أبريل 2007 في 17:41

#11

يا جماعة لا يكون انا قاعد اكتب بالهندي؟

اخي بارك الله فيك :

انا اقول هل stringvar هى بالبرنامج الاصلي؟ ??? فان كانت موجودة بالبرنامج الاصلي فانا غلطان وممكن ترجع كودك كما تكتبه!

المشكلة الجماعة مش فاهمين شنو انا قاعد اقول؟ انا اقول اسم المتغير يتغير من الانتقال الى الكومبايل ويحذف؟ ويعوض عنة باسم متغير اخر. لان غير معقول ان ينتقل الاسم الى الكومبايلر. الديتا نعم فهي ثابت ولا تتغير.

إن شاء الله تكون وصلت الفكرة؟

#13

تسلم اخي هازوم

انا غلطان بمفهوم ان لا تستطيع الحصول على الكود كما كتبته. والصحيح انه تستطيع .

وشكراً على التوضيح.

#14
اقتباس
ثانيا: شكرا تمام على ردك: ولكن ايضا انت لم تفهم المقصود؟ انا قصدت اذا انت سميت myvar1 وهو اسم متغير وليس ديتا (data)

فهل احصل على اسم المتغير نفسه؟؟ (اسم وليس ديتا) . انتبه بالله عليك لكلامي؟ اسم المتغير.

في العجلة الندامة يا pc.2058

انا فهمت ما تقصد و اعلم ما اقول

و شكرا لك حزوم لتوضيح الامر للأخ pc.2058

الطريقة التي يتبعها برنامج Obfuscator لحماية كودك هي تغيير اسماء المتحولات و الدوال في برنامجك

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

اللهم صل و سلم على سيدنا محمد

كاف و نون خلقهم و فنائهم كاف و نون

عالمي شاشة و لغتي صفر و واحد

Just Smile ............You can do it

When you stop learning ... You stop leading

لساني بنطقي صامت عنه عادل............وقلبي بصمتي ضاحك منه هازل

وأتـعـب من نـاداك من لا تـجيبـه............وأغـيظ من عـاداك من لا تـشاكـل

مدونتي الشخصية : Tammam Koujan

آخر مواضيع المدونة :

#15

شكراً اخي تمام على الرد ....

هل تعتقد انى نادم على النقاش! بالعكس اخي....لقد تصححت لدي مفاهيم كثيرة....لقد كنت اشكوا من "التلوث المعلوماتي"- Information Contaminated

لقد اتضحت لدي مفاهيم جديدة: حيث ان اللغة الوسيطة هي نفسها اللتى يكتب بها المبرمج. وهذه معلومة جداَ قيمة . اكتسبتها بعد المناقش المثمرة.

وشكرا للجميع لتصحيح مفاهيمي الخاطئة (الملوثة).

#17
اقتباس
شكرا لك... على فكرة اخي انا مصمم RealTime OS على Z80 (اكيد بالاسمبلي)

اولا انت لم تفهم ماذا قصدت بمثالي؟ ولو انت تعرف ماهو السورسر لما رديت بالاساس.

نعم يبدو اني غبي فانا لا اعرف ما هو السورسر و لا ما هو الأسمبلي أساسا و هل توجد لغة اصلا اسمها الأسمبلي !!! لا أدري !!

افهم ما قلت في ردي

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

قصدت هنا انه بتحليلك لكود الأسمبلي يمكنك معرفة كيفية كتابته بالسي او باي لغة يعني ان كل الأوامر تكون أمامك اما بالنسبة لتنفيذ كود الأسمبلي فهذا أمر آخر ذلك اننا هنا بصدد الحديث عن امكانية حل كود البرنامج و معرفة كيف تمت برمجته

المهم اتمنى ان يكون مثال الاخ حزوم وضح لك الأمر و ذلك الكود كما سبق و ذكرت يمكنك الحصول عليه بجميع لغات الدوت نت

#18
اقتباس
نعم يبدو اني غبي فانا لا اعرف ما هو السورسر و لا ما هو الأسمبلي أساسا و هل توجد لغة اصلا اسمها الأسمبلي !!! لا أدري !!

افهم ما قلت في ردي

انا لم اقل انك غبي ! فلا تقولني ماقلته.

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

ثانيا: ايضا لم تفهم من تجربتي وما قصدتة من المثال؟??????

اخي الحبيب: التجربة لاثبات ان الديكومبايلرز كما يقولون انه يرجعلك السورس كود بالاسمبلي 100% مطابق لبرنامج الاصلي.

اي انه يرجعلك machine code--->Assembly language

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

على ما اتذكر في اواخرالثمانينيات (80s) ليس بالضبط ولكنه عند صدور السورسر والكلام علية بكثره في تلك الفترة. لذالك ابحاثي قديمة بقدم عصر الكومبيوتر. فلا تعتقد اني نيو كومر new commer بالمجال هذا.

وشكرا ....

#20

اللهم صلي على سيدنا محمد

على فكرة Obfuscator و ما شابهه ليس الحل الوحيد لحماية البرنامج هناك حلول اخرى

اللهم صل و سلم على سيدنا محمد

كاف و نون خلقهم و فنائهم كاف و نون

عالمي شاشة و لغتي صفر و واحد

Just Smile ............You can do it

When you stop learning ... You stop leading

لساني بنطقي صامت عنه عادل............وقلبي بصمتي ضاحك منه هازل

وأتـعـب من نـاداك من لا تـجيبـه............وأغـيظ من عـاداك من لا تـشاكـل

مدونتي الشخصية : Tammam Koujan

آخر مواضيع المدونة :

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

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