Telegram Web Link
عندما تقوم بعمل خلفية (صورة) للفورم فأنك سوف تواجهه صعوبه في التحكم بالفورم وظهور وميض ابيض في كل من وقت التصميم و وقت التنفيذ

ولكي تقوم بحل المشكلة اليك الطرق التالية :

في الطريقة الاولى يتم حل المشكلة في وقت التنفيذ يعني عندما تنفذ البرنامج وذلك من خلال الخاصية 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);
}
}
}
مارئيكم نغير اسلوب القناة في طرح المواضيع
بمعنى يتم إرسال الكود وايش وظيفة الكود او نرسل الكود مع الشرح
صوت حسب رغبتك
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)
فبكل تأكيد سوف يتم إيجاد كلمة المرور مهما كانت صعوبتها … ولكن حينها يمكن أن تكون مت او حتي توقف الموقع واغلق السيرفر ومات صاحب الموقع وهو مازال يجرب كل تركيبة …. !!!

فعيب هذا الاسلوب انه ياخذ وقت طويل جداً
برمجة تطبيقات الويندوز C# Programming
innosetup_6.0.5.exe
تطبيق لعمل تنصيب للمشروع الخاص بك
C#
كمبايلر لغة السي شارب لاجهزة الاندرويد

Console Application


يمكنك من خلاله برمجة تطبيقات اندرويد

كل ما كان هاتفك ذو مواصفات عاليه البرنامج سيعمل بكل سلاسة دون تعليق او ابطاء الهاتف

لا يحتاج اتصال بالانترنت

👇👇
2025/07/01 11:07:42
Back to Top
HTML Embed Code: