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

كيف أحمي برنامج من أن يفتح عبرResHacker

مغلق
بدأه Mahmoud Sh7 في 25 أكتوبر 2006 · 11 رد · 1,962 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

كيف أحمي برنامج من أن يفتح عبرResHacker

حيث أنه من غير المعقول أن كل برنامج يقوم الـ ResHacker بفتحه والتعديل في أسماء العناصر وأسماء الحقوق والتصميم

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

وشكراً لكم

هي طب للقلوب *** ذكرها يمحو الذنوب *** نورها سر الغيوب *** لاإله إلاالله

#2

السلام عليكم

مبرمج ResHacker توقف عنه منذ زمن...

يمكن تفاديه بتشفير Resource

استعمال برنامج حماية تجاري...او مجاني :)

مثال من الواقع، برنامج دلفي مشفر و مضغوط ب UPX

http://www.avtlab.ru/scdwriter.htm

طبعا يمكن فك ضغطه و التخلص من UPX بسهولة لكن الملف يبقي مشفر ولا يمكن العبث به باستخدام ResHacker او PeExploer او غيره...

d4baa0.gif
#3

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

----------------------

اسف على التدخل .. كيف تتم طريقة التشفير المشار اليها اعلاه ... منك نتعلم :rolleyes:

Comming Soon

#4

هل من الممكن تشفير اسماء الدوال ايضا ؟؟؟

{ربى زدنى علما}

#5

اخي Mahmoud Sh7

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

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

المعلومة الخاظئة هي انه قال

"الملف يبقي مشفر ولا يمكن العبث به باستخدام ResHacker او PeExploer او غيره..."

وبقول هذه المعلومة فأنه يقول انه لا سبيل إلى كسر حماية برنامجك

ولكن اود ان اوضح انه يوجد برامج لفك تشفير برنامج ال UPX

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

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

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

أرجو ان اكون وفقت غي توصيل المعلومة

#6
اقتباس
بالنسبة للطريقة التى ذكرها الأخ محمد عبد العزيز فهى بالفعل من أشهر الطرق

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

المعلومة الخاظئة هي انه قال

"الملف يبقي مشفر ولا يمكن العبث به باستخدام ResHacker او PeExploer او غيره..."

وبقول هذه المعلومة فأنه يقول انه لا سبيل إلى كسر حماية برنامجك

ولكن اود ان اوضح انه يوجد برامج لفك تشفير برنامج ال UPX

أخي ، إقرأ الكلام جيداً وافهمه، قبل أن تقول أن هناك أخطاء

اقتباس
طبعا يمكن فك ضغطه و التخلص من UPX بسهولة لكن الملف يبقي مشفر ولا يمكن العبث به باستخدام ResHacker او PeExploer او غيره...

انت قلت:

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

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

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

السؤال كان حول حماية الـ Resources وليس الأكواد

وشكراً لك على مشاركتك

الحمد لله رب العالمين

================

لا إله إلا الله

محمد رسول الله

#7

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

اخي thegem المحترفين لا يستخدمون برامج فك التشفير الجاهزة والعملية التي تكلمت عنها ووصفتها بالمعقدة هي ليسة معقدو ولا شيء

وهذا شرح مبسط للعملية

كل برنامج يحتوي على نقطة بداء وعند التشفير نضع نقطة بدء اخرى مع الابقاء على نقطة بداء البرنامج وفي الطريقة التي تكلم الاخ thegem عنها نقوم بالبحث عن نقطة البداء الاصلية للبرنامج ثم نقوم باخراج كود البرنامج من دون تشفير

(هذا الشرح لا يخلو من الاخطاء وهو شرح بسيط للعملية على حسب فهمي لها)

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#8

السلام عليكم

اولا عذرا للغياب عن المنتدى...

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

thegem

هناك خلط صغير في الفهم، ربماالمشكلة في المصطلحات العربية :)

UPX برنامج ضغط وليس تشفير

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

-

اقتباس
قلت انه يقوم بفك تشفيره بسهولة لكن البرنامج يبقى مشفر ؟؟؟؟؟ هل من الممكن ان توضح

التشفير شيئ

والضغط شيئ

اقصدت بالتشفير تشفير Resource و بالتحديد DFM

ثم بعدها عملية الضغط باستخدام UPX

d4baa0.gif
#9
JuStNiCk كتب:
هل من الممكن تشفير اسماء الدوال ايضا ؟؟؟

ما ذا تقصد بتشفير اسماء الدوال ؟

d4baa0.gif
#10

لو فى دالة اسمها

getmypcname

بتقوم بعمل معين وليكن مثل معرفة اسم الجهاز

ويتم استخدمها بكتابة اسمها getmypcname فهل من الممكن تشفير اسم الدالة وهو (getmypcname)

ارجو ان تكون الفكرة واضحة شكرا لك :)

{ربى زدنى علما}

#11

يعني مثلا

عندنا الداله URLDownloadToFile في الـunit UrlMon وتبغى تلعب فيها :D

طيب

بشكلها الطبيعي

const
  UMLib= 'UrlMon.dll';

var
URLDownloadToFile: function(Caller: IUnknown; URL: PChar; FileName: PChar; Reserved: DWORD; StatusCB: IBindStatusCallback): HResult; stdcall;

@URLDownloadToFile  := GetProcAddress(LoadLibrary(pchar(UMLib)),
							pchar('URLDownloadToFileA'));

هذا بالشكل الطبيعي لما نلعب فيها تصير

const
  UMLib = 'RUKJHI)CKK';

var
URLDToF: function(Caller: IUnknown; URL: PChar; FileName: PChar; Reserved: DWORD; StatusCB: IBindStatusCallback): HResult; stdcall;

Function Str(Str: string): String;
Var
  I: Integer;
  C: Integer;
Begin
  Result := '';
  For I := 1 To Length(Str) Do
  Begin
	C := Ord(Str);
	C := (C Xor 1) Xor 6;
	Result := Result + Chr(C);
  End;
End;

@URLDToF  := GetProcAddress(LoadLibrary(pchar(str(UMLib))),
							pchar(str('RUKChpikhfcShAnkbF')));

الـ Function str راح يعيد الأسماء لوضعها الطبيعي

إذا كان هذا قصدك نعم ممكن

#12

إذا كان قصدك أن يتم تشفير أسماء الإجرائيات من أجل تصعيب عملية Disassembling فإن الإجرائيات التي تظهر أسماؤها بعد عملية Disassembling هي الإجرائيات المستوردة والمصدرة فقط Imports & Exports أما بقية الإجرائيات فهي مجرد أجزاء من الكود يتم القفز إليها والعودة منها ولا تظهر أسماؤها أساسا.

طبعا أنا أتكلم عن Win32 وليس dotNet

أما في حالة dotNet يمكن عمل Obfuscate و Decompile وعندها تظهر أسماء الإجرائيات وهناك برامج مجانية وتجارية لعمل تشفير لأسماء الإجرائيات والكود ليصبح غير مفهوم في حال تمت عملية Decompile له.

تم تعديل هذه المشاركة بواسطة FH في 23 نوفمبر 2006 في 21:05

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…