بسم الله الرحمن الرحيم ،،
علم الإخفاء Covered Writting أو ما يعرف بSteganograhy يعتبر من الوسائل الفعالة في عملية اخفاء المعلومات ، حيث من خلال الخوارزميات يمكن أن نضع ما نريده من بيانات داخل وسيط أخر (TCP/IP Header ، أو حتى NTFS Alternate Stream في أنظمة الويندوز ، أو حتى في الوسائط المتعددة مثل الصورة ، صوت ، فيدو وغير ذلك..) بدون التأثير على جودة ذلك الوسيط ،، وبالتالي اذا كان هناك متطفل على النظام أو خلال عملية الإرسال فلن يستطيع كشف البيانات التي تم تخبئتها .
من الخوارزميات المبسطة في الStegangoraphy ، فكرتها تكمن في أخذ أي bit من البيانات التي نريد اخفائها على حدة ، وادخال هذا الbit في البت الأول lsb من كل بايت في الوسيط الذي نريد الإخفاء فيه ،، المثال التالي يبين الإخفاء داخل صورة من نوع PNG-24 bit والصور من هذا النوع يتكون البكسل فيها من 3 بايتات الأول يمثل RED والثاني يمثل GREEN والثالث يمثل BLUE . وسنقوم باخفاء البت التالي من البيانات في الlsb من البايت التالي وهكذا ..
Read more…
السلام عليكم ورحمه الله وبركاته ،،
ايمانا مني بضرورة نشر المعلومات وعدم وضعها فوق الأرفف ، فقد أرتأيت أن اضع مشروعي وذلك لكي يستفيد منه من بعدي ، وان كان المشروع أراه حاليا غير مفيد خاصه لمن لديهم معرفة جيدة بالمجال ، لكن على كلٍ فهذا جُهد المقل ، والفضل لله وحده، وما كان في بحثي من صواب فمن الله تعالى، وما كان من خطأ فمن نفسي ومن الشيطان.

Read more…
السلام عليكم ورحمه الله وبركاته ،،
الكثير منا يحتاج لأن يرفع ملفات الى أحدى المواقع على الإنترنت ،، ولكن المشكلة هي أنه في أي موقع توجد سياسه معينة تحدد حجم وكمية الملفات التي يتم رفعها ، وأكبر مثال على ذلك الإعداد القياسي في السيرفر الذي يضم المدونه والذي يحدد حجم الملفات المرفقة بامتداد 2 ميغا فقط ..
من هنا كانت فكرة برنامج FPlitter++ وهو يقسم أي ملف مهما كان حجمه من 1 ميغا الى 2 اس 64 وهو عدد تقريبا يساوي 16 تيرابايت ان لم تخني الذاكرة ..
Read more…
قبل قليل طرح أحد الأخوة سؤالا في احدى المنتديات عن استخدام شفره AES بالجافا ،، ولقتل الملل وحالة الطفش التي امر بها في هذه اللحظة ، قمت بكتابة هذا الكلاس البسيط ومهمته توليد المفتاح والتشفير وفك التشفير باستخدام AES .
Read more…
التعامل مع العمليات الثنائية bitwise operation مهم للغايه لأي مبرمج خصوصا في التطبيقات التي تحتاج التعديل على الصور أو الملفات الثنائية ، وأغلب الأوقات قد نضطر لوضع قيمه صحيحة integer في 4 بايتات مثلا لتخزينها في في أحدى المواقع في صورة أو أي مكان .. أيضا العملية العكسية وهي تحويل 4 بايتات الى عدد صحيح قد تكون مفيدة هي الأخرى ..
Read more…
بسم الله الرحمن الرحيم
أغلب المستخدمين لا يفضلوا التعامل مع الكثير من الإعدادت والملفات عند التعامل مع البرامج ، فقط يريدوا عمل البرنامج بالشكل المطلوب بمجرد النقر دبل كليك على البرنامج . ونتيجه لذلك فجافا وفرت طريقة لعمل البرامج قابلة للتشغيل مباشره بدون الذهاب لسطر الأوامر وتشغيل الjvm وهذه الأمور المملة للمستخدم والمبرمج أيضا
.
في جافا 6 تستطيع انشاء ملف الجار وتحديد الملف الذي سيعمل مباشره من خلال الأمر التالي :
jar cvfe YourJarFileName.jar YourMainClass file1 file2 …. fileN
Read more…
من المفاهيم الأساسية في مفهوم الدوال Functions/Methods في لغات البرمجة هو تمرير الوسائط Parameter Passing ، وبشكل عام هناك طريقتين للتمرير المعاملات الأولى هي التمرير بالقيمة Pass by Value والثانية هي Pass by Reference .
عند استخدام النوع الأول Pass by Value سوف يتم نسخ القيمة من المتغير أو الكائن المرسل الى المعامل الموجود في الدالة التي تم استدعائها ، وأي تغيير يتم اجرائه على هذا المعامل فلن يتأثر المتغير الأول والسبب أنه تم تمرير القيمة فقط .
أما عند استخدام النوع الثاني Pass by Reference فسوف يتم ارسال عنوان Pointer/Reference المتغير أو الكائن الى المعامل الموجود في الدالة ، وسوف يكون هذا المعامل يؤشر للمتغير أو الكائن وبالتالي أي تغيير يتم اجرائه على المعامل سوف يتغير المتغير أو الكائن تبعا لذلك ، لأنهم الإثنين يؤشران لنفس المنطقة في الذاكرة .
Read more…
السلام عليكم ورحمه الله وبركاته ،،
الكثير منا يحاول تزيين برنامجه C++ Console Application واضافه الالوان وبعض الخصائص الأخرى ، وهناك الكثير من المكتبات لفعل ذلك وأشهرها مكتبه بورلاند Graphics.h والتى كانت تعمل تحت مترجمات الدوز القديمه Borland C++ 4، والأن تطورت المكتبه وأصبح لها أصدار جديد متوافق مع مترجمات سي++ الجديده يعمل على DEV-C++ & Mingw..
في هذا التدوينة سنلقى الضوء على أحد المكتبات البسيطه للغايه التي قمت بكتابتها فيما مضى ، و قد تفيد فقط المبتدئين ، المكتبه توقفت من تطويرها لكن اذا أردت المشاركه في المكتبه وتطويرها فمرحبا بك ..
Read more…
السلام عليكم ورحمة الله وبركاته ،
عملية الToeknizing هي من أشهر العمليات عند التعامل مع النصوص ، وهي بشكل عام تقسيم النص الى عدة نصوص ويتم فصل ذلك النص حسب العلامة التي تريدها ..
للأسف لا توجد في لغه سي++ القياسية Standard C++ Library أي كلاس أو دالة جاهزة للقيام بذلك بشكل مباشر ( توجد داله في مكتبة لغه السي القياسية C Run-time Library بالإسم strtok تقريبا ولكن كما يوضح الإسم هي تتعامل مع نصوص السي C-Style String وليس string in cpp ) ، كما أن التعامل مع تلك الدالة يحتاج لإستخدام بضعه دوال أخرى في السي للتعامل مع النصوص .
Read more…
بسم الله الرحمن الرحيم

مقدمه لJava Derby :
أحد أهم الإضافات في جافا 6 هو استخدام قاعده البيانات Derby والتي أصبحت تأتي مع نسخ الجافا الجديده (بالرغم من أني لم أشاهدها ضمن نسخه جافا 6 التحديث 11 !) ، هذه القاعده كانت في الأساس ملك لشركه CloudScape ثم أشترتها شركه informix بالكامل ،وقامت IBM بشراء المنتج من informix وبعدها قدمت IBM هذا المنتج لApache Software Foundation بإسم Derby ، وأخيرا قامت SUN في (2006) بوضع هذا المنتج مع أي نسخه جافا في المسار التالي: C:\Program Files\Java\jdk1.6.0\db . وأصبحت تطلق عليه أحيانا Java DB .
هذه القاعده هي من النوع العلائقي Relational Data Base وهذا يسمح بأن تكون هناك علاقات بين الجداول في القاعده باستخدام Primary Key/Foreign Key وهي مكتوبة بالكامل بلغه جافا . ثانيا هذه القاعده يمكن أن تعمل في طورين مختلفين الأول هو بأن تستخدم القاعده لتخزين البيانات في التطبيق Embedded Database والطور الأخر وهو أنها يمكن أن تستخدم في طور Client/Server حيث تحمل القاعده في السيرفر الذي ينتظر الclients من اللإتصال لهذه الdata base .
Read more…