1 00:00:00,000 --> 00:00:09,500 >> [عزف الموسيقى] 2 00:00:09,500 --> 00:00:12,350 >> ZAMYLA تشان: كان ملكة جمال سكارليت مع الشمعدان. 3 00:00:12,350 --> 00:00:13,560 المجرم؟ 4 00:00:13,560 --> 00:00:15,030 أيضا، ونحن في طريقنا لمعرفة ذلك. 5 00:00:15,030 --> 00:00:20,870 في لعبة متنها فكرة، كنت قد أن تعطى صورة حمراء المادية. 6 00:00:20,870 --> 00:00:24,120 وتلك الصورة هو أحمر جدا و متقطعا، وعملك هو ل 7 00:00:24,120 --> 00:00:25,490 تكشف الرسالة المخفية. 8 00:00:25,490 --> 00:00:29,740 وعادة ما كنت قدمت مع أحمر العدسة المكبرة، أو شاشة حمراء ل 9 00:00:29,740 --> 00:00:31,410 تكشف تلك الرسالة الخفية. 10 00:00:31,410 --> 00:00:33,340 حسنا، نحن ذاهبون لتقليد ذلك. 11 00:00:33,340 --> 00:00:37,960 >> في المجرم، كنت تعطى صورة نقطية الذي يبدو متقطعا جدا والأحمر، 12 00:00:37,960 --> 00:00:43,430 ثم قم بتشغيل البرنامج المجرم لتكشف عن وجود رسالة خفية. 13 00:00:43,430 --> 00:00:45,650 >> لذلك دعونا كسر هذه إلى خطوات. 14 00:00:45,650 --> 00:00:50,390 أولا، تريد فتح الملف - على فكرة أن كنت قد أعطيت. 15 00:00:50,390 --> 00:00:53,880 ثم أيضا إنشاء ملف الحكم نقطية. 16 00:00:53,880 --> 00:00:58,240 ثم كنت تريد تحديث نقطية رأس معلومات عن OUTFILE الحكم. 17 00:00:58,240 --> 00:00:59,920 المزيد عن ذلك لاحقا. 18 00:00:59,920 --> 00:01:04,319 ثم كنت تريد الذهاب لقراءة في فكرة، scanline لل، بكسل بكسل، 19 00:01:04,319 --> 00:01:07,320 تغيير الألوان بكسل كما اللازمة، والكتابة 20 00:01:07,320 --> 00:01:08,960 وتلك في الحكم - 21 00:01:08,960 --> 00:01:12,000 بكسل بكسل في الحكم scanline لل. 22 00:01:12,000 --> 00:01:13,780 >> كيف نبدأ ذاهب حول هذا الموضوع؟ 23 00:01:13,780 --> 00:01:16,940 حسنا، لحسن الحظ، لدينا copy.c في كود التوزيع. 24 00:01:16,940 --> 00:01:21,240 وهذا سوف يثبت مفيدة للغاية بالنسبة لنا. 25 00:01:21,240 --> 00:01:29,700 Copy.c يفتح الملف، يقرأ في ذلك رأس INFILE، ثم بتحديث 26 00:01:29,700 --> 00:01:31,070 رأس OUTFILE ل. 27 00:01:31,070 --> 00:01:37,010 وبعد ذلك يقرأ كل بكسل في scanline لل، بكسل بكسل، ثم 28 00:01:37,010 --> 00:01:42,390 ان يكتب بكسل في OUTFILE. 29 00:01:42,390 --> 00:01:45,020 >> لذلك، قد الخطوة الأولى يكون لتشغيل التالية 30 00:01:45,020 --> 00:01:46,420 الأمر في محطة - 31 00:01:46,420 --> 00:01:50,270 حزب المحافظين copy.c whodunit.c. 32 00:01:50,270 --> 00:01:55,320 هذا سيخلق نسخة من copy.c اسمه whodunit.c. 33 00:01:55,320 --> 00:01:58,320 لذلك أول خطوة نخطوها لفتح ملف، حسنا، هناك بالضبط 34 00:01:58,320 --> 00:02:00,070 طبق الأصل من أنه في copy.c. 35 00:02:00,070 --> 00:02:03,360 لذلك سأترك لك أن ننظر في ذلك. 36 00:02:03,360 --> 00:02:07,860 >> ما نتعامل مع هذا في PSET و ملف I / O، مع الأخذ في الأساس الملفات، 37 00:02:07,860 --> 00:02:10,229 القراءة والكتابة وتحريرها. 38 00:02:10,229 --> 00:02:12,650 كيف عليك أولا فتح ملف؟ 39 00:02:12,650 --> 00:02:16,800 كذلك، وأنت تسير لتعلن ملف المؤشر، ومن ثم استدعاء 40 00:02:16,800 --> 00:02:18,670 وظيفة الدالة fopen. 41 00:02:18,670 --> 00:02:23,150 تمر في المسار، أو اسم ذلك ملف، ثم الوضع الذي تريد 42 00:02:23,150 --> 00:02:24,700 لفتح هذا الملف فيه. 43 00:02:24,700 --> 00:02:28,620 سوف تمر في ص فتح foo.bmp للقراءة. 44 00:02:28,620 --> 00:02:35,670 بينما الدالة fopen مع مرور في ث سوف bar.bmp مفتوحة، لكتابة الملف و 45 00:02:35,670 --> 00:02:37,020 تحرير فعلا. 46 00:02:37,020 --> 00:02:41,970 >> وحتى الآن بعد أن قمنا فتح الملف، لدينا الخطوة التالية هي لتحديث معلومات رأس 47 00:02:41,970 --> 00:02:43,230 لOUTFILE. 48 00:02:43,230 --> 00:02:44,610 ما هو معلومات رأس؟ 49 00:02:44,610 --> 00:02:48,160 حسنا، أولا نحن بحاجة إلى معرفة ما هو صورة نقطية. 50 00:02:48,160 --> 00:02:51,000 صورة نقطية هو مجرد بسيطة ترتيب بايت. 51 00:02:51,000 --> 00:02:55,480 وانهم أعلن في هذا الملف هنا، bmp.h، مع حفنة من 52 00:02:55,480 --> 00:02:58,610 المعلومات ما نقطية يرصد الواقع من. 53 00:02:58,610 --> 00:03:05,730 ولكن ما يهمنا حقا هو عن رأس ملف الصورة النقطية، والحق هنا، و 54 00:03:05,730 --> 00:03:08,460 المعلومات رأس نقطية، أكثر من هنا. 55 00:03:08,460 --> 00:03:13,170 يتكون رأس اثنين من المتغيرات التي من شأنها أن تكون مفيدة جدا. 56 00:03:13,170 --> 00:03:18,400 هناك biSizeImage، والذي هو الحجم الكلي للصورة في بايت. 57 00:03:18,400 --> 00:03:20,890 وهذا يشمل بكسل والحشو. 58 00:03:20,890 --> 00:03:24,210 الحشو مهم جدا، ولكن سوف نصل الى ذلك لاحقا. 59 00:03:24,210 --> 00:03:30,000 >> BiWidth يمثل عرض الصورة بالبكسل ناقص الحشو. 60 00:03:30,000 --> 00:03:34,220 BiHeight ومن ثم أيضا ارتفاع الصورة بالبكسل. 61 00:03:34,220 --> 00:03:38,240 ثم BITMAPFILEHEADER و BITMAPINFOHEADER، وكما ذكرت 62 00:03:38,240 --> 00:03:40,900 في وقت سابق، وتتمثل تلك كما البنيات. 63 00:03:40,900 --> 00:03:45,410 لذلك، لا يمكن الوصول إلى رأس ملف في حد ذاته، ولكن عليك أن ترغب في الحصول على 64 00:03:45,410 --> 00:03:47,370 تلك المتغيرات في الداخل. 65 00:03:47,370 --> 00:03:48,170 >> موافق. 66 00:03:48,170 --> 00:03:50,600 لذلك كيف نقوم بتحديث معلومات رأس؟ 67 00:03:50,600 --> 00:03:54,020 كذلك، علينا أولا أن نرى ما إذا كنا بحاجة إلى تغيير أي من المعلومات 68 00:03:54,020 --> 00:03:58,480 وINFILE، وفكرة، ل OUTFILE، والحكم. 69 00:03:58,480 --> 00:04:00,250 يتم تغيير أي شيء في هذه الحالة؟ 70 00:04:00,250 --> 00:04:04,320 حسنا، ليس في الواقع، لأننا ذاهبون أن مجرد تغيير الألوان. 71 00:04:04,320 --> 00:04:07,550 نحن لن تغيير الملف الحجم، حجم الصورة، والعرض، 72 00:04:07,550 --> 00:04:08,310 أو الارتفاع. 73 00:04:08,310 --> 00:04:14,010 لذلك كنت كل الحق في الوقت الراهن من قبل مجرد نسخ كل بكسل. 74 00:04:14,010 --> 00:04:14,840 >> موافق. 75 00:04:14,840 --> 00:04:20,720 حتى الآن دعونا ننظر في كيفية ونحن في الواقع يمكن قراءة كل بكسل من الملف. 76 00:04:20,720 --> 00:04:23,640 ملف آخر أنا يا وظيفة / وسوف تدخل حيز اللعب - 77 00:04:23,640 --> 00:04:24,700 fread. 78 00:04:24,700 --> 00:04:28,440 فإنه يأخذ في مؤشر إلى البنية التي سوف تحتوي على وحدات البايت التي 79 00:04:28,440 --> 00:04:30,110 كنت تقرأ. 80 00:04:30,110 --> 00:04:31,890 لذلك كنت تقرأ في ذلك. 81 00:04:31,890 --> 00:04:36,090 وبعد ذلك تمر في الحجم، والتي هي حجم كل عنصر التي قمت 82 00:04:36,090 --> 00:04:37,360 تريد أن تقرأ. 83 00:04:37,360 --> 00:04:40,640 هنا، وظيفة sizeof سوف تأتي في متناول اليدين. 84 00:04:40,640 --> 00:04:45,570 ثم قمت بتمرير في العدد، والتي يمثل عدد عناصر 85 00:04:45,570 --> 00:04:47,480 حجم القراءة. 86 00:04:47,480 --> 00:04:51,180 ثم أخيرا، inptr، الذي هو مؤشر الملف الذي كنت 87 00:04:51,180 --> 00:04:52,530 الذهاب الى قراءة من. 88 00:04:52,530 --> 00:04:58,650 لذلك كل من هذه العناصر في الداخل inptr وانهم ذاهبون الى البيانات. 89 00:04:58,650 --> 00:05:01,660 >> دعونا ننظر في مثال قليلا. 90 00:05:01,660 --> 00:05:07,590 إذا كنت ترغب في قراءة البيانات في اثنين من الكلاب، حسنا، أستطيع أن أفعل ذلك واحدة من طريقتين. 91 00:05:07,590 --> 00:05:15,250 أستطيع أن أقرأ سواء في كائنين من حجم كلب من وجهة نظري inptr، أو أستطيع أن أقرأ 92 00:05:15,250 --> 00:05:19,280 في واحد يعترض حجم اثنين من الكلاب. 93 00:05:19,280 --> 00:05:23,580 لذلك ترى أن هذا يتوقف على الطريقة أن تقوم بترتيب حجم والعدد، كنت 94 00:05:23,580 --> 00:05:25,840 يمكن أن نقرأ في نفس العدد من بايت. 95 00:05:25,840 --> 00:05:28,720 96 00:05:28,720 --> 00:05:33,020 >> وحتى الآن، دعونا تغيير بكسل اللون كما أننا بحاجة. 97 00:05:33,020 --> 00:05:37,320 إذا نظرتم bmp.h مرة أخرى، ثم سترى أن في الجزء السفلي 98 00:05:37,320 --> 00:05:42,920 RGBTRIPLEs هي البنية آخر، حيث وتتألف من ثلاثة هم بايت. 99 00:05:42,920 --> 00:05:49,220 واحد، rgbtBlue، rgbtGreen، وrgbtRed. 100 00:05:49,220 --> 00:05:52,480 لذلك كل من هذه يمثل المبلغ من اللون الأزرق، وكمية من اللون الأخضر، و 101 00:05:52,480 --> 00:05:57,250 كمية أحمر داخل هذا بكسل، حيث يتم تمثيل كل المبلغ من قبل 102 00:05:57,250 --> 00:05:58,670 رقم سداسي عشري. 103 00:05:58,670 --> 00:06:04,370 >> حتى FF0000 سيكون اللون الأزرق، لأنه يذهب من الأزرق، 104 00:06:04,370 --> 00:06:05,850 إلى اللون الأخضر، إلى اللون الأحمر. 105 00:06:05,850 --> 00:06:09,300 وبعد ذلك كل و سوف تكون بيضاء. 106 00:06:09,300 --> 00:06:13,440 دعونا نلقي نظرة على smiley.bmp، التي لديك في كود التوزيع. 107 00:06:13,440 --> 00:06:15,690 إذا كنت فتحه في مجرد صورة المشاهد، ثم عليك 108 00:06:15,690 --> 00:06:17,080 مجرد رؤية مبتسم الأحمر. 109 00:06:17,080 --> 00:06:20,380 ولكن مع الأخذ الغوص أعمق في، وسوف نقوم نرى أن هيكل 110 00:06:20,380 --> 00:06:22,340 من هو مجرد بكسل. 111 00:06:22,340 --> 00:06:25,880 لدينا بكسل الأبيض، ثم بكسل الأحمر. 112 00:06:25,880 --> 00:06:31,000 الأبيض، FFFFFF، وبعد ذلك كل من بكسل الحمراء لقد الملونة في لك 113 00:06:31,000 --> 00:06:35,440 هنا، وترى أنهم 0000FF. 114 00:06:35,440 --> 00:06:39,760 صفر الزرقاء، الصفر الأخضر، والأحمر الكامل. 115 00:06:39,760 --> 00:06:45,350 ومنذ مبتسم ثمانية بكسل، ليس لدينا أي الحشو. 116 00:06:45,350 --> 00:06:47,360 حسنا. 117 00:06:47,360 --> 00:06:53,310 >> حتى إذا كان لي أن تعيين قيم مختلفة إلى RGBTRIPLE وأردت أن 118 00:06:53,310 --> 00:06:58,350 جعله الخضراء، ثم ما يمكن أن تفعله هو وأود أن تعلن وRGBTRIPLE، واسمه 119 00:06:58,350 --> 00:07:02,660 الثلاثي، ومن ثم الوصول إلى كل البايت داخل تلك البنية أنا 120 00:07:02,660 --> 00:07:04,030 ستستخدم المشغل نقطة. 121 00:07:04,030 --> 00:07:08,430 حتى triple.rgbtBlue، يمكنني تعيين هذا إلى 0. 122 00:07:08,430 --> 00:07:13,460 الأخضر أستطيع أن إسناد ذلك إلى كامل - أي العدد، حقا، بين 0 و و و. 123 00:07:13,460 --> 00:07:15,470 والأحمر ثم، انا ذاهب أيضا أن أقول 0. 124 00:07:15,470 --> 00:07:19,160 حتى ذلك الحين أن يعطيني بكسل الخضراء. 125 00:07:19,160 --> 00:07:23,030 >> المقبل، ما إذا كنت تريد أن تحقق قيمة شيء ما؟ 126 00:07:23,030 --> 00:07:27,250 أنا يمكن أن يكون شيئا يتحقق سواء قيمة rgbtBlue الثلاثي هو 127 00:07:27,250 --> 00:07:31,080 وما يليها ثم الطباعة، "أشعر الزرقاء! "، نتيجة لذلك. 128 00:07:31,080 --> 00:07:35,640 الآن، وهذا لا يعني بالضرورة إن بكسل باللون الأزرق، أليس كذلك؟ 129 00:07:35,640 --> 00:07:40,060 لأن القيم الأخضر والأحمر البيكسل يمكن أن يكون أيضا غير 0 القيم. 130 00:07:40,060 --> 00:07:43,470 كل ما تعني هذه، وكل ما هذا هو التحقق عن 131 00:07:43,470 --> 00:07:45,610 للون الأزرق الكامل. 132 00:07:45,610 --> 00:07:50,050 ولكن كل بكسل يمكن أن يكون أيضا جزئية قيم الألوان، مثل هذا 133 00:07:50,050 --> 00:07:52,180 المثال التالي هنا. 134 00:07:52,180 --> 00:07:55,400 >> انها اصعب قليلا لنرى ما هو هذه الصورة الآن. 135 00:07:55,400 --> 00:08:00,320 هذا يبدو قليلا أكثر مثل clue.bmp أن عليك أن تعطى. 136 00:08:00,320 --> 00:08:03,600 الآن، جسديا، قد حل هذا، لأن هناك الكثير من الأحمر، من خلال 137 00:08:03,600 --> 00:08:07,040 رافعين شاشة حمراء إلى الصورة حتى أن الألوان الأخرى يمكن أن تظهر. 138 00:08:07,040 --> 00:08:10,968 لذلك كيف يمكننا تقليد هذا مع ج؟ 139 00:08:10,968 --> 00:08:15,640 كذلك، ونحن قد إزالة كافة الحمراء من الصورة تماما. 140 00:08:15,640 --> 00:08:21,870 وذلك للقيام بذلك كنا تعيين كل قيمة بكسل الحمراء إلى 0. 141 00:08:21,870 --> 00:08:25,020 وهكذا فإن الصورة تبدو قليلا قليلا من هذا القبيل، حيث ليس لدينا الأحمر 142 00:08:25,020 --> 00:08:26,300 على الإطلاق. 143 00:08:26,300 --> 00:08:29,390 >> يمكننا أن نرى رسالة خفية ل أكثر قليلا بشكل واضح الآن. 144 00:08:29,390 --> 00:08:31,730 انها وجه مبتسم وجه آخر. 145 00:08:31,730 --> 00:08:33,870 أو ربما يمكن أن نستخدم طريقة أخرى. 146 00:08:33,870 --> 00:08:36,480 ربما، ونحن يمكن تحديد كل بكسل الأحمر - 147 00:08:36,480 --> 00:08:41,100 وهذا هو، كل بكسل مع 0 الأزرق، 0 الأخضر والأحمر 0 - 148 00:08:41,100 --> 00:08:43,169 وتغيير تلك إلى الأبيض. 149 00:08:43,169 --> 00:08:45,470 وصورتنا قد تبدو شيء من هذا القبيل. 150 00:08:45,470 --> 00:08:48,250 أسهل قليلا لنرى. 151 00:08:48,250 --> 00:08:51,170 >> هناك الكثير من الطرق الأخرى للكشف عن الرسالة السرية أيضا، 152 00:08:51,170 --> 00:08:53,730 التعامل مع التلاعب بالألوان. 153 00:08:53,730 --> 00:08:57,050 ربما كنت قد تستخدم إحدى الطرق التي ذكرتها أعلاه. 154 00:08:57,050 --> 00:08:59,600 وبالإضافة إلى ذلك، قد ترغب لتعزيز بعض الألوان 155 00:08:59,600 --> 00:09:02,620 وتقديم المسؤولين للخروج. 156 00:09:02,620 --> 00:09:06,190 >> وحتى الآن بعد أن قمنا بتغيير بكسل اللون، القادمة ونحن بحاجة فقط لكتابتها 157 00:09:06,190 --> 00:09:08,500 في لscanline لل، بكسل بكسل. 158 00:09:08,500 --> 00:09:11,860 ومرة أخرى، فأنت تريد أن ننظر إلى الوراء لcopy.c، إذا لم تكن قد نسخت 159 00:09:11,860 --> 00:09:18,170 بالفعل، وإلقاء نظرة على fwrite وظيفة، والتي تأخذ البيانات، وهو مؤشر 160 00:09:18,170 --> 00:09:23,230 إلى البنية التي تحتوي على بايت ان كنت تقرأ من، حجم 161 00:09:23,230 --> 00:09:26,610 البنود، وعدد من العناصر، ثم outptr - 162 00:09:26,610 --> 00:09:29,450 وجهة من تلك الملفات. 163 00:09:29,450 --> 00:09:34,010 >> بعد أن تكتب في بكسل، عليك يجب أيضا أن الكتابة في الحشو. 164 00:09:34,010 --> 00:09:34,970 ما هو الحشو؟ 165 00:09:34,970 --> 00:09:38,670 حسنا، كل بكسل rgbt ثلاثة بايت. 166 00:09:38,670 --> 00:09:43,670 ولكن، وscanline للحصول على صورة نقطية يجب أن تكون متعددة من أربعة بايت. 167 00:09:43,670 --> 00:09:47,650 وإذا كان عدد من وحدات البكسل ليس متعددة من أربعة، ثم نحن بحاجة إلى إضافة 168 00:09:47,650 --> 00:09:48,880 هذا الحشو. 169 00:09:48,880 --> 00:09:51,420 الحشو يتم تمثيل فقط عن طريق 0S. 170 00:09:51,420 --> 00:09:54,380 لذلك، كيف نكتب، أو قراءة هذا؟ 171 00:09:54,380 --> 00:09:59,280 كذلك، اتضح أنه لا يمكن الحشو fread في الواقع، ولكن يمكنك 172 00:09:59,280 --> 00:10:00,970 حساب ذلك. 173 00:10:00,970 --> 00:10:04,400 >> في هذه الحالة، وفكرة الحكم لها نفس العرض، وبالتالي فإن 174 00:10:04,400 --> 00:10:05,910 الحشو هو نفسه. 175 00:10:05,910 --> 00:10:09,370 والحشو، كما سترى في copy.c، يتم حساب 176 00:10:09,370 --> 00:10:11,790 مع الصيغة أدناه - 177 00:10:11,790 --> 00:10:16,690 مرات bi.biWidth sizeof (RGBTRIPLE) سوف تعطينا عدد البايتات BMP 178 00:10:16,690 --> 00:10:18,280 له في كل صف. 179 00:10:18,280 --> 00:10:21,890 من هناك، وmodulos والطرح مع 4 كيف يمكن حساب 180 00:10:21,890 --> 00:10:25,610 يجب إضافة العديد من بايت بحيث متعددة وحدات البايت على 181 00:10:25,610 --> 00:10:27,250 كل صف أربعة. 182 00:10:27,250 --> 00:10:30,490 >> الآن أن لدينا صيغة ل كم نحن بحاجة الحشو، والآن 183 00:10:30,490 --> 00:10:31,610 يمكن أن نكتب عليه. 184 00:10:31,610 --> 00:10:34,080 الآن، وأنا ذكرت من قبل، الحشو هو 0S فقط. 185 00:10:34,080 --> 00:10:39,730 حتى في هذه الحالة، نحن مجرد وضع شار، في هذه الحالة 0 في موقعنا 186 00:10:39,730 --> 00:10:41,710 outptr - OUTFILE لدينا. 187 00:10:41,710 --> 00:10:47,530 بحيث يمكن أن يكون مجرد fputc 0، فاصلة outptr. 188 00:10:47,530 --> 00:10:52,400 >> لذلك، في حين كنا في القراءة لدينا الملف، وأبقت ملف I / O المسار لدينا 189 00:10:52,400 --> 00:10:57,440 الموقف في تلك الملفات مع شيء دعا مؤشر موقف الملف. 190 00:10:57,440 --> 00:10:59,350 اعتقد انه ما من المؤشر. 191 00:10:59,350 --> 00:11:03,550 في الأساس، فإنه يتقدم في كل مرة أننا fread، ولكن لدينا 192 00:11:03,550 --> 00:11:05,671 السيطرة على أكثر من ذلك، أيضا. 193 00:11:05,671 --> 00:11:11,030 >> لتحريك المؤشر الموقف الملف، يمكنك استخدام وظيفة fseek. 194 00:11:11,030 --> 00:11:15,600 حيث يمثل inptr الملف المؤشر الذي كنت تسعى في و 195 00:11:15,600 --> 00:11:20,370 المبلغ هو عدد البايتات التي تريد تحريك المؤشر، ومن ثم من 196 00:11:20,370 --> 00:11:23,470 تتعلق النقطة المرجعية من حيث المؤشر الخاص بك هو. 197 00:11:23,470 --> 00:11:26,770 إذا كنت تمر في SEEK_CUR، التي يمثل الحالي 198 00:11:26,770 --> 00:11:28,100 موقف في الملف. 199 00:11:28,100 --> 00:11:31,020 أو يمكنك استخدام بعض المعالم الأخرى. 200 00:11:31,020 --> 00:11:35,400 لذلك، ونحن قد ترغب في استخدام fseek لتخطي على الحشو من الملف في. 201 00:11:35,400 --> 00:11:39,410 ومرة أخرى، إذا كنت عالقا، وهناك مثال على ذلك في copy.c. 202 00:11:39,410 --> 00:11:43,260 >> حتى الآن لقد فتح الملف، على فكرة، والحكم. 203 00:11:43,260 --> 00:11:46,450 قمنا بتحديث معلومات رأس ل لدينا الحكم، لأن كل 204 00:11:46,450 --> 00:11:48,730 نقطية يحتاج إلى رأس. 205 00:11:48,730 --> 00:11:52,280 قمنا ثم قرأ في فكرة و scanline لل، بكسل بكسل، وتغيير 206 00:11:52,280 --> 00:11:55,210 كل لون عند الضرورة، و الكتابة في تلك 207 00:11:55,210 --> 00:11:57,340 الحكم بكسل بكسل. 208 00:11:57,340 --> 00:12:01,550 بمجرد فتح الحكم، يمكنك معرفة من الذي الجاني، أو ما سر 209 00:12:01,550 --> 00:12:02,850 الرسالة. 210 00:12:02,850 --> 00:12:05,550 اسمي Zamyla، و كان هذا المجرم. 211 00:12:05,550 --> 00:12:12,864