PDA

View Full Version : برنامه ای برای جلوگیری از اجرای بقیه برنامه ها



aminbrleevb
پنج شنبه 17 بهمن 1387, 14:20 عصر
با سلام
بچه ها من برنامه ای می خوام تا بتونم با اون برنامه از اجری بعضی از برنامه ها جلوگیری کنم
منظورم اینه که مثلا من می خوام که وقتی برنامه من اجرا میشه مثلا برا تعریف کنم که مثلا فایل amin.exe اجرا نشه
اگه راهی داره بگید
در اصل یه بلاک می خوام
با تشکر

xxxxx_xxxxx
پنج شنبه 17 بهمن 1387, 19:50 عصر
اگه مي خوايد با VB اين كارو انجام بديد كه فكر كنم تنها راهش اين باشه هر چند ثانيه ليست پروسس ها رو چك كنيد. يعني شما يعد از اجرا شدن اون برنامه متوجهش ميشيد.
اگر مي خواييد قبل از اين كه دستورات اون برنامه اجرا بشن شما متوجه بشيد مي بايست برنامه شما يه سطح پايين تر از برنامه هاي كاربردي باشه.(shell يا Device Drivers يا Kernel) كه با VB نميشه برنامه اي در اين سطوح نوشت.

موفق باشيد/

aminbrleevb
یک شنبه 20 بهمن 1387, 08:42 صبح
با تشکر از ما دوست عزیز میشه بگید که راه چاره چیست

xxxxx_xxxxx
یک شنبه 20 بهمن 1387, 10:42 صبح
گفتم ديگه؛ اگه مي خوايد با VB اين كارو انجام بديد كه گفتم، اگر هم بخوايد خيلي دقيق و حرفه اي اين كارو بكنيد بايد بريد سراغ زبان هاي ديگه.
با هوك كردن توابع API هم ميشه اين كارو بكنيد.
اما تجربه كاربران نشون ميده كه هوك كردن توابع API براي كنترل اين موضوع با عكس العمل آنتي ويروس ها مقابل ميشه، باز هم به خاطر اجرا شدن برنامه در سطح كاربر.

موفق باشيد/

meys34
یک شنبه 20 بهمن 1387, 11:37 صبح
يكي از دوستانم همچين برنامه اي از من خواست، من هم با توجه به نياز ايشون يه برنامه براش نوشتم كه براتون آپ كردم تا شايد بتونيد از اين تكنيك براي رسيدن به هدفتون استفاده كنيد.:لبخند:

درباره برنامه هم بايد بگم كه فايل هاي EXE دو كاراكتر اولشون MZ هستش اين برنامه اين كاراكتر ها رو به mz تبديل ميكنه و به همين راحتي ديگه اون فايل EXE اجرا نميشه :کف:

xxxxx_xxxxx
یک شنبه 20 بهمن 1387, 12:38 عصر
سلام. برنامه جالبي بود با ايده جالبي.
فقط چقدر API استفاده كرده بوديد ميشد با دستورات خود VB هم اين كارو كرد. با اين حال API مطمئن تره.
يه سوال؛ FlushFileBuffers براي خالي كردن بافره؟ يعني bContent رو خالي مي كنه؟

meys34
یک شنبه 20 بهمن 1387, 13:00 عصر
حق با شماست دستورات VB ساده تر هست.

اما جواب سوالتون: شما وقتي از تابع WriteFile استفاده ميكنيد فايل ها مستقيما روي هارد نوشته نميشه و ميره توي بافر:متعجب: شما با تابع FlushFileBuffers اون بافر رو خالي ميكنيد.:لبخند:

براي خالي كردن bContent هم وقتي كار تون باهاش تموم شد از دستور

ReDim bContent(0)
استفاده كنيد.