PDA

View Full Version : راهنمایی ، برنامه را طوری نوشت که از حافظه های چون فلاش مموری پاک نشود



bazardeh
شنبه 03 فروردین 1392, 12:37 عصر
سلام دوستان

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

باید چجوری این کار رو انجام بدم با قفل نرم افزاری یا سخت افزاری یا کد نویسی و....

یه راهنمایی

پیشاپیش ممنون از راهنماییتون

barnamenevisjavan
شنبه 03 فروردین 1392, 12:40 عصر
برنامه winmend folderhiden یک برنامه رایگان هست که بصورت خیلی عالی پوشه در داخل هارد اکسترنال/فلش و.... رو مخفی میکنه و یک پوشه با اسم مشخصی توی اون هارد یا فلش تولید میکنه که به هیچ وجه قابل حذف و تغییر نیست و بصورت (مخفی) هستش و فقط با فرمت از بین میره ولی اگر برنامه رو دوباره باز کنید اون پوشه خودکار تولید میشه.

bazardeh
شنبه 03 فروردین 1392, 12:51 عصر
برنامه winmend folderhiden یک برنامه رایگان هست که بصورت خیلی عالی پوشه در داخل هارد اکسترنال/فلش و.... رو مخفی میکنه و یک پوشه با اسم مشخصی توی اون هارد یا فلش تولید میکنه که به هیچ وجه قابل حذف و تغییر نیست و بصورت (مخفی) هستش و فقط با فرمت از بین میره ولی اگر برنامه رو دوباره باز کنید اون پوشه خودکار تولید میشه.

سلام دوست من

برنامه exe در این حالت اجرا میشه

bazardeh
شنبه 03 فروردین 1392, 17:10 عصر
دوستان عزیز

اگر اطلاعاتی در این موضوع دارین یک راهنمایی انجام بدید

FastCode
شنبه 03 فروردین 1392, 19:15 عصر
راه هایی شبیه چیزی که پیشنهاد شد زیاده.
ولی همشون روی هم حریف هیچ کدام از این لیست نمیشن:
darik`s dban
AT&T bell laboratories dd
gnu parted
dos kill
linux/unix(POSIX) rm -f
hp format tool
و خیلی ها دیگه.

joker
یک شنبه 04 فروردین 1392, 00:09 صبح
نشدنیه.
شما هرچیزی به صورت نرم افزاری داشته باشی روی هر دیوایس استانداردی مثل فلش مموری یا هارد دیسک. قابل ویرایش و حذف شدن هست.
این خاصیته ذاتیه.
دقیقتر بگو نیازت چیه تا یه راه حل دیگه برای موردی که داری شاید پیدا بشه کرد...

bazardeh
یک شنبه 04 فروردین 1392, 01:05 صبح
نشدنیه.
شما هرچیزی به صورت نرم افزاری داشته باشی روی هر دیوایس استانداردی مثل فلش مموری یا هارد دیسک. قابل ویرایش و حذف شدن هست.
این خاصیته ذاتیه.
دقیقتر بگو نیازت چیه تا یه راه حل دیگه برای موردی که داری شاید پیدا بشه کرد...

خیلی ممنون از دلگرمی تون جناب joker اصل موضوع اینه

استاد گرامی مون برای درس برنامه سازی سیستم یه پروژه به ما داد با این موضوع

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

شدنیه یه راهنمایی بکنید که روی کدوم قسمت ها باید کار کنم :متفکر:

با تشکر از راهنمایی تمام دوستان عزیزم

FastCode
یک شنبه 04 فروردین 1392, 01:29 صبح
من عین متن جناب جوکر رو قبلا برای یک سوال مشابه شما نوشتم.و دقیقا همین بازخورد رو گرفتم.

باید با استادتون صحبت کنم.

bazardeh
یک شنبه 04 فروردین 1392, 01:37 صبح
من باید با استادتون صحبت کنم.

دستت درد نکنه

کاری می تونم انجام بده در کدوم زمینه ها تحقیق کنم

joker
یک شنبه 04 فروردین 1392, 11:38 صبح
فايلها و دايركتوريها 4تا خاصيت عمومي دارند
Readonly
Hidden
Archive
system

در مود كاربر معمولي وقتي يك فايل را هر4 خاصيت فوق را بهش بدي معمولا كاربر نميتونه فايل را ديليت يا ويرايش كنه ( و اگر هم folder option ويندوزش در حالت معمولي باشه اصلا فايل را ديگه نميبينه )
البته همين ديليت نشدن هم بستگي به ويندوزش داره ، در نسخه هاي قديمي اين حالت system جوابگو بود ولي در جديدترها رسما بود و نبودش فرقي نميكنه و هر بلائي سر فايل ميشه آورد.
كامند اين عمليات فايل attrib.exe هست
attrib +a +r+s +h file.ext
و براي حذف اين خاصيت ها هم به جاي + بايد - بزاري
اين در مد كاربر معمولي
ولي آنتي ويروسها معمولا گير اين چيزها نيستند و نيت كنن ، فايل را پاك ميكنن ديگه ، در مورد آنتي ويروسها چيزي به ذهنم نميرسه كه جوابگو باشه :)
اما بعضي ويروسها هستند كه شايد ديده باشي يك فولد به اسم autorun.inf ميسازن كه در حالت معمولي ( ويندوزهاي سري xp قابل ديليت شدن نيستند )
اگه مدل ويندوز مد نظر استادتون را بگي تا بيشتر ادامه بديم و الا روي ويندوزهاي 7 و بالاتر همه اينها كه قراره بنويسيم كشكه پس ننويسيم سنگين تره :)

FastCode
یک شنبه 04 فروردین 1392, 12:19 عصر
توی XP هم راه هست ولی سخته و ممکنه جواب نده.
شاید کاربر "عادی" نتونه ولی یک مقدار برنامه نویسی یا ابزار خوب کافیه.
یک راه اینه که مثلا میتونی CreateProcess رو hook کنی که هیچ برنامه ای تا پایان کار باز نشه و همه برنامه هایی که اون فایل رو باز کردن رو ببندی و فایل رو خیلی راحت پاک کنی.بدون kernel mode.
مشکل این روش اینه که قابل پیش بینی هست و میشه جلوش روگرفت.

جواب سوالتون خیلی بستگی به این داره که برنامه ای به شکل Active از فایل محافظت میکنه یا نه.

البته فراموش کردم بگم که کلا اگر بتونی کاری هم انجام بدی C# نمیتونه کمک زیاده بکنه.

RED-C0DE
یک شنبه 04 فروردین 1392, 12:28 عصر
این موضوعات واقعا جذذذذذابه!
چون هیچ شرط و شروط خاصی تعیین نکرده استادتون، شما هرکاری ک دلت بخواد پس می تونی بکنی برای رسیدن ب این منظور

برای روشی ک من می خوام بگم
چنتا فرض در ابتدا می کنیم:
اتوران روی سیستم مورد نظر باید فعال باشه..
البته هنوز هم اگه کاربر روی فلش درایو دابل کلیک کنه بصورت اتوران اجرا می شه و کار مورد نظر ما رخ می ده خوشبختانه!
فرض کن ک می خوایم زیربنای ی برنامه مخرب رو بنویسیم..جدا از عملکرد مخرب اون برنامه ها ، باید بتونی برنامه رو زنده و مقیم در حافظه نگه داری...

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

RED-C0DE
یک شنبه 04 فروردین 1392, 12:43 عصر
پس ی کاری ک می تونی بکنی اینه ک برنامه رو بعد از متصل شدن usb flash drive ب سیستم ، اجرا کنی و برنامه در حافظه در حال اجرا بمونه بصورت مخفیانه ...
یجورایی عملکرد خود کرمها رو شبیه سازی کن،‌اینجوری اگه برنامت در حال اجرا باشه، پاک نمی شه کردش مگه اینکه اول پروسش بسته بشه..ک اینم باز راه داره...

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

برای مخفی بودن فایل برنامه هم همونطور ک گفتن از دستور attrib بصورت زیر استفاده می تونی بکنی:

attrib <FILENAME> +h +s +r
تغییرات ظاهری دیگه هم مثل عوض کردن آیکون و اینجور مسائل رو هم می تونی انجام بدی...
نحوه نوشتن فایل اتوران رو هم باید بدونی دقیقا چی ب چیه


در نهایت و خیلی ساده، شما فلش رو ک بزنین ب سیستم، توسط اتوران و قابلیت اتوران ویندوز، برنامه اجرا می شه بصورت مخفی (بدون هیچ پنجره ای) ،و بلافاصله در N مکان دیگه کپی و از اونجاها هم اجرا می شه. مثلا مکانهای ما می شه:

حافظه فلش مموری\myFileName1.exe
%windir%\system32\myFileName2.exe
%AppData%\microsoft\myFileName3.exe

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

جزییات این روش قابل بحثه هنوز ک هرجور صلاح دیدین بررسیش کنیم...

danialafshari
یک شنبه 04 فروردین 1392, 17:10 عصر
سلام دوست عزیز
آنتی ویروس پاکش نکنه مگه می خوای ویروس بسازی؟
علاوه بر توضیحات دوستان
1-برنامه ای که در حال اجرا باشه پاک نمیشه
2-در پوشه اسامی غیر مجاز باشد، مثلا پوشه ای با نام zhengbo.. یا فایل
اگر چنین چیزی پیاده سازی کنید شاید بشود کاری کرد...
موفق باشی

bazardeh
سه شنبه 06 فروردین 1392, 00:01 صبح
پس ی کاری ک می تونی بکنی اینه ک برنامه رو بعد از متصل شدن usb flash drive ب سیستم ، اجرا کنی و برنامه در حافظه در حال اجرا بمونه بصورت مخفیانه ...
یجورایی عملکرد خود کرمها رو شبیه سازی کن،‌اینجوری اگه برنامت در حال اجرا باشه، پاک نمی شه کردش مگه اینکه اول پروسش بسته بشه..ک اینم باز راه داره...

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

برای مخفی بودن فایل برنامه هم همونطور ک گفتن از دستور attrib بصورت زیر استفاده می تونی بکنی:

attrib <FILENAME> +h +s +r
تغییرات ظاهری دیگه هم مثل عوض کردن آیکون و اینجور مسائل رو هم می تونی انجام بدی...
نحوه نوشتن فایل اتوران رو هم باید بدونی دقیقا چی ب چیه


در نهایت و خیلی ساده، شما فلش رو ک بزنین ب سیستم، توسط اتوران و قابلیت اتوران ویندوز، برنامه اجرا می شه بصورت مخفی (بدون هیچ پنجره ای) ،و بلافاصله در N مکان دیگه کپی و از اونجاها هم اجرا می شه. مثلا مکانهای ما می شه:

حافظه فلش مموری\myFileName1.exe
%windir%\system32\myFileName2.exe
%AppData%\microsoft\myFileName3.exe

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

جزییات این روش قابل بحثه هنوز ک هرجور صلاح دیدین بررسیش کنیم...

توضیحات بسیار کامل بود از شما تشکر می کنم
اما برنامه من مفید و کاربری است و با این روش شما که درستده یک مشکل داره
1- اون اینه که فلش دیگه eject یا خروج نمیشه
2 - برنامه حتما یک بار باید اجرا بشه با اتوران
راه دیگری برای نگه داشت یک برنامه اجرایی در روت یک حافظه مثل فلش نیست

با تشکر از دوستان

RED-C0DE
سه شنبه 06 فروردین 1392, 04:30 صبح
قبل از هر چیز همونطور ک گفتین ی برنامه ی اجرایی دارین.آیا قراره این برنامه ی اجرایی اجرا بشه اصلا؟ ب چ صورت قراره اجرا بشه؟ کاربر اجراش می کنه ؟ یا قراره بصورت اتوران اجرا بشه؟! آیا قرار نیست اصلا اجرا بشه؟ قضیه چیه دقیقا؟

---
کمی بیشتر مسئله رو بشکافین برامون اگه موافق باشید تا بشه بهتر در موردش صحبت کرد و ب راهکار رسید..چون چیزی ک شما ب اینصورت میخواین راه سرراستی نداره و می شه با یکسری از اینجور کارها ب جواب رسید..

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

bazardeh
سه شنبه 06 فروردین 1392, 10:27 صبح
قبل از هر چیز همونطور ک گفتین ی برنامه ی اجرایی دارین.آیا قراره این برنامه ی اجرایی اجرا بشه اصلا؟ ب چ صورت قراره اجرا بشه؟ کاربر اجراش می کنه ؟ یا قراره بصورت اتوران اجرا بشه؟! آیا قرار نیست اصلا اجرا بشه؟ قضیه چیه دقیقا؟

---
کمی بیشتر مسئله رو بشکافین برامون اگه موافق باشید تا بشه بهتر در موردش صحبت کرد و ب راهکار رسید..چون چیزی ک شما ب اینصورت میخواین راه سرراستی نداره و می شه با یکسری از اینجور کارها ب جواب رسید..

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

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