توی فکر این بودم چطور میشه از برنامه های پایتون که نوشتیم حفاظت کرد.
یعنی مثلا ممکنه روی سیستمی که دست دیگران هم بهش میرسه برنامهء شخصی خاصی رو گرچه بصورت موقت استفاده کنیم، اونوقت حتی اگر برنامه رو از روی سیستم پاک کنی ممکنه افراد دیگر با ابزارهای ریکاوری بهش دست پیدا کنن. بعضیا که واقعا دزد هستن و شنیدم برنامه هایی هست که روی سیستم نصب میکنن و بصورت خودکار و پنهان مثلا یکی حافظهء فلش که به سیستم بزنه فایلهاش رو جایی کپی میکنن!
یه فکری که کردم و فکر میکنم شدنیه اینه که برنامهء پایتون رو توسط الگوریتم AES و این حرفا رمز میکنم و یه پسورد قوی براش میذارم، بعد یه برنامهء استارتر کوچک مینویسم که اول موقع استفاده اون رو اجرا میکنیم، این برنامه پسورد رو میگیره و فایل رمز شده برنامهء اصلی رو رمزگشایی میکنه (در RAM)، محتویاتش رو میخونه و این محتویات رو به مفسر پایتون Pipe میکنه. به این شکل اصولا هیچ فایل سورس رمزگشایی شده ای روی هارد سیستم ذخیره نمیشه که بخوایم نگران ریکاوری و این حرفا باشیم. البته همچنان ممکنه برنامه فایلهای جانبی و داده های خاصی رو روی هارد ذخیره کنه.
البته آدم میتونه دستی با ابزارهایی که فایل رو بصورت غیرقابل بازگشت دلیت میکنن برنامه رو پاک کنه، ولی خب معلومه این روش محدودیت و مشکلات خودشو داره و نیاز به نصب برنامه هست و اینکه یادت نره و این حرفا، و جلوی بعضیا شاید نشه این کار رو انجام داد. من میخوام یه روش خودکار و با امنیت خوب باشه.
یه ایدهء دیگه که به ذهنم رسید اینه که برنامه محتویات رمزگشایی شده رو روی هارد کامپیوتر ذخیره و از اونجا اجرا میکنه، ولی در پایان کار یا با فاصلهء زمانی خاصی که برنامه بصورت خودکار قفل میشه (و نیاز به وارد کردن مجدد پسورد داره) میاد و دایرکتوری ای رو که فایلهای برنامه رو درش اکسترکت کرده میخونه و تمام فایلهایی رو که اونجا پیدا میکنه با داده های تصادفی Overwrite میکنه (نکته اینکه اول سایز هر فایل رو بخونه و دقیقا به همون میزان درش بایت های تصادفی بنویسه). البته این روش بنظرم امنیتش کمتره، ولی میشه جایی که به هر علتی نیاز هست و همچنین در ترکیب با روش قبلی بکار برد و مثلا باهاش فایلهای داده ای برنامه رو هم پاک کرد.