ویرگول
ورودثبت نام
Dark Line
Dark Line
خواندن ۱ دقیقه·۱ سال پیش

ساخت برنامه EveryOpen با پایتون

See
See


سلام به همگی، امروز اومدم با یه برنامه ی خاص. حتی ازش میشه توی تست نفوذ و اکسپلویت نویسی هم استفاده کرد. اول یه توضیح بدم که برنامه EveryOpen چیه؟

برنامه EveryOpen برنامه ایه که وقتی اجرا شد , کارهایی رو در سیستم انجام میده و تا وقتی کارش تموم نشده، اصلا بسته نمیشه. با هیچ روشی ( ... , kill, Ctrl+Z , Ctrl+C) یا حتی خاموش کردن سیستم نمیشه بستش.

برای پیاده سازی این برنامه به ماژول threading و uuid و signal نیاز داریم. توابع مورد نیاز: Signals و signal.

1- قطعه کد:

from signal import Signals, signal from uuid import uuid4 from threading import Thread captured_kills=[] def handler(self, hand, foot): print(&quotYou cannot stop me! XD&quot) kill=str(uuid4()).replace(&quot-&quot,&quot&quot) captured_kills.append(kill) print(&quotKill ID: &quot+kill) def work(): #Do your hacky work here # Code Place print(captured_kills) def capture(): for sig in Signals: signal(sig,handler) def main(): wt=Thread(target=work,daemon=1) ct=Thread(target=capture,daemon=1) wt.start() ct.start() if __name__==&quot__main__&quot: main()


2- توضیحات:

روش کار ما این است که تمام سیگنال هایی که به پروسس برنامه می آید را بگیریم و کنسل کنیم و به هرکدام برای شناسایی یک آیدی اختصاص دهیم. و به صورت دو ترد جداگانه کار اصلی و گرفتن سیگنال را انجام دهیم. تابع signal یک سیگنال را گرفته و هندل می کند. و کلاس Signals یک enum است که تمامی سیگنال ها را ذخیره کرده و ما با حلقه همه را میگیریم.

داخل تابع work به جای کامنت هایی که من نوشتم کار خود را انجام میدهیم.

تا پست بعدی، خداحافظ.

تست نفوذبرنامه نویسیامنیت
یک برنامه نویس ......
شاید از این پست‌ها خوشتان بیاید