دریافت اطلاعات و مسیر فایل ها از clipboard
سلام دوستان یه چالشی واسم ایجاد شده که اپ انتقال داده و یا فایل خود ویندوز یا teracopy چطور کار میکنه؟
اگه دقت کرده باشین زمانی که یه فایلی رو انتخاب میکنیم یا کپی میکنیم اون فایل داخل clipboard ذخیره میشه و زمانی که کلید ctrl+v رو میزنیم اپ انتقال فایل ظاهر میشه و دیتا رو انتقال میده حالا سوال من اینه که چطور وقتی اپ لود نشده دیتا از clipboard گرفته میشه و یا اصلا چطور زمانی که ctrl+Vرو میزنیم اپ میاد بالا؟ اصلا همین واسم جالبه چطور این اتفاق میافته خواهش میکنم اگر کسی میدونه راهنمایی کنه ممنون
نقل قول: دریافت اطلاعات و مسیر فایل ها از clipboard
سلام دوست عزیز
ما در Scope کلی و در سطح سیستم عامل مبحثی داریم به نام Hooking یا همون Override کردن بعضی از مشخصه های سیستم عامل(که البته خود سیستم عامل معمولا این اجازه رو به ما میده نه اینکه ما به زور یا با حقه این کار رو کنیم).
مثل آنتی ویروس ها ، چطور قبل از اینکه به یک فایل Access بشه اون رو اسکن میکنه و اگر ویروس بود مثلا پاکش میکنه ؟ در واقع اون کلیه Access های فایل ها رو در سیستم عامل Hook میکنه واسه همینه که یه مقدار سیستم کند میشه.
شما میتونین در Global Scope سیستم عامل Hook تعریف کنین ، مثلا وقتی کلید F1 فشار داده شد سیستم عامل اول اونو به شما منتقل میکنه و بعد روی نرم افزاری که کلید F1 فشار داده شده،که تقریبا همه KeyLogger ها اینجوری کار میکنن.
برای Hooking در سطح سیستم عامل شما باید از API های ویندوز استفاده کنین.
شما میتونین Keyboard , Clipboard , Mouse و خیلی چیزای دیگه رو Monitor کنین.
این لینک به شما کمک بیشتری میکنه و نمونه کد جزئی هم در اختیارتون میذاره
امیدوارم توضیحات کامل بوده باشه.
نقل قول: دریافت اطلاعات و مسیر فایل ها از clipboard
سپاس فراوان بابت پاسخی که دادید حدسم درست بود ولی نمیدونستم چطوری باید این کارو انجام بدم راهنمایی به جایی بود فقط این بحث مانیتور کردن رو خیلی جاهای دیگه هم دیدم ولی مفهومش رو متوجه نشدم یعنی چی؟
نقل قول: دریافت اطلاعات و مسیر فایل ها از clipboard
یعنی شما در سطح سیستم عامل یک نگهبان یا قلاب (Hook) میذارین ، که هر کسی اگر مقلا خواست به یه فایل دسترسی داشته باشه یا یه کلید ترکیبی رو فشار بده اول Hook شما متوجه میشه بعد نرم افزار Host(نرم افزاری که اون رویداد توش واقعا اتفاق افتاده)
نقل قول: دریافت اطلاعات و مسیر فایل ها از clipboard
که اینطور ...یعنی hook میفهمه که مثلا کاربر الان کلید ctrl+cرو زده درسته؟ بعد از اینکه hook متوجه شد به برنامه چی میگیم؟ منظورم اینه که چه پارامتری ارسال میکنیم ؟ فقط میگیم کاربر ctrl+ cزده؟
نقل قول: دریافت اطلاعات و مسیر فایل ها از clipboard
بله درسته ، چون مدیریت همه اینا با سیستم عامل هستش و شما در سطح سیستم عامل و با اجازه خودش Hook زدین،
و اینکه بعدش چه اتفاقی باید بیفته بستگی به هدف نرم افزار شما داره ، ممکنه بگین اگر کسی CTRL + V رو فشار داد سیستم رو ShutDown کن !!!
نقل قول: دریافت اطلاعات و مسیر فایل ها از clipboard
صحیح بعد حالا این hook رو کجا باید بنویسم؟
نقل قول: دریافت اطلاعات و مسیر فایل ها از clipboard
با استفاده از Windows API در نرم افزار خودتون ، لینکی رو که ارسال کردم ببیید به چه شکلی از WinAPI برای Hook استفاده کرده ، البه این بسیار ساده و ابتداییه. در موارد کاربردی و صنعتی پیچیده تر از این حرفاست. ببینید دقیقا یه چیزی مثل رویداد هاست در سی شارپ با این تفاوت که در سطح سیستم عامل گوش به زنگ میشه ولی رویداد ها در سطح نرم افزار شما.
نقل قول: دریافت اطلاعات و مسیر فایل ها از clipboard
دیگه ابهامی نیست خیلی ممنون از کمکتون