Thursday, January 26, 2012

Quick Format String Vulnerability Check for the Lazy Hacker

Hello guys, it's about time we did some assembly. I decided to wrap up a quick blog post in 30 minutes, so here is one:

I will discuss a quick and dirty method that can be easily automated to check for format string vulnerabilities. I will assume you already know what buffer overflow and format string vulnerabilities are.

Assume this very very vulnerable code:

#include <iostream>
int main()
{

    char x[100];
    printf("%s","Enter your string:\n");
    std::cin.get(x, 99);
    printf(x); //WARNING: BAD VULNERABLE CODE, TEST ONLY
   
    return 0;
}

This code obviously suffers from a format string vulnerability. However, if you don't have the source code, how can you quickly tell (not 100 percent accurate, but a very quick indicator nonetheless) ?

By checking stack adjustment after the call to printf. Let's dive to assembly:

8:        printf(x);
00401510   lea         ecx,[ebp-64h]
00401513   push        ecx
00401514   call        printf (0041f150)
00401519   add         esp,4
9:
10:       return 0;
0040151C   xor         eax,eax
11:   }

After the call to printf(x), the stack was adjusted by 4 bytes (add esp,4) , why? Because of this:

int printf ( const char * format, ... );

The function printf can accept one parameter, but ideally it should be two: The format string itself and the variables corresponding to each placeholder. For example printf("%d",4) where "%d" is the format string and 4 is the variable corresponding to the %d inside the format string.

If we call printf("Hello") then we are only pushing one set of 4-bytes, a DWORD (in our past example the register ecx).

So what if we changed printf(x) to printf("%s",x)? Let's look at the dissassembly.

8:        printf("%s",x);
00401510   lea         ecx,[ebp-64h]
00401513   push        ecx
00401514   push        offset string "%s" (0046c01c)
00401519   call        printf (0041f150)
0040151E   add         esp,8

As we can see, the stack was adjusted by 8 bytes, or two DWORDs. What we pushed was the address of x (in ecx) and the address of "%s" to the function.

When we only called printf(x) we pushed the address of x stored in ecx, so only 4 bytes were pushed in the vulnerable call so only 4 bytes had to be corrected for the stack pointer (ESP). In the correct call we pushed 8 bytes and hence had to correct the stack pointer (ESP) by 8 bytes.

Very simple, no? The great thing about this is the extreme ease which which you can automate the search for such vulnerable usage in any binary with any tool you want: IDA Pro, PyDASM...etc

This trick is very simple and not complicated in any form, but it can really speed up the search for format string vulnerabilities. Enjoy!

Wednesday, January 25, 2012

What your Photos are Saying about You ما الذي تقوله صورك عنك

With the sharp rise in popularity of digital cameras & camera-equipped smartphones, and the emergence of shoot-and-publish photo online services such as Instagram, it has become very important for photographers to pay attention to what their cameras are saying about them.

مع الانتشار السريع للكاميرات الرقمية و الأجهزة الذكية، و أيضاً ظهور العديد من خدمات التصوير و النشر المباشر على الانترنت كموقع Instagram، أصبح من المهم جداً على المصورين الانتباه للمعلومات و البيانات التي تسربها كاميراتهم عنهم مع كل صورة.

So what type of things are these cameras saying about those photographers? Their awful photography sense? Bad smell? Perhaps high school grades? Unfortunately, it's much worse than that in terms of privacy. In fact, even IP address information pales to utter insignificance (Pirates of the Caribbean quote!) to the data your camera might be exposing about you: The GPS location.

Yes, you heard it right. The exact location every photo you took and published is right there for everyone to see. It's like you're setting up a bread trail for everybody to see and for stalkers to use.

ولكن ماهي المعلومات التي تقولها عنك كاميرتك؟ هل هي حسك الفوتوغرافي السيء؟ الرائحة الكريهة؟ درجاتك المخجلة بالمدرسة؟ للأسف إنها أسوأ من هذا بكثير، إن كنت ممن يهتم بخصوصيتك بالانترنت. بل إنه يمكننا القول أن البيانات التي تسربها كاميرتك عنك أسوأ بكثير من معلومات عنوان الانترنت IP  الخاص بك. إن الكاميرا قد تسرب موقعك الجغرافي عن طريق نظام التعقب الجغرافي GPS! 
تخيل أن كل الصور التي صورتها و نشرتها على الانترنت تحمل مكان و وقت وتاريخ أخذ الصورة، لتشكل بهذا خريطة كاملة و مسار تتبع لكل من أراد البحث عنك. ننبه على خطورة هذه المشكلة خصوصاً لمحترفات التصوير.

This data is the Exchangeable Image File Format (EXIF) data that is stored by cameras inside the images themselves. This type of information is not visibly stored on the photo, but can be extracted with the use of software. Usually it includes information about the type of camera, aperture and shutter speed settings... etc. What is most important for us at the moment is the GPS location data stored in images via this format. 

Now let's get down to business with some examples I took with a Samsung Galaxy Nexus (running Ice cream sandwich) and iPhone 3GS (running iOS5).

هذه البيانات هي جزء من نظام Exchangeable Image File Format EXIF و هو مجموعة بيانات تقوم الكاميرا بتخزينها مع كل صورة، منها مثلاً الوقت و التاريخ و إعدادات الكاميرا و العدسة. هذه البيانات لا تخزن مرئياً على الصورة ولكنها تحفظ داخلها، أي انها تكون موجودة داخل ملف الصورة عند تحميلها على الانترنت! يمكننا استخراج هذه البيانات باستخدام بعض البرامج. أكثر البيانات أهميةً لنا هنا هو الموقع الجغرافي عند التقاط الصورة GPS

لنبدأ الآن بمعاينة بعض الصور التي أخذتها بجهاز سامسونج جالاكسي نكسس و أيفون 3 جي اس.

1- Check this innocent photo:
1- انظر إلى هذه الصورة البريئة:
Or this other innocent photo:
أو هذه الصورة المسكينة:

Although they look really innocent, if we inspected them with a right click on Windows (or Get Info on Mac OS X) or we will see something like this:
مع أن الصورة تظهر بريئة جداً إلا أنه مع المعاينة بضغطة يمين بالوندوز أو بالماكنتوش Get Info  سنرى شيئاً مشابهاً لهذا:


It's the GPS location embedded inside the photo. Simple as that. Let's put that into Google Maps. The data is 29 23 17.633, 48 0 10.614
إنها بيانات الموقع الجغرافي داخل الصورة بكل بساطة. لنقم بوضعها بخرائط العم الكبير جوجل. بيانات الموقع هي 29 23 17.633, 48 0 10.614


Yes, Kuwait Towers, exactly where I left my keyboard and had gone to take the photo!

نعم، إنها أبراج الكويت، الموقع الذي أخذت فيه هذه الصورة بالضبط. كان الجو بارداً جداً و الأطفال هناك مزعجين و لكن الصورة أتت بثمارها و اتضح لنا مقدار الخطورة في هذه البيانات، خصوصاً عندما نصور، مثلاً، الباحة الخلفية للبيت أو أحد القطط الغبية بالشارع الذي نسكن فيه.
If you want an online tool to make easier tests, try this. Beware though, don't upload private pictures to it! 

Now let's see the settings inside the Android (Ice Cream Sandwich) and iPhone (iOS5) that allows us to turn this pesky feature on or off.
إذا أردت التأكد من بعض الصور يمكنك التأكد من هذا الموقع، و لكن احذر من رفع أي صورة فيها خصوصية!
لنرى الآن كيف يمكننا إغلاق هذه الميزة الطفيلية بالأندرويد و الآيفون.


The iPhone camera will try to ask you for permission to 'geotag' the photos and videos if the GPS is enabled on the phone. Click Don't Allow will stop that, but we want to prevent it from asking us, so we can just go to Settings -> Location Services and select OFF for the Camera.

نلاحظ أن كاميرة الآيفون تحاول أخذ الإذن لتسجيل موقع الصورة اذا فتحت الكاميرا و الجهاز متصل بخدمة الGPS، يمكنك رفض هذا بالضغط على عدم السماح أو Don't Allow و لكن إذا أردنا منعه من سؤالنا مرة أخرى يمكننا الذهاب إلى الإعدادات ثم إعدادات الموقع و الضغط على OFF  للكاميرا، كما هو موضح هنا:

In Android it can be as simple as choosing OFF for the Store Location option in the camera setting.

في الأندرويد يمكنك بكل بساطة ايقاف خاصية تسجيل الموقع ببرنامج الكاميرا، و اختيار OFF  لخيار Store Location :


You can remove the GPS EXIF data using tools such as this, or via Photoshop (File->Save for Web & Devices, then set 'Metadata' to 'None').

This feature is not restricted to smart phones. Many digital cameras, including Canon EOS 550D (the one I verified) also provide this geotagging feature, so refer to its manual for instructions on how to disable storing the GPS location! Many cameras do that, check that yours doesn't leak your info!

Now that we have briefly explained EXIF data, how it might include sensitive information such as GPS location, how to view it and also how to disable/remove it, we have finally arrived at the end of this short & sweet post.

Please take an educated effort towards saving your privacy and online presence!

 يمكنك إزالة بيانات الGPS  بتحميل هذه الأداة هنا أو باستخدام فوتوشوب( File - > Save for Web & Devices) ثم اختيار قيمة None لخيار Metadata. 

هذه الخاصية ليست مقتصرة فقط على الهواتف الذكية، بل تحملها الكثير من الكاميرات الرقمية أيضاً مثل Canon EOS 550D و التي تأكدت منها بنفسي، لذلك يجب عليك قراءة تعليمات كاميرتك و البحث عنها بالانترنت للتأكد من قيامها بتسجيل الموقع الجغرافي داخل الصور و كيفية تعطيل هذه الخاصية المزعجة.

هذا فيديو توضيحي لطيف يوضح هذه المخاطر، أنصح بإرساله لأبنائك المراهقين:

 

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



Monday, January 23, 2012

Quick Start to Anonymous Browsing Using Tor بداية سريعة للتصفح الآمن باستخدام تور

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

This article will be a very quick introduction for whoever wants to start secure & anonymous browsing from his PC/Mac with absolutely no hassle; just downloading and clicking on a file.

Warning: The point of using the Tor network is anonymity, not  protecting your passwords. Use Tor to protect your real identity and don't insert any information that can be stolen or traced back to you, like passwords and credit cards. Only enter critical information if you are connected to your final destination via https after verifying the certificate is okay.

شبكة تور هي شبكة آمنة مكونة من الآلاف من الأجهزة المتصلة ببعضها، و التي تمكنك من إخفاء هويتك بالكامل عن الجهة التي تريد الاتصال بها بحيث لا يمكن لأي موقع تدخل عليه أن يتتبعك. هناك الكثير من مستخدمي تور ممن يريد اخفاء هويته كالصحفيين و الناشطين السياسيين و من تلاحقهم الحكومات الظالمة. تور ينصح باستخدامه من قبل الكثير من المنظمات مثل Electronic Frontier Foundation  و هي المنظمة الرائدة عالمياً بحقوق الخصوصية بالانترنت.

The Tor network is a secure network consisting of thousands of interconnected nodes, which enable you to hide your identity to any destination that you wish to communicate to, so that any website, for example, will not have the ability to track you or collect information about you.

Lots of people use Tor to maintain their online anonymity, such as journalists, whistle-blowers or political activists who are usually targeted by oppressive governments. Tor is a recommendation by many privacy advocates, especially the Electric Frontier Foundation, the pioneering organization in fields of cyber privacy.

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

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

The way Tor works, in a simplified way, is that it divides your data into smaller packets that traverse the network in different random paths in a way that no single entity can recollect them all or figure out their original source & final destination (ha!). Encryption channels are opened for your divided packets as they traverse the network so that nobody can infer their content as well.

There is a plethora of amazing details in the Tor network, like the ability to open Hidden Services that enable you, for example, to publish web content or host an instant messaging server without disclosing the details of who is running this service or who is posting to it.


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

 أنظمة مايكروسوفت وندوز Microsoft Windows
الانجليزية - العربية


أنظمة ماكنتوش Apple Mac OS X
الانجليزية: 32 بت - 64 بت
العربية: 32 بت - 64 بت
نظام لينوكس:
العربية: ٣٢ بت - ٦٤ بت
الانجليزية: ٣٢ بت  - ٦٤ بت

اذا لم تعلم الروابط أعلاه فابحث عن نسختك المطلوبة هنا

The tool I'm explaining today isn't the normal use of Tor, because that would require more detailed explanation, however I'm only going to explain a very simple tool that enables instant utilization of the Tor network. This tool is the Tor Browser. The Tor Browser is a modified Firefox preloaded with Tor's secure configuration. The current version of Tor Browser doesn't work well alongside the normal Firefox, so you will have to close the latter, but the older version of Tor Browser can work alongside normal Firefox pretty well. Both versions can be downloaded here.

شرح الاستخدام لمايكروسوفت ويندوز:
قم بالضغط على الملف الذي تم تحميله، ستظهر لك هذه الشاشة، كل ما في هذا الشاشة هو اختيار مكان حفظ البرنامج. اختر المكان الذي تريد ثم اضغط على Extract.
Microsoft Windows usage:

Click on the downloaded file. You will be prompted for an extraction location. Choose and click Extract.


قم بالتوجه إلى المكان الذي اخترته سابقاً لفتح الملف و ستجد الملفات التالية بالصورة. لا يهمنها إلا Start Tor Browser  لذلك اضغط عليه.

Navigate to the path you chose previously and click on Start Tor Browser.


ستظهر الشاشة الرئيسية لتحكم متصفح تور . يهمنا فيها الآتي:
حالة الاتصال: (متصل، يحاول الاتصال... الخ)
أوقف تور: أتوقع واضحة لا تحتاج لشرح...
اعرض الشبكة: تعرض الشبكة التي تقوم انت بالاتصال بها داخل تور.
استخدم هوية جديدة: قم بتحديث الهوية و مفاتيح التشفير و النقاط التي تتصل بها في تور. يقوم تور بعمل هذا تلقائياً بعد فترة لكن يمكنك القيام بهذا مباشرة. 
إعدادات: إعدادات كثيرة يطول شرحها، يهمنا منها الحلول المتوفرة في حالة كان موفر خدمة الانترنت لديك يحجب شبكة تور.


This is the main Tor menu. It has many options; of most importance for us at the moment are:
Status: Status of the Tor connection.
Stop Tor: Very obvious. Stop Tor and be back to naked mode (not fun)
View the Network: Check the Tor nodes that make your Tor network.
Use a New Identity: Create a new identity, new encryption keys, new connection paths and nodes. Tor does that periodically but you can manually override it here.


عند الضغط على الخريطة، نشاهد هذه النافذة و التي تعرض النقاط التي نتصل بها بشبكة تور.

If you click View the Network, you can see the Tor nodes we are connected to.


بعد أن يقوم تور بالاتصال سيقوم بفتح المتصفح تلقائياً، و يمكنك التأكد من إخفاء هوية اتصالك بالتأكد من أي خدمة مثل What is my IP address . يتضح من الصورة الآتية اتصالنا بألمانيا.

After Tor finalizes the connection, it will launch the Tor-enabled browser. You can verify your anonymity by checking any service you wish, like What is my IP address, as shown next. We can see that we are connected through a node set up by the awesome guys at the Chaos Computer Club in Germany!


إذا قمنا بإعادة الاتصال أو أخذ هوية جديدة فسنرى أن العنوان الظاهر لنا قد تغير من ألمانيا إلى بريطانيا:

If we reconnect or use a new identity, we can see that our address has changed from Germany to UK.


الخطوات لنظام آبل ماكينتوش مشابهة تماماً. فقط حمل الملف المطلوب هو اضغط عليه ليبدأ التصفح الآمن دون هوية.

For Apple Mac OSX, the steps are the same. Just download the required file as instructed above, then click on it to start the Tor-enabled Firefox.

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

شبكة تور عالم كبير و سنقوم بالمستقبل بإذن الله بشرح المزيد عنها!

Now that we have arrived to the end of this short article, I want to emphasize on the importance of using anonymous browsing whenever you can, just in case you stumble on content you're not supposed to access or visit spying websites. This is more significant if there is a need to hide your identity from whoever wants to prevent you from voicing your opinion or delivering the truth!

The Tor network is a vast subject, and we will delve further into it in the future, God willing!

Tuesday, January 10, 2012

Encrypting SMS in Android تشفير الرسائل القصيرة بنظام الأندرويد

Hello dear readers, after what seems like a century, I finally update again! This time in two languages at the same time. After learning that some people actually read the blog and want to see more updates, I decided to touch on a sensitive subject nowadays, especially with all the chaos that's roaming the Middle East region now. This subject is the encryption of SMS in mobile phones (currently for Android).

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

There is a number of Android apps that can be used to encrypt SMS messages, however in this article I'm going to focus on the one I tested, which is TextSecure. TextSecure is an open source app that allows the user to encrypt his SMS messages both locally in his device and while they are in transmit, to ensure protection & privacy at all times for his secured SMS messages.

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

You can download TextSecure for your Android phone here (still in beta) and play with it. I will assume you have already downloaded it with no problems. When you run it for the first time, you will see this window:

يمكنك تحميله مجاناً من هنا (لا يزال بنسخة تجريبية) و اللعب به. سأقوم بالشرح الان على افتراض انك قمت بتحميله و تثبيته بجهازك. عندما تقوم بتشغيله أول مرة ستجد هذه الشاشة: 



Click Accept, then Click I understand on the next window as well. You will now come to a screen asking you to enter a passphrase. A screen like this:

اضغط على Accept  ثم اضغط على I understand  بالشاشة التالية. ستصل الان إلى شاشة تطلب منك إدخال عبارة سرية:



What does it mean by a passphrase? The answer is simple: It is like a password, but can be much longer. Instead of a weak, easy to guess password like ILoveYou123, or a difficult one to remember like Gsu72^&1Kj, you can use a passphrase that is both difficult to guess and also easy to remember, for example: I love to go to School and eat my Favorite Twix Bar!

The advantage is obvious: It is very difficult to guess by a human, it would take forever for a machine to guess, and it is very easy to remember. It's also a lot more fun! No longer should you have to write angry passwords and whack the keyboard because you could barely remember the complex password you had to use.


ما المقصود بعبارة سرية و ما الفرق بينها و بين كلمة السر؟ الاجابة بسيطة: العبارة السرية تشابه كلمة السر إلا أنها أطول بكثير و تتكون من كلمات مفهومة لديك. بدلاً من استخدام كلمة سر قصيرة و سهلة للتخمين مثل ILoveYou123 أو استخدام كلمة سر يصعب عليك تذكرها مثل Gsu72^&1Kj يمكنك استخدام عبارة سرية بحيث يصعب تخمينها آلياً باستخدام برامج الاختراق و كذلك يكون تذكرها أمراً سهلاً عليك، مثلاً العبارة السرية: I love to go to School and eat my Favorite Twix Bar!

الفائدة من استخدام عبارة سرية بدلاً من كلمة سرية واضح جداً: العبارة السرية يصعب تخمينها سواء من قبل انسان آخر أو برنامج، و لكن تذكرها سهل عليك و يمكنك أن تطيل كلماتها دون التأثير على سهولة تذكرها، كما أنها أكثر متعة بالاستخدام! لا داعي لاستخدام كلمات سر معقدة تجعلك تصب جام غضبك على الكيبورد بمحاولة تذكر حروفها المعقدة.

So now I guess you thought of a very nice passphrase that is easy to remember and more fun to write? Great, enter it in the field and click Ok. Next, TextSecure will ask you to make an encrypted copy of your SMS messages. Click Copy.

حسناً لنتفرض انك فكرت بعبارة سرية طويلة و سهلة التذكر، الان كل ما عليك هو ادخالها مرتين ثم الضغط على Ok. سيطلب منك TextSecure الاذن بالقيام بنسخة مشفرة من رسائلك الخاصة. قم بالضغط على Copy.



Now we can see the main menu of TextSecure, with the Settings menu expanded. Let's study each section in the image.

الان قمنا بالدخول للشاشة الرئيسية لبرنامج TextSecure، و قمنا بتفعيل قائمة الخيارات Settings، لنقم بمعاينة الاختيارات المتاحة بالقائمة.



1- New Message: Click here to create a new normal message. The messages will be encrypted only when a Secure Session is started. One a Secure Session is started, the messages will be encrypted when locally stored and when going in transit to the recipient.The recipient must be using TextSecure.

1- رسالة جديدة: اضغط هنا لكتابة رسالة جديدة عادية (غير مشفرة). ستكون الرسائل مشفرة فقط عند البدء بقناة مشفرة Secure Session. عند البدء بقناة مشفرة ستكون الرسائل مشفرة داخل جهازك فقط، اذا أردت أن يتم تشفيرها أثناء الارسال بالشبكة يجب على صديقك المستقبل للرسالة أن يقوم باستخدام TextSecure أيضاً حتى يمكن القيام بتشفير الرسائل القصيرة أثناء الارسال.

2- Messages List: This is the area where you can browse your messages. If the passphrase is not entered, all the messages will be encrypted and impossible to read.

2- قائمة الرسائل: هنا تجد الرسائل القديمة. اذا لم تقم بادخال عبارتك السرية بالبرنامج فستظهر الرسائل مشفرة و لا يمكن قرائتها.

3- Batch Mode: Used when more than one conversation is used. We don't need this now.

3- وضع الدفعات: يستخدم للتحكم بأكثر من محادثة بوقت واحد، لا يهمنا هذا الاختيار الان.

4- Secure Session: This is the fun part! Here we can instantly stat a secure session with a friend who must have installed TextSecure too.

4- قناة التشفير: هنا يبدأ المرح الحقيقي! يمكنك هنا أن تبدأ قناة  تشفير مع أي صديق لك مباشرة على شرط أن يقوم هو أيضاً باستخدام TextSecure.

5- Search: To search through your messages.

5- البحث: للبحث برسائلك الخاصة.

6- Settings: Lots of different settings for the application. We will explain all settings in some detail soon. (Don't run!)

 6- الاعدادات: توجد اعدادات كثيرة بالبرنامج، سنقوم بشرح أهمها لاحقاً (خلك معانا!).

7- Import/Export: To import messages from or to the SD Card.

7- استيراد و تصدير: لاستيراد أو تصدير الرسائل من و إلى كرت الSD.

8- More (Clear Passphrase): Clicking More will show the Clear Passphrase option. This option removes the cached passphrase (which you entered before, remember?) and is similar in effect to signing out. The messages will appear encrypted again and you have to enter your passphrase to see them again or send an encrypted SMS.

8- المزيد (مسح العبارة السرية): اذا قمت بمسح العبارة السرية فكأنك قمت بتسجيل الخروج و بالتالي لن تكون الرسائل قابلة للقراءة و لن يمكنك ارسال رسائل مشفرة حتى تقوم بادخال العبارة السرية الصحيحة.

Let's start with option 8 (More - Clear Passphrase). If I click it, I will need to enter the passphrase again to be able to decrypt the messages or send encrypted ones, as shown here in the figure:

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


You have to enter your passphrase correctly to see the messages. Now that we have entered our passphrase, let us try to send a normal SMS first. We can then start a Secure Session to encrypt the messages. The recipient must be using TextSecure too. Click on New Message.This screen will appear to you:

الان و بعد أن ادخلنا العبارة السرية الصحيحة يمكننا قراءة الرسائل المشفرة. لنقم الان بإرسال رسالة عادية غير مشفرة ثم سنقوم بفتح قناة مشفرة Secure Session لتشفير الرسائل اثناء ارسالها بالشبكة. يجب على المستقبل أن يستخدم TextSecure لنحصل على هذه الميزة. قم بالضغط على New Message  الان.


Simply choose a name from your contacts to send an SMS from. Without the recipient having TextSecure, your SMS will not be encrypted while in transit; it will only be encrypted in your device (with your passphrase, remember?). If you wish to encrypt your message in transit (while they are being sent) your friend must also use TextSecure so that you can start a Secure Session with them.

اختر اسم احد جهات الاتصال لديك. اذا لم يكونوا يستخدمون TextSecure فكل ما ستحصل عليه هو تشفير الرسائل القصيرة داخل جهازك لكنها لن تكون مشفرة اثناء ارسالها بالهواء. للحصول على التشفير الكامل اثناء الاتصال يجب عليك فتح قناة تشفير مع شخص يستخدم TextSecure.

Now type a friend's name and click. You will come to a screen like this, this is the normal unencrypted conversation window. You can tell the messages are not encrypted because there are no lock icons anywhere. You will see later how lock icons appear if the messages are encrypted. I am now starting an unencrypted SMS conversation with my friend Saleh.

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



Now what if we wanted to start a Secure Session? Simply click on Menu(the ... button to the lower right, or your Android device menu button) to see the next screen. Click on Start Secure Session.

إذا أردت البدء بقناة تشفير فما عليك هو الضغط على مفتاح القائمة ثم الضغط على Start Secure Session.


You will see a question to confirm the start of the secure session, click Yes. A key exchange message will be sent to Saleh, whose device will receive it and process it. Now we are running an encrypted SMS conversation. Every SMS I send to Saleh or receive from him through TextSecure will be encrypted in transit and locally on our devices. That is all!

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

However, what if you wanted to verify that you are actually talking to Saleh and not someone trying to be him? Click on Menu again and choose Secure Session Options, as shown here:

و لكن ما إذا ساورني الشك بأن هناك من ينتحل شخصية صالح؟ اضغط على زر القائمة و اختر Secure Session Options كما هو موضح تحت:


When you click on it, you will see three options: Verify Session, Verify Identity, and Abort Secure Session. Abort Secure Session is used to terminate the encrypted SMS conversation and return to normal unencrypted mode.

سترى ثلاث اختيارات Verify Session, Verify Identity, Abort Secure Session. 
اختيار Abort Secure Session  يقوم بكل بساطة بانهاء القناة المشفرة و العودة إلى الوضع العادي الغير مشفر.

Verify Identity is used to verify the 'fingerprints' of the keys used to identify you to your friend and vice versa. If you want to verify, it is recommended to use another channel of communication. For example send an email or use an encrypted chat client (like Line or Gibberbot) to verify the keys are the same on your device as well as your device.

اختيار Verify Identity يعينك على التأكد من هوية صديقنا صالح. سيعرض لك البرنامج "بصمة" خاصة بمفتاحك و مفتاح صديقك، و كل ما عليك فعله هو استخدام طريقة اتصال اخرى (مثل الايميل أو برنامج محادثة مشفر مثل Line  أو Gibberbot) للتأكد من تطابق بصمات المفاتيح عندكما. بهذه الطريقة نكون تأكدنا من أننا حقاً نقوم بالتحدث بسرية مع صالح.

The verify Session option is used to verify that this particular encrypted channel you two are using to encrypt SMS is secure, because SMS messages are encrypted with temporary session keys, not your identity key (for increased security!). So it would be better to verify the session keys using another channel of communication. If you can verify both the Identity key and the Session key, you can be sure that you are running a very secure encrypted communication. Make sure your friend sees the same number as you do. (Asking about the first 6 or last 6 letters is just enough, usually)

اختيار Verify Session  اختيار اضافي للتأكد من أن قناة التشفير نفسها لا يوجد فيها إلا أنا و صديقي صالح، و ذلك لأن الرسائل المرسلة بالشبكة تكون مشفرة بمفتاح مؤقت و ذلك للحصول على أمان إضافي و تصعيب كسر التشفير على من أراد التجسس. تأكد من أنك و صديقك تستخدمان نفس المفاتيح كما فعلنا عندما تحققنا من هوياتنا بالأعلى.




Now that we have verified the Identity and Session keys, we can safely start sending encrypted SMS! Notice how our names have lock icons next to them, it means the messages are encrypted. The lock icon on the top means our identities have been verified. We are set!

الان و قد قمنا بالتحقق من هوياتنا و سرية مفاتيحنا المؤقتة، يمكننا التأكد مئة بالمئة من سلامة قناة التشفير بيننا! لاحظ أيقونة القفل التي تظهر على الرسائل؟ انها تعني ان الرسائل مشفرة اثناء ارسالها بالشبكة. القفل الموجود بالأعلى يدل على أننا تأكدنا من هويات بعضنا. نحن جاهزون للتواصل المشفر!


Now that we have finished encrypting SMS messages and verifying the security and validity of encryption, let us see the options in TextSecure. Let us see the settings in TextSecure:

الان بعد أن قمنا باكمال تشفير الرسائل و تأكدنا من صحة التشفير و هويات الطرفين، لنرى بعضاً من الاعدادات الكثيرة التي يقدمها TextSecure. 






The 'Use for all SMS' choice allows you to let TextSecure absorb all SMS messages, so that they can be encrypted in its local database. If you don't choose this option, only the encrypted SMS messages will be stored by TextSecure, the others will be handled by the normal SMS app.

الاختيار Use for all SMS يمكنك من جعل TextSecure  يسحب كل الرسائل القصيرة لتخزينها بقاعدة بياناته المشفرة بجهازك. اذا لم تقم بهذا الاختيار فإن الرسائل الغير مشفرة ستوضع ببرنامج الرسائل القصيرة الأصلي Messaging و سيقوم TextSecure بالتعامل مع الرسائل المشفرة فقط.

In my opinion you should choose both the 'Dark Thread List Theme' and the 'Dark Conversation Theme' so that all text shows clearly in dark backgrounds, but this is up to your choice of course.

برأي الشخصي يفضل أن تقوم باختيار الخيارات Dark Thread List Theme  و Dark Conversation Theme  حتى تكون الخطوط واضحة مع الخلفيات القاتمة. قبل أن أقوم بهذا الاختيار لم اتمكن من قراءة النص لأن لونه كان أسود فوق خلفية سوداء.

This concludes my brief tutorial to using TextSecure on Android for local and in-transit encryption of SMS messages! Please take care of your privacy and throw your most-welcome questions here in the comments or at me in Twitter @Voulnet

نكون الان قد وصلنا إلى نهاية هذا الشرح الموجز لاستخدام برنامج TextSecure  لتشفير الرسائل القصيرة بالجهاز و أثناء الارسال بالشبكة! نرجو أن تكون النقاط واضحة, و نتمنى من القراء الأعزاء الاهتمام الشديد بخصوصيتهم على الانترنت!

بالطبع نرحب بكل الأسئل و التعليقات هنا في المدونة أو في حسابي بتويتر
@Voulnet