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

محاولة جادة لكسر حماية برنامج Pocket PC

مغلق
بدأه seme1 في 9 ديسمبر 2004 · 9 رد · 1,005 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بعد فشلي في الحصول على مساعدة من شخصين من أعضاء هذا المنتدى (جدا محبط على فكرة) , اضطررت أخيراً إلى نشر نداء "استغاثة" للحصول على جزء من مساعدة أو حتى تلميحات لفهم كيف يمكن كسر ذلك البرنامج العنيد . . .

تجنباً لتجاوز قوانين هذا المنتدى فإنه لا توجد إشارة من قريب أو بعيد في موضوعي أو الفيديو أو الملفات المرفقة إلى اسم البرنامج أو الشركة المنتجة له

للحصول على تفاصيل البرنامج , بالامكان مراسلتي على الخاص

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

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

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

هذا الملف يسمى Licence File (تجدون نسختان منهما لجهازين مختلفين أملكهما)

كل مرة يشتغل فيها البرنامج يقوم بالبحث عن هذا الملف , قراءته , مقارنة السيريال نمبر بالسيريال نمبر حق الجهاز اللي مثبت فيه البرنامج , وإذا كانا متشابهين , فإن البرنامج يعمل بصورة صحيحة , في كل الحالات الأخرى , لا يعمل البرنامج.

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

1- التغيير بالجزء الذي يعمل المقارنة بين السيريال نمبر حق الجهاز , والسيريال نمبر المخزن بالملف وجعل نتيجة المقارنة دائماً True

2- تجاوز الجزء الذي يستدعي قراءة الملف Licence File

فكرة كسر الحماية بسيطة جداً ولكنها في نظري صعبة التطبيق حيث أنني و إلى الآن لم أستطع تتبع الجزء الذي يعمل المقارنة , ولا حتى الجزء الذي يقوم بفك تشفير الملف.

بعض المشاكل التي واجهتني:

بعد البحث اكتشفت أن دالة kerneliocontrol أساسية للحصول على السيريال نمبر للجهاز

بعد تتبع عمل البرنامج عن طريق أدوات Embedded Visual C++ (كما هو ظاهر في ملف الفيديو المرفق بنهاية الموضوع) لاحظت أن البرنامج لا يصل لتلك الدالة بصورة مباشرة

بمعنى أني لم أستطع الوصول إلى الجزء من البرنامج الذي ينادي تلك الدالة

أيضا هناك أجزاء إن حاولت وضع Breakpoint عندها فإن ال eVC++ يعطي Exception ويتوقع عمبل الديبقر Debugger

سأرسل رابط يحتوي على ملف مضغوط يضم فيديو لخطوات الDebugging في 2 سيناريو:

Licenced:

بمعنى أن البرنامج مستخدم مع ملف Licence File يحتوي على سيريال نمبر الجهاز اللي مثبت عليه البرنامج (يعمل البرنامج في هذه الحالة)

Not Licenced:

الجهاز يحتوي على Licence File ولكن الملف لا يحتوي على السيريال نمبر حق الجهاز بل على سيريال نمبر لجهاز آخر (في هذه الحالة لا يعمل البرنامج)

أيضاً لمن لديهم برنامج IDA Pro فقد أدخلت معظم ملفات الDLL التي يحتاجها أي شخص للتعرف على أسماء الدوال المستخدمة بالبرنامج

#2

الملف Get Device Info هو الذي ترسله الشركة مبدئياً للحصول على السيريال نمبر حق الجهاز وتخزينه في ملف مشفر

إذا كان هناك أي أسئلة أو استفسارات فأرجو عدم التردد في عرضها هنا

الملف حجمه 2.6mb بسبب ملفات الفيديو

إذا في شخص يحتاج شيء معين آخر فليطلبه هنا

أيضا , بإمكاني تحويل ملفات الفيديو إلى صيغة فلاش , لكن هذا سيزيد من حجم الملف إلى 10mb

لكن الميزة أنه بالإمكان تشغيل أكثر من عرض في وقت واحد للمقارنة

رابط إنزال ا لملف

http://s2.yousendit.com/d.aspx?id=79F4F3A8...13E6D8267DD0DD3

#3

السلام عليكم ..

أخي ، لم تعمل معي الملفات وتظهر رسالة خطأ ..

الرجاء التأكد منها .

تحياتي

#4

شيء طبيعي أنها لا تعمل لأنها مصممة للعمل في بيئة Windows CE والذي هو نظام التشغيل في معظم أجهزة Pocket PC

بإمكانك استخدام برنامج EXEscope لتشاهد جميع القوائم التي تظهر في البرنامج

وإذا كان لديك جهاز كمبيوتر كفي , سأرسل لك على الخاص الملف التنفيذي اللازم لتثبيت البرنامج في جهازك

لكن ذلك لن يفيدك في نظري ببساطة لأن البرنامج لا يعمل إذا لم يكن لديك ملف التصريح : Licence File

eXeSc641.rar

تم تعديل هذه المشاركة بواسطة seme1 في 9 ديسمبر 2004 في 19:37

#5

الملف المرفق التالي يصور البرنامج وهو يعمل بدون ملف التصريح (فقط رسالة الخطأ تظهر)

Program Running with no licence file.rar

#6

السلام عليكم,

في مثل هده الحالات يجب أن نعرف بعض الأشياء.

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

هل الملف الدي تقصد يعمل فقط في الوندوز CE ففي هده الحالة سيقلل ربما المستعملين.

هده بعض التوضيحات والله أعلم.

إلى اللقاء.

#7

أنا متأكد من أن البرنامج الأولي لا يستخدم بتاتاً كجزء من عمل البرنامج (لايحتوي على أي كود)

السبب أنه لا يلزم وجوده لعمل البرنامج الرئيسي

أيضاً افتحه مع برنامج IDA وستجد أنه يحتوي على دالة واحدة رئيسية kerneliocontrol

والبرنامج فعلاً يعمل على Windows CE فقط

بالمناسبة أتمنى أن تكون وصلتك رسالتي الخاصة أخ chik

فأنا جداً محتاج إلى كسر حماية هذا البرنامج (قيمته 400 دولار ,, واستعماله جداً مهم لنا)

#8

بالمناسبة

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

ولدي ملفا تصريح كل واحد لجهاز معين

ويجب أن يكونا في الجهاز لعمل البرنامج

الملف الرئيسي للبرنامج مرفق بأول رابط واسمه R

الملف الذي عن طريقه يتم تخزين السيريال نمبر حق الجهاز هو Get Device Info

#9

السلام عليكم,

كما قلت مسبقا بما أنه يشتغل على الوندوز CE فقط فهدا سيقلل المستهدفين والدين يتوفرون على هده الأنظمة وهدا سيزيد تعبا في محاولة مشاهدة ما يقوم به البرنامج إد هنا يجب تتبع كود البرنامج كاملا وهده ليست عملية سهلة.

إلى اللقاء.

#10

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

بمعنى آخر .... لن تحتاج أو يحتاج أي شخص آخر إلى برنامج ديبقر لتتبع مسيرة عمل البرنامج وفهمه

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

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