عندما تقوم بعمل خلفية (صورة) للفورم فأنك سوف تواجهه صعوبه في التحكم بالفورم وظهور وميض ابيض في كل من وقت التصميم و وقت التنفيذ
ولكي تقوم بحل المشكلة اليك الطرق التالية :
في الطريقة الاولى يتم حل المشكلة في وقت التنفيذ يعني عندما تنفذ البرنامج وذلك من خلال الخاصية DoubleBuffered
public Form2()
{
InitializeComponent();
DoubleBuffered = true;
}
الطريقة الثانية تحل المشكلة في كلتا الحالتين في وقت التصميم و التنفيذ
وذلك من خلال عمل كلاس يورث من الكلاس Panel كما يلي
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Resize_Form
{
class BackgroundPanel:Panel
{
public BackgroundPanel():base()
{
this.DoubleBuffered = true;
}
}
}
الان تقوم بإضافة اداة BackgroundPanel الى الفورم وتقوم بعمل الخصائص التالية
Dock = Fill
بعد ذلك تقوم بتحديد الصورة
BackgroundImage =
ولكي تقوم بحل المشكلة اليك الطرق التالية :
في الطريقة الاولى يتم حل المشكلة في وقت التنفيذ يعني عندما تنفذ البرنامج وذلك من خلال الخاصية DoubleBuffered
public Form2()
{
InitializeComponent();
DoubleBuffered = true;
}
الطريقة الثانية تحل المشكلة في كلتا الحالتين في وقت التصميم و التنفيذ
وذلك من خلال عمل كلاس يورث من الكلاس Panel كما يلي
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Resize_Form
{
class BackgroundPanel:Panel
{
public BackgroundPanel():base()
{
this.DoubleBuffered = true;
}
}
}
الان تقوم بإضافة اداة BackgroundPanel الى الفورم وتقوم بعمل الخصائص التالية
Dock = Fill
بعد ذلك تقوم بتحديد الصورة
BackgroundImage =
السلام عليكم
اعتذر على عدم إكمال بقية المواضيع بالأمس وذلك بسبب انقطاع الشبكة 😄
اليوم سنقوم بشرح الموضوع الثاني لنبدأ.
كيف تضيف خاصية جديدة او ميزة الى أداة من الأدوات
طبعاً الميزة او الخاصية الجديدة التي تريد ان تضيفها الى أداة تعتمد على تفكيرك فمثلاً
انا خطرت فكرة اني اعمل ميزة للازرار التي في الفورم ميزة انو عندما يكون مؤشر الماوس فوق الزر تتغير الايقونة وعندما يغادر مؤشر الماوس من الزر تعود الايقونة الى الايقونة السابقة
لنفرض ان معك في الفورم 4 او 5 او حتى 10 ازرار فإنك حتماً ستحتاج لكل زر دالتين دالة للحدث MouseHover ودالة للحدث mouseLeave
كود :
public Form5()
{
InitializeComponent();
}
private void button2_MouseHover(object sender, EventArgs e)
{
button2.Image = Image.FromFile(@"C:\Users\HASSAN_2\Desktop\Icon\eee.png");
}
private void button2_MouseLeave(object sender, EventArgs e)
{
button2.Image = Image.FromFile(@"C:\Users\HASSAN_2\Desktop\Icon\bb.png");
}
هل لاحظت المثال السابق سوف تقوم بتكرار نفس العملية لجميع الازرار
طريقة مملة صحيح اذاً لنبدأ بالطريقة الاحترافية
الأمثلة السابقة فقط لتوضيح الفكرة
كيف تعمل الطريقة الاحترافية
الفكرة هي انك تقوم بعمل كلاس وتقوم بالوراثة من الكلاس Button
ثم تقوم بتعريف متغيرين من نوع Image ولكل متغير خاصية get و set
ثم تقوم بإستنساخ الدوال الوهمية التالية
OnMouseHover
OnMouseLeave
ملاحظة لمن لايعرف ماذا يعني دالة ناسخة override او وهمية virtual يراجع معلوماته في الأساسيات (البرمجة الشيئية)
الكود كامل :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing;
namespace Resize_Form
{
class CustomButton:Button
{
Image normalImage;
Image hoverImage;
public Image NormalImage
{
get
{
return normalImage;
}
set
{
normalImage = value;
Image = normalImage;
}
}
public Image HoverImage
{
get
{
return hoverImage;
}
set
{
hoverImage = value;
}
}
protected override void OnMouseHover(EventArgs e)
{
Image = hoverImage;
base.OnMouseHover(e);
}
protected override void OnMouseLeave(EventArgs e)
{
Image = normalImage;
base.OnMouseLeave(e);
}
}
}
اعتذر على عدم إكمال بقية المواضيع بالأمس وذلك بسبب انقطاع الشبكة 😄
اليوم سنقوم بشرح الموضوع الثاني لنبدأ.
كيف تضيف خاصية جديدة او ميزة الى أداة من الأدوات
طبعاً الميزة او الخاصية الجديدة التي تريد ان تضيفها الى أداة تعتمد على تفكيرك فمثلاً
انا خطرت فكرة اني اعمل ميزة للازرار التي في الفورم ميزة انو عندما يكون مؤشر الماوس فوق الزر تتغير الايقونة وعندما يغادر مؤشر الماوس من الزر تعود الايقونة الى الايقونة السابقة
لنفرض ان معك في الفورم 4 او 5 او حتى 10 ازرار فإنك حتماً ستحتاج لكل زر دالتين دالة للحدث MouseHover ودالة للحدث mouseLeave
كود :
public Form5()
{
InitializeComponent();
}
private void button2_MouseHover(object sender, EventArgs e)
{
button2.Image = Image.FromFile(@"C:\Users\HASSAN_2\Desktop\Icon\eee.png");
}
private void button2_MouseLeave(object sender, EventArgs e)
{
button2.Image = Image.FromFile(@"C:\Users\HASSAN_2\Desktop\Icon\bb.png");
}
هل لاحظت المثال السابق سوف تقوم بتكرار نفس العملية لجميع الازرار
طريقة مملة صحيح اذاً لنبدأ بالطريقة الاحترافية
الأمثلة السابقة فقط لتوضيح الفكرة
كيف تعمل الطريقة الاحترافية
الفكرة هي انك تقوم بعمل كلاس وتقوم بالوراثة من الكلاس Button
ثم تقوم بتعريف متغيرين من نوع Image ولكل متغير خاصية get و set
ثم تقوم بإستنساخ الدوال الوهمية التالية
OnMouseHover
OnMouseLeave
ملاحظة لمن لايعرف ماذا يعني دالة ناسخة override او وهمية virtual يراجع معلوماته في الأساسيات (البرمجة الشيئية)
الكود كامل :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing;
namespace Resize_Form
{
class CustomButton:Button
{
Image normalImage;
Image hoverImage;
public Image NormalImage
{
get
{
return normalImage;
}
set
{
normalImage = value;
Image = normalImage;
}
}
public Image HoverImage
{
get
{
return hoverImage;
}
set
{
hoverImage = value;
}
}
protected override void OnMouseHover(EventArgs e)
{
Image = hoverImage;
base.OnMouseHover(e);
}
protected override void OnMouseLeave(EventArgs e)
{
Image = normalImage;
base.OnMouseLeave(e);
}
}
}
مارئيكم نغير اسلوب القناة في طرح المواضيع
بمعنى يتم إرسال الكود وايش وظيفة الكود او نرسل الكود مع الشرح
صوت حسب رغبتك
بمعنى يتم إرسال الكود وايش وظيفة الكود او نرسل الكود مع الشرح
صوت حسب رغبتك
Final Results
7%
اكواد بدون شرح
93%
اكواد مع الشرح
السلام عليكم
ايهما افضل في عرض المواضيع في القناة ؟؟
ايهما افضل في عرض المواضيع في القناة ؟؟
Anonymous Poll
68%
طريقة الاستعراض الفوري
32%
الطريقة العادية
السلام عليكم
الاخوة الاعضاء سيتم الغاء فكرة المجموعة و الاكتفاء بالطريقة التالية
اي عضو لديه مشكلة يتم إرسال رساله بالمشكلة الى البوت
بعد ان يتم استلام الرسالة من قبل احد المشرفين سوف يتم إرسالها الى القناة
مع إمكانية بقية الاعضاء من الدخول الى التعليقات والمساهمة في حل المشكلة
سلام 👋🏻
الاخوة الاعضاء سيتم الغاء فكرة المجموعة و الاكتفاء بالطريقة التالية
اي عضو لديه مشكلة يتم إرسال رساله بالمشكلة الى البوت
بعد ان يتم استلام الرسالة من قبل احد المشرفين سوف يتم إرسالها الى القناة
مع إمكانية بقية الاعضاء من الدخول الى التعليقات والمساهمة في حل المشكلة
سلام 👋🏻
This media is not supported in your browser
VIEW IN TELEGRAM
فيديو عن المشروع
لعبة من سيربح المليون بلغة السي شارب
المشروع سيتم نشره لاحقاً
لعبة من سيربح المليون بلغة السي شارب
المشروع سيتم نشره لاحقاً
مما لاشك فيه انه في عالم إختبار الإختراق نسمع بهذاين المصطلحين كثيراً Brute Force و Dictionary Attack.
الموضوع بسيط جدا ولكنه يسبب الحيرة في بعض الاوقات فكثيراً ما رأيت مواضيع عنوانها Brute Force وهي في الواقع Dictionary Attack.
الأسلوبان يستخدمان لتخمين كلمة السر … ولكن كل أسلوب مختلف تماماً عن الاخر.
أولاً : هجمات Dictionary Attack
بعد أن عرفنا ان كلا الاسلوبين عبارة عن تخمين فكيف يخمن هذا الاسلوب من اساليب تخمين كلمات السر ؟!
في اسلوب القاموس فإن الاداة التي نستخدمها تقوم بتجربة كل الكلمات الموجودة في ملف نحن نفوم بتحديدها له تقوم بتجربتها كلمة كلمة , فاذا لم تتواجد كلمة السر الصحيحة في قائمة الكلمات فان هجومك قد فشل … حتى إذا كان ان كلمة المرور الصحيحة موجودة في القائمة ولكن يختلف في ترتيب الكلمات أو حتى يوجد حرف زائد او ناقص.
مثال : كلمة السر هي L0ve
ويوجد لدينا في قائمة الكلمات كلمة Love , فان الهجوم سيفشل بسبب إختلاف حرف.
ولكن ميزة هذا الهجوم انه سريع ويفيد في بعض الحالات اذا كنت قد قمت ببعض الهندسة الاجتماعية وحددت القائمة الخاصة بك او اذا كنت تعرف طول كلمة السر واذا كانت ارقام ام حروف فيمكنك حينها ان تقوم بعمل القائمة الخاصة بك
عيوبه :
كما قلنا محصور على عدد الكلمات الموجودة في الملف
ثانياً : هجمات Brute Force
BruteForceAttack
في هذا الاسلوب الأداة تقوم بتجربة كل تركيبة ممكنة ….. ماذا تعني بتركيبة ممكنة ؟!
أي مثل هذه التركيبة :
123
321
312
132
وهكذا سوف يجرب كل حرف مع كل حرف أخر وكل رقم مع كل رقم اخر وكل رقم مع كل حرف وحتي سيقوم بتجربة الرموز مع الحروف والارقام , فاذا كانت كلمة المرور مكونة من 7 خانات من الحروف فقط كلها capital او small فهذا سيلزمه 267 محاولة.
فطبقاً لـ Red Data Security , باستخدام اداة oracle على جهاز 3GHz Pentium 4 processor سوف:
يتم حساب تركيبة مكونة من 5 ascii character في 10 ثواني
(26^5)
يتم حساب تركيبة مكونة من 6 ascii character في 5 دقائق
(26^6)
يتم حساب تركيبة مكونة من 7 ascii character في ساعتين
(26^7)
يتم حساب تركيبة مكونة من 8 ascii character في يومين
26^8
يتم حساب تركيبة مكونة من 10 ascii character في اربع سنين
(26^10)
فبكل تأكيد سوف يتم إيجاد كلمة المرور مهما كانت صعوبتها … ولكن حينها يمكن أن تكون مت او حتي توقف الموقع واغلق السيرفر ومات صاحب الموقع وهو مازال يجرب كل تركيبة …. !!!
فعيب هذا الاسلوب انه ياخذ وقت طويل جداً
الموضوع بسيط جدا ولكنه يسبب الحيرة في بعض الاوقات فكثيراً ما رأيت مواضيع عنوانها Brute Force وهي في الواقع Dictionary Attack.
الأسلوبان يستخدمان لتخمين كلمة السر … ولكن كل أسلوب مختلف تماماً عن الاخر.
أولاً : هجمات Dictionary Attack
بعد أن عرفنا ان كلا الاسلوبين عبارة عن تخمين فكيف يخمن هذا الاسلوب من اساليب تخمين كلمات السر ؟!
في اسلوب القاموس فإن الاداة التي نستخدمها تقوم بتجربة كل الكلمات الموجودة في ملف نحن نفوم بتحديدها له تقوم بتجربتها كلمة كلمة , فاذا لم تتواجد كلمة السر الصحيحة في قائمة الكلمات فان هجومك قد فشل … حتى إذا كان ان كلمة المرور الصحيحة موجودة في القائمة ولكن يختلف في ترتيب الكلمات أو حتى يوجد حرف زائد او ناقص.
مثال : كلمة السر هي L0ve
ويوجد لدينا في قائمة الكلمات كلمة Love , فان الهجوم سيفشل بسبب إختلاف حرف.
ولكن ميزة هذا الهجوم انه سريع ويفيد في بعض الحالات اذا كنت قد قمت ببعض الهندسة الاجتماعية وحددت القائمة الخاصة بك او اذا كنت تعرف طول كلمة السر واذا كانت ارقام ام حروف فيمكنك حينها ان تقوم بعمل القائمة الخاصة بك
عيوبه :
كما قلنا محصور على عدد الكلمات الموجودة في الملف
ثانياً : هجمات Brute Force
BruteForceAttack
في هذا الاسلوب الأداة تقوم بتجربة كل تركيبة ممكنة ….. ماذا تعني بتركيبة ممكنة ؟!
أي مثل هذه التركيبة :
123
321
312
132
وهكذا سوف يجرب كل حرف مع كل حرف أخر وكل رقم مع كل رقم اخر وكل رقم مع كل حرف وحتي سيقوم بتجربة الرموز مع الحروف والارقام , فاذا كانت كلمة المرور مكونة من 7 خانات من الحروف فقط كلها capital او small فهذا سيلزمه 267 محاولة.
فطبقاً لـ Red Data Security , باستخدام اداة oracle على جهاز 3GHz Pentium 4 processor سوف:
يتم حساب تركيبة مكونة من 5 ascii character في 10 ثواني
(26^5)
يتم حساب تركيبة مكونة من 6 ascii character في 5 دقائق
(26^6)
يتم حساب تركيبة مكونة من 7 ascii character في ساعتين
(26^7)
يتم حساب تركيبة مكونة من 8 ascii character في يومين
26^8
يتم حساب تركيبة مكونة من 10 ascii character في اربع سنين
(26^10)
فبكل تأكيد سوف يتم إيجاد كلمة المرور مهما كانت صعوبتها … ولكن حينها يمكن أن تكون مت او حتي توقف الموقع واغلق السيرفر ومات صاحب الموقع وهو مازال يجرب كل تركيبة …. !!!
فعيب هذا الاسلوب انه ياخذ وقت طويل جداً
Forwarded from URL Uploader
innosetup_6.0.5.exe
4 MB
برمجة تطبيقات الويندوز C# Programming
innosetup_6.0.5.exe
تطبيق لعمل تنصيب للمشروع الخاص بك
C#
C#
كمبايلر لغة السي شارب لاجهزة الاندرويد
Console Application
يمكنك من خلاله برمجة تطبيقات اندرويد
كل ما كان هاتفك ذو مواصفات عاليه البرنامج سيعمل بكل سلاسة دون تعليق او ابطاء الهاتف
لا يحتاج اتصال بالانترنت
👇👇
Console Application
يمكنك من خلاله برمجة تطبيقات اندرويد
كل ما كان هاتفك ذو مواصفات عاليه البرنامج سيعمل بكل سلاسة دون تعليق او ابطاء الهاتف
لا يحتاج اتصال بالانترنت
👇👇
Forwarded from URL Uploader
csharp.apk
183.1 MB
Forwarded from HASSAN~
راجع "C# Shell (C# Offline Compiler)"
https://play.google.com/store/apps/details?id=com.radinc.csharpshell
https://play.google.com/store/apps/details?id=com.radinc.csharpshell
Google Play
C# Shell .NET IDE - Apps on Google Play
Compile and learn C# on the go using the Mono CLR under Android