هذا مانشرته الاخت الغرام
بسم الله الرحمن الرحيم
أعزائي كما وعدتكم دائما بكل جديد
أقدم لكم اليوم الشرح الثاني والمرتبط بالتطبيق الأول
حول كيفية كتابة اوامــر مختلفة للكرت 1.8
أود ان أوضح شئ مهم لم أقوم بتوضيحه من قبل
بخصوص الكرت 1.8 والفرق بينه وبين 1.6 و 1.2
ولماذا بامكاننا فتح الكروت بطريقة عادية بينما كرت 1.8
لا يمكن فعل ذلك بواسطة البرامج المنتشرة على الشبكة
الا بـــطــــرق خــــاصـــــة
أولها كان بالإستعانة بكرت 1.6 أو 1.2
وآخرها حتى هذا الوقت
برامج حسابية سهلة وجبارة كما سنوضح ذلك في الأسفل
----------
الفرق بين الكرت 1.8 وبين سابقيه
هي مشكلة الحصول على التوقيع الصحيح في
CRD كل أمر أو سطر موجودفي ملف
Card Master فطريقة عمل برامج التشغيل لكروت ارديتو مثل برنامج
01 هي بمفهوم توجيه أمر للكرت على كلاس
S1 وينتهي برمز
فيقوم البرنامج بحساب التوقيع للأمر الموجه للكرت
طبعا البعض يسأل كــــيـــــف يتم ذلك ؟
وبأختصار نضرب مثال بسيط وواضح
لنفرض انك تريد تطبيق الأمر التالي على الكرت
01 01 00 00 00 11 03 14 14 14 00 0B 40 02 05 F1 94 00 S1
فيقوم البرنامج تلقائيا
بارسال الأمر للكرت هكذا ولاحظ وجود توقيع خاطئ
01 01 00 00 00 11 03 14 14 14 00 0B 40 02 05 F1 94 00 11 22 33 44 55
Signature Buffers ثم يقوم بعدها باستخراج الناتج من
02 بواسطة كلاس GET بالأمر
01 02 0D 00 00 00 والأمر هو
وبعد ذلك تأتي الإستجابة من الكرت هكذا
<- 01 02 00 00 0D 00 00 0E 00 00 00 00 00 00 00 00 00 00 F4 C9 75 2D
أخر أربعة بايتات هي الأربعة الأرقام الأولى من التوقيع الصحيحثم يبقى البايت الخامس
يتم حسابه تصاعديا أوتنازليا من
00 to FF or from FF to 00 (in Hex decimal)
طبعا البرنامج سيستمر بالحساب اذا كانت الإستجابة من الكرت
<- 01 01 7C 00 00 00 00 00
حتى يجد التوقيع الصحيح للأمر المطبق على الكرت
فتكون النتيجة كالأتي
<- 01 01 00 00 3F 00 00 03 00 ?? ??
وغير ذلك فان الأمر لن يتم تنفيذه على الكرت اطلاقا
----------------
Show و ART والمسؤولة كليا عن موضوع تشفير قنوات MCME شركة
فهمت الموضوع الموضح أعلاه بعد وعرضه
Motorola و SGS-Thomsun على شركات تصنيع البطاقات الذكية مثل
Irdeto قامت بتصنيع و ببرمجة اصدار آخر لكروت
لا يمكنها ان تقبل الآمر
01 02 0D 00 00 00
وبهذه الطريقة يستحال حساب التوقيع لأي أمر يطبق على الكرت 1.8
بواسطة البرامج الموجودة
ثم و في تاريخ 25 / 06 / 1999م
Plain Key انتشرت فكرة ال
و
Plain Master Key
باستخدام اوامر ك
5F CC , 5F 03 , 5F 46
وغيرها والتي تعتمد على إجبار الكرت بكتابة بيانات مباشرة
إلى ذاكرة الكرت و بدون الإستناد الى عوامل التشفير الحسابية مثل
Master Key , Provider id , Date ,
لتشفير او لإعادتة تشفير الأمر داخل ذاكرة الكرت
EEPROM بل الى عناوين وبيانات تكتب في مكانها الصحيح في
عفوا ... قد يفهمه الأخوة المتخصصون والممارسون فقط
تماما مثل الذي يحدث في يومنا هذا
وقد ساهم انتشار هذه المعلومات بفعالية كبيرة
IRDETO وخطيرة على مستقبل نظام التشفير القوي
ولهذا الحديث بقية
---------
اليوم و هنا على صفحة التعليمية للكرت 1.8
أقدم لكم شرحي و خلاصة نتائجي الإيجابية في محاولتي
لفتح شفرة هذا الكرت منذ ظهوره للمرة الأولى قبل فترة من الزمن
والذي سبب الكثير من المتاعب لمعظم الناس
إليكم الآن أحدث وأسهل طريقة لفتح هذا الكرت
بالإستعانة بإصدار آخر من برنامج
IRDETO CALCULATOr
وهذا هو موقع انزال البرنامج
أعزائي البرنامج يشرح نفسه بالنظر الى صورته و تصميمه البسيط
ولكنني هنا سأقوم بشرح كيفية إرسال الأوامر الى الكرت
وسنناقش أهم شئ وهو تركيب
PMK 10 أو PMK 00
Provider id's حيث يكفي وجود ماستر كي واحد لأي من
Provider id 00 فإذا وجد الماستر كي لل
PMK 10 أصبح سهلا تركيب
Provider 10 واذا توفر الماستر كي لل
PMK 00 أصبح سهلا تركيب
لاحظ العملية عكسية هنا و مترابطة أي
PMK 00 + command include 5F xx = Allow & contorol PMK 10
PMK 10 + command inculde 5F xx = Allow & contorol PMK 00
خاص ولا يتغير CRD و بعنى آخر كل منا يصمم
يستعين به ويحتفظ به في كل مرة يود فيها تركيب أي شفرات
Provider id + PMK او PK سواء أكانت تحتوي على
وأحب ان الفت انتباهكم هنا بان
DSTV 1.8 التركيب الداخلي لذاكرة البطاقة
DSTV 1.6 هو نفس خريطة لعنوايين الخاصة للكرت
لذا أرجو من الجميع أخذ الحذر والحيطة من ذلك
لما قد تسببه من تلف للكرت نتيجة للعناوين الخاطئة
فقد اتلفت أنا أكثر من ثلاث كروت نتيجة للإستهتار
(أولا)
Logging نحضر أهم أمر خاص للكرت الملتقط عن طريق عملية
وهو الأمر الذي يحتوي على الماستر كي الخاص لنفس الكرت
01 01 00 00 00 1a C3 s0 00 14 68 0D zz 00 mk mk mk mk mk mk mk mk pp pp pp ss ss ss ss ss
s0 = 3 bytes of Card Hex Serial Number
if pp X 3 = Provider id 00 then zz = 00 (Basicly)
if pp X 3 = Provider id 10 then zz = 11 (Basicly)
mk X 8 = Master Key
ss X 5 = Signatures
الذي سيتم إجراء التطبيق عليه
(ثــانــيــا )
طبق الأمر على نفس الكرت أولا
ثم قم بعملية إستخراج ال بلاين ماستر كي
بمساعدة برامج عديدة تم ذكرها في ما سبق
Keyd-crypter وأهمها برنامج
طبعا الأخذ بعين الأعتبار من
Provier id 10 أو Provider id 00
( ثــالـثـا )
Irdeto Calculator الآن قم بتشغيل برنامج
ضع البلاين ماستر كي المستخرج بشكل صحيح
في نفس المكان المخصص له بالأسفل الذي يحمل اسم
Irdeto Signature Calculator
Plain Master Key وفي مكان ال
والأن نأتي لمرحلة الجد
S1 نقوم بكتابة الأمر بدون استخدامٍ
CRD في نهاية الأمر أو
Card Master مع ملاحظة عدم استخدام مصطلحات برنامج
واستبدالها بالقيمة الحقيقة الموجود في الكرت مثل
P0 = First 2 bytes of Provider id 00 (group)
P1 = First 2 bytes of Provider id 10 (group)
P2 = 3 bytes of Provider id 00
P3 = 3 bytes of Provider id 10
T0 = Date 00 value of Provider id 00
T1 = Date 10 value of Provider id 10
لن نحتاج لإستخدام مصطلح يعتمد على
C3 S0 = Hex Serial Address !
Hex Master Key ونظرا لعدم توفر برنامج للإستخراج ال
من كلا الكرتين 1.6 و 1.8
فسوف لن نوجه الأوامر للكرت بالإستناد للهيكس سيريال
ونقوم باستبدال القيمة على النحو الآتي
03 PP PP PP = Same value of Provider id 00
0B PP PP PP = Same value of Provider id 10
أو
02 PP PP 00 = Provider id 00 group
0A PP PP 00 = Provider id 10 group
لتنفيد أي أمر Provider id ونستند على
ويعتمد الأمر حسب التوجيه سواء كان لل
Provider id 10 أو Provider Id 00
والآن لنقوم بتطبيق الأوامر التالية في المستطيل الطويل باسفل
البرنامج لغرض الحصول على التواقيع
01 01 00 00 00 1B 03 PP PP PP 00 15 40 02 FF FF 56 02 65 00 52 06 00 00 00 00 00 00
سأقوم بتوضيح ماوظيفة هذا الأمر في ما بعد
للحصول على التوقيع الصحيح Calculate أضغط على زر
ثم انسخ الأمر مع التوقيع الى ملف خارجي دائما
ثم الأمر الذي يأتي بعده وهو
01 01 00 00 00 21 03 PP PP PP 00 1B 5F CC 88 FF FF 89 FF FF 8A FF FF 8B FF FF 5F 46 7C 11 FF 7D FF FF
هذا الأمر يقوم بكتابة بلاين ماستر كي 10 و بروفويدير اي دي 10
Creat PMK 10 & Provider id 10
Provider id 00 وتستند به على
حيث يقوم بتحويل ال
PMK 10 = FF FF FF FF FF FF FF FF
و
Provider id 10 = FF FF FF
طبعا انسخ النتائج الى ملف خارجي
ثم طبق الأمر الذي يليه واحصل على التوقيع
01 01 00 00 00 27 0B PP PP PP 00 1C 5F CC 5D 00 FF 5E FF FF 5F 00 00 69 FF FF 5F CC 6A FF FF 6B FF FF 6C FF FF 68 00 00
هذا الأمر سيقوم بتحويل ال
PMK 00 = FF FF FF FF FF FF FF FF
Provider id 00 = FF FF FF
Provider id 10 ونستند به على
قد يستغرب البعض لما هذه المطاولة و المبالغة
ولكن الهدف منها هو انشاء ملف مستقل للكرت وإغلاقه
ليبقى مرجع أولي في كل مرة تريد تشغيل الكرت
تقوم أولا بتشغيل الملف هذا
مرة أخرى Logging ولا تحتاج للقيام بعملية
فقط شغل الملف الذي أنشأءته ثم طبق الأوامر
التي تريدها بمساعدة البرنامج المذكور
حيث سيتكون الملف بعد تطبيق الأوامر من الآتي
// Active my card 1.8 # 0004 xxxx xxx
R0
01 01 00 00 00 1a C3 s0 00 14 68 0D zz 00 mk mk mk mk mk mk mk mk pp pp pp ss ss ss ss ss
R0
01 01 00 00 00 1B 03 PP PP PP 00 15 40 02 FF FF 56 02 65 00 52 06 00 00 00 00 00 00 ss ss ss ss ss
R0
01 01 00 00 00 21 03 PP PP PP 00 1B 5F CC 88 FF FF 89 FF FF 8A FF FF 8B FF FF 5F 46 7C 11 FF 7D FF FF ss ss ss ss ss
R0
01 01 00 00 00 27 0B PP PP PP 00 1C 5F CC 5D 00 FF 5E FF FF 5F 00 00 69 FF FF 5F CC 6A FF FF 6B FF FF 6C FF FF 68 00 00 ss ss ss ss ss
// Done !
وفي كل مرة تقوم فيها بتشغيل هذا الملف سيتحول
PMK 00 & 10 = FF FF FF FF FF FF FF FF
Provider id 00 & 10 = FF FF FF
و ماعليك إلا إدخال ال
بسم الله الرحمن الرحيم
أعزائي كما وعدتكم دائما بكل جديد
أقدم لكم اليوم الشرح الثاني والمرتبط بالتطبيق الأول
حول كيفية كتابة اوامــر مختلفة للكرت 1.8
أود ان أوضح شئ مهم لم أقوم بتوضيحه من قبل
بخصوص الكرت 1.8 والفرق بينه وبين 1.6 و 1.2
ولماذا بامكاننا فتح الكروت بطريقة عادية بينما كرت 1.8
لا يمكن فعل ذلك بواسطة البرامج المنتشرة على الشبكة
الا بـــطــــرق خــــاصـــــة
أولها كان بالإستعانة بكرت 1.6 أو 1.2
وآخرها حتى هذا الوقت
برامج حسابية سهلة وجبارة كما سنوضح ذلك في الأسفل
----------
الفرق بين الكرت 1.8 وبين سابقيه
هي مشكلة الحصول على التوقيع الصحيح في
CRD كل أمر أو سطر موجودفي ملف
Card Master فطريقة عمل برامج التشغيل لكروت ارديتو مثل برنامج
01 هي بمفهوم توجيه أمر للكرت على كلاس
S1 وينتهي برمز
فيقوم البرنامج بحساب التوقيع للأمر الموجه للكرت
طبعا البعض يسأل كــــيـــــف يتم ذلك ؟
وبأختصار نضرب مثال بسيط وواضح
لنفرض انك تريد تطبيق الأمر التالي على الكرت
01 01 00 00 00 11 03 14 14 14 00 0B 40 02 05 F1 94 00 S1
فيقوم البرنامج تلقائيا
بارسال الأمر للكرت هكذا ولاحظ وجود توقيع خاطئ
01 01 00 00 00 11 03 14 14 14 00 0B 40 02 05 F1 94 00 11 22 33 44 55
Signature Buffers ثم يقوم بعدها باستخراج الناتج من
02 بواسطة كلاس GET بالأمر
01 02 0D 00 00 00 والأمر هو
وبعد ذلك تأتي الإستجابة من الكرت هكذا
<- 01 02 00 00 0D 00 00 0E 00 00 00 00 00 00 00 00 00 00 F4 C9 75 2D
أخر أربعة بايتات هي الأربعة الأرقام الأولى من التوقيع الصحيحثم يبقى البايت الخامس
يتم حسابه تصاعديا أوتنازليا من
00 to FF or from FF to 00 (in Hex decimal)
طبعا البرنامج سيستمر بالحساب اذا كانت الإستجابة من الكرت
<- 01 01 7C 00 00 00 00 00
حتى يجد التوقيع الصحيح للأمر المطبق على الكرت
فتكون النتيجة كالأتي
<- 01 01 00 00 3F 00 00 03 00 ?? ??
وغير ذلك فان الأمر لن يتم تنفيذه على الكرت اطلاقا
----------------
Show و ART والمسؤولة كليا عن موضوع تشفير قنوات MCME شركة
فهمت الموضوع الموضح أعلاه بعد وعرضه
Motorola و SGS-Thomsun على شركات تصنيع البطاقات الذكية مثل
Irdeto قامت بتصنيع و ببرمجة اصدار آخر لكروت
لا يمكنها ان تقبل الآمر
01 02 0D 00 00 00
وبهذه الطريقة يستحال حساب التوقيع لأي أمر يطبق على الكرت 1.8
بواسطة البرامج الموجودة
ثم و في تاريخ 25 / 06 / 1999م
Plain Key انتشرت فكرة ال
و
Plain Master Key
باستخدام اوامر ك
5F CC , 5F 03 , 5F 46
وغيرها والتي تعتمد على إجبار الكرت بكتابة بيانات مباشرة
إلى ذاكرة الكرت و بدون الإستناد الى عوامل التشفير الحسابية مثل
Master Key , Provider id , Date ,
لتشفير او لإعادتة تشفير الأمر داخل ذاكرة الكرت
EEPROM بل الى عناوين وبيانات تكتب في مكانها الصحيح في
عفوا ... قد يفهمه الأخوة المتخصصون والممارسون فقط
تماما مثل الذي يحدث في يومنا هذا
وقد ساهم انتشار هذه المعلومات بفعالية كبيرة
IRDETO وخطيرة على مستقبل نظام التشفير القوي
ولهذا الحديث بقية
---------
اليوم و هنا على صفحة التعليمية للكرت 1.8
أقدم لكم شرحي و خلاصة نتائجي الإيجابية في محاولتي
لفتح شفرة هذا الكرت منذ ظهوره للمرة الأولى قبل فترة من الزمن
والذي سبب الكثير من المتاعب لمعظم الناس
إليكم الآن أحدث وأسهل طريقة لفتح هذا الكرت
بالإستعانة بإصدار آخر من برنامج
IRDETO CALCULATOr
وهذا هو موقع انزال البرنامج
أعزائي البرنامج يشرح نفسه بالنظر الى صورته و تصميمه البسيط
ولكنني هنا سأقوم بشرح كيفية إرسال الأوامر الى الكرت
وسنناقش أهم شئ وهو تركيب
PMK 10 أو PMK 00
Provider id's حيث يكفي وجود ماستر كي واحد لأي من
Provider id 00 فإذا وجد الماستر كي لل
PMK 10 أصبح سهلا تركيب
Provider 10 واذا توفر الماستر كي لل
PMK 00 أصبح سهلا تركيب
لاحظ العملية عكسية هنا و مترابطة أي
PMK 00 + command include 5F xx = Allow & contorol PMK 10
PMK 10 + command inculde 5F xx = Allow & contorol PMK 00
خاص ولا يتغير CRD و بعنى آخر كل منا يصمم
يستعين به ويحتفظ به في كل مرة يود فيها تركيب أي شفرات
Provider id + PMK او PK سواء أكانت تحتوي على
وأحب ان الفت انتباهكم هنا بان
DSTV 1.8 التركيب الداخلي لذاكرة البطاقة
DSTV 1.6 هو نفس خريطة لعنوايين الخاصة للكرت
لذا أرجو من الجميع أخذ الحذر والحيطة من ذلك
لما قد تسببه من تلف للكرت نتيجة للعناوين الخاطئة
فقد اتلفت أنا أكثر من ثلاث كروت نتيجة للإستهتار
(أولا)
Logging نحضر أهم أمر خاص للكرت الملتقط عن طريق عملية
وهو الأمر الذي يحتوي على الماستر كي الخاص لنفس الكرت
01 01 00 00 00 1a C3 s0 00 14 68 0D zz 00 mk mk mk mk mk mk mk mk pp pp pp ss ss ss ss ss
s0 = 3 bytes of Card Hex Serial Number
if pp X 3 = Provider id 00 then zz = 00 (Basicly)
if pp X 3 = Provider id 10 then zz = 11 (Basicly)
mk X 8 = Master Key
ss X 5 = Signatures
الذي سيتم إجراء التطبيق عليه
(ثــانــيــا )
طبق الأمر على نفس الكرت أولا
ثم قم بعملية إستخراج ال بلاين ماستر كي
بمساعدة برامج عديدة تم ذكرها في ما سبق
Keyd-crypter وأهمها برنامج
طبعا الأخذ بعين الأعتبار من
Provier id 10 أو Provider id 00
( ثــالـثـا )
Irdeto Calculator الآن قم بتشغيل برنامج
ضع البلاين ماستر كي المستخرج بشكل صحيح
في نفس المكان المخصص له بالأسفل الذي يحمل اسم
Irdeto Signature Calculator
Plain Master Key وفي مكان ال
والأن نأتي لمرحلة الجد
S1 نقوم بكتابة الأمر بدون استخدامٍ
CRD في نهاية الأمر أو
Card Master مع ملاحظة عدم استخدام مصطلحات برنامج
واستبدالها بالقيمة الحقيقة الموجود في الكرت مثل
P0 = First 2 bytes of Provider id 00 (group)
P1 = First 2 bytes of Provider id 10 (group)
P2 = 3 bytes of Provider id 00
P3 = 3 bytes of Provider id 10
T0 = Date 00 value of Provider id 00
T1 = Date 10 value of Provider id 10
لن نحتاج لإستخدام مصطلح يعتمد على
C3 S0 = Hex Serial Address !
Hex Master Key ونظرا لعدم توفر برنامج للإستخراج ال
من كلا الكرتين 1.6 و 1.8
فسوف لن نوجه الأوامر للكرت بالإستناد للهيكس سيريال
ونقوم باستبدال القيمة على النحو الآتي
03 PP PP PP = Same value of Provider id 00
0B PP PP PP = Same value of Provider id 10
أو
02 PP PP 00 = Provider id 00 group
0A PP PP 00 = Provider id 10 group
لتنفيد أي أمر Provider id ونستند على
ويعتمد الأمر حسب التوجيه سواء كان لل
Provider id 10 أو Provider Id 00
والآن لنقوم بتطبيق الأوامر التالية في المستطيل الطويل باسفل
البرنامج لغرض الحصول على التواقيع
01 01 00 00 00 1B 03 PP PP PP 00 15 40 02 FF FF 56 02 65 00 52 06 00 00 00 00 00 00
سأقوم بتوضيح ماوظيفة هذا الأمر في ما بعد
للحصول على التوقيع الصحيح Calculate أضغط على زر
ثم انسخ الأمر مع التوقيع الى ملف خارجي دائما
ثم الأمر الذي يأتي بعده وهو
01 01 00 00 00 21 03 PP PP PP 00 1B 5F CC 88 FF FF 89 FF FF 8A FF FF 8B FF FF 5F 46 7C 11 FF 7D FF FF
هذا الأمر يقوم بكتابة بلاين ماستر كي 10 و بروفويدير اي دي 10
Creat PMK 10 & Provider id 10
Provider id 00 وتستند به على
حيث يقوم بتحويل ال
PMK 10 = FF FF FF FF FF FF FF FF
و
Provider id 10 = FF FF FF
طبعا انسخ النتائج الى ملف خارجي
ثم طبق الأمر الذي يليه واحصل على التوقيع
01 01 00 00 00 27 0B PP PP PP 00 1C 5F CC 5D 00 FF 5E FF FF 5F 00 00 69 FF FF 5F CC 6A FF FF 6B FF FF 6C FF FF 68 00 00
هذا الأمر سيقوم بتحويل ال
PMK 00 = FF FF FF FF FF FF FF FF
Provider id 00 = FF FF FF
Provider id 10 ونستند به على
قد يستغرب البعض لما هذه المطاولة و المبالغة
ولكن الهدف منها هو انشاء ملف مستقل للكرت وإغلاقه
ليبقى مرجع أولي في كل مرة تريد تشغيل الكرت
تقوم أولا بتشغيل الملف هذا
مرة أخرى Logging ولا تحتاج للقيام بعملية
فقط شغل الملف الذي أنشأءته ثم طبق الأوامر
التي تريدها بمساعدة البرنامج المذكور
حيث سيتكون الملف بعد تطبيق الأوامر من الآتي
// Active my card 1.8 # 0004 xxxx xxx
R0
01 01 00 00 00 1a C3 s0 00 14 68 0D zz 00 mk mk mk mk mk mk mk mk pp pp pp ss ss ss ss ss
R0
01 01 00 00 00 1B 03 PP PP PP 00 15 40 02 FF FF 56 02 65 00 52 06 00 00 00 00 00 00 ss ss ss ss ss
R0
01 01 00 00 00 21 03 PP PP PP 00 1B 5F CC 88 FF FF 89 FF FF 8A FF FF 8B FF FF 5F 46 7C 11 FF 7D FF FF ss ss ss ss ss
R0
01 01 00 00 00 27 0B PP PP PP 00 1C 5F CC 5D 00 FF 5E FF FF 5F 00 00 69 FF FF 5F CC 6A FF FF 6B FF FF 6C FF FF 68 00 00 ss ss ss ss ss
// Done !
وفي كل مرة تقوم فيها بتشغيل هذا الملف سيتحول
PMK 00 & 10 = FF FF FF FF FF FF FF FF
Provider id 00 & 10 = FF FF FF
و ماعليك إلا إدخال ال


تعليق