امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
دسترسی برنامه به خودش!
نویسنده پیام
arian_vc آفلاین
در حال پیشرفت
***

ارسال‌ها: 328
موضوع‌ها: 40
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 66
( 311 تشکر در 95 ارسال )
ارسال: #1
دسترسی برنامه به خودش!
سلام
ببخشید یه سوال دیگه ( c++ ویندوز و نه VC++ )

چه جوری برنامه میتونه به فایل اجرایی خودش دسترسی داشته باشه؟
بوسیله یه Handle یا بتونه اونو تویه بافر بریزه؟

کمک
به این هم قبل از عید احتیاج دارم!

I can not guarantee that information above is 100 % correct Read more
۲۷-اسفند-۱۳۸۵, ۱۲:۳۷:۴۰
وب سایت ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #2
RE: دسترسی برنامه به خودش!
وقتی توی ویندوز یه فایل رو باز می کنی ، ویندوز یه هندل به اون فایل رو بهت برمیگردونه !
بگو چیکار میخوای بکنی ؟؟

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۲۷-اسفند-۱۳۸۵, ۱۳:۳۳:۴۶
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
arian_vc آفلاین
در حال پیشرفت
***

ارسال‌ها: 328
موضوع‌ها: 40
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 66
( 311 تشکر در 95 ارسال )
ارسال: #3
RE: دسترسی برنامه به خودش!
میخام از خود فایل اجراییش کپی بگیرم ( وقت اجرا)
ولی نمیدونم هندل مربوط به فایل اجرایی خودش رو از کجا بیارم؟!
با GetModuleHandle میشه؟

I can not guarantee that information above is 100 % correct Read more
۲۸-اسفند-۱۳۸۵, ۰۹:۲۹:۲۸
وب سایت ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #4
RE: دسترسی برنامه به خودش!
با سلام و تبریک عید به ممد و آرین عزیز

با OpenFile اینکار رو بکن
۲۸-اسفند-۱۳۸۵, ۱۳:۰۶:۴۲
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #5
RE: دسترسی برنامه به خودش!
ها من حواسم نبود
من امتحان کردم می شه موقع اجرا کپی گرفت از فایل
نمی خواهد هندلش رو بدست بیاری
(آخرین ویرایش در این ارسال: ۲۸-اسفند-۱۳۸۵, ۱۳:۱۴:۱۳، توسط Iron_Fist.)
۲۸-اسفند-۱۳۸۵, ۱۳:۱۲:۴۲
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
arian_vc آفلاین
در حال پیشرفت
***

ارسال‌ها: 328
موضوع‌ها: 40
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 66
( 311 تشکر در 95 ارسال )
ارسال: #6
RE: دسترسی برنامه به خودش!
حالا چه جوری میشه؟
میشه بیشتر توضیح بدید؟

عید شما هم مبارک

I can not guarantee that information above is 100 % correct Read more
۲۸-اسفند-۱۳۸۵, ۱۸:۳۷:۵۱
وب سایت ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #7
RE: دسترسی برنامه به خودش!
بابا کپیش کن دیگه
با یه تابع کپی فایلی چیزی دیگه ( API )
تو خود هدر های سی ++ هم تابع کپی وجود داره من دیدم
ولی دقیقآ نمی دونم کجاش بود
۲۸-اسفند-۱۳۸۵, ۲۲:۱۸:۵۶
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
Programmer آفلاین
كاربر دو ستاره
**

ارسال‌ها: 79
موضوع‌ها: 4
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 2
( 23 تشکر در 9 ارسال )
ارسال: #8
RE: دسترسی برنامه به خودش!
Cool
برنامهء زیر مشکل شما را دوا می کند.
این برنامه خودش را در دایرکتوری System32 کپی می کند با یک نام جدید.
و به صورت مخفی شده اگر این برنامه را به کسی بدهید و طرف نام فایل Exe
را تغییر دهد باز هم بعد از اجرا می تواند از خودش کپی بگیرد.

کد:
#include <windows.h>
#include <windowsx.h>
#define NEW_FILE_NAME "\\XXX.exe"

INT WINAPI wWinMain(HINSTANCE, HINSTANCE, LPSTR, INT)
{
    CHAR l_strBuffer[256];
    GetSystemDirectory((LPSTR)l_strBuffer, sizeof(l_strBuffer));
    CHAR *l_strNewExecutable = strcat((LPSTR)l_strBuffer, NEW_FILE_NAME);
    CString l_strCurrentExecutable(GetCommandLine());
    l_strCurrentExecutable = l_strCurrentExecutable.Mid(1, l_strCurrentExecutable.GetLength() - 3);
    CopyFile(l_strCurrentExecutable, l_strNewExecutable, FALSE);
    SetFileAttributes(l_strNewExecutable, FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN);
    CString l_strWinDirectory(l_strBuffer);
    SECURITY_ATTRIBUTES l_secDirectoryAttrib;
    l_secDirectoryAttrib.bInheritHandle = TRUE;
    l_secDirectoryAttrib.lpSecurityDescriptor = NULL;
    l_secDirectoryAttrib.nLength = sizeof(l_secDirectoryAttrib);
    l_strWinDirectory = l_strWinDirectory.Left(l_strWinDirectory.GetLength() - 4);
    CreateDirectory(l_strWinDirectory, &l_secDirectoryAttrib);
    SetFileAttributes(l_strWinDirectory, FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN);

    return 0;
}

البته امیدوارم از این توانایی جالب برنامه سوء استفاده نکنید(ویروس ننویسید)!
موفق باشید!
۰۱-فروردین-۱۳۸۶, ۰۸:۵۸:۲۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
arian_vc آفلاین
در حال پیشرفت
***

ارسال‌ها: 328
موضوع‌ها: 40
تاریخ عضویت: مرداد ۱۳۸۵

تشکرها : 66
( 311 تشکر در 95 ارسال )
ارسال: #9
RE: دسترسی برنامه به خودش!
ممنون
خیلی خیلی خیلی ممنون
هدف من هم ویروس نیست!

I can not guarantee that information above is 100 % correct Read more
۰۶-فروردین-۱۳۸۶, ۱۲:۴۶:۴۷
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] کپی برنامه به بخش دیگر mirage0411 3 2,866 ۲۲-بهمن-۱۳۹۶, ۱۹:۵۵:۵۸
آخرین ارسال: babyy
Question درخواست برنامه ای به زبان ++C saeidengman 11 14,266 ۰۵-تير-۱۳۹۶, ۱۱:۴۷:۰۱
آخرین ارسال: alivolley
  برنامه شمارنده خاص به زبان ++C saidal 1 3,552 ۱۷-اسفند-۱۳۹۱, ۱۷:۲۰:۳۸
آخرین ارسال: Ghoghnus
Wink برنامه هافمن به زبان c++ setayesh20 3 10,610 ۳۱-مرداد-۱۳۹۱, ۲۱:۰۶:۲۹
آخرین ارسال: masterhe3ar
  برنامه به زبان سی MicrowaveCO 1 3,646 ۳۱-مرداد-۱۳۹۰, ۰۰:۰۷:۱۶
آخرین ارسال: norozi
  کتاب آموزش برنامه نویس به زبان ++C ali_1500max 1 5,404 ۲۰-فروردین-۱۳۹۰, ۲۱:۱۶:۰۵
آخرین ارسال: kasra.razi
Sad برنامه نویسی به زبان c sama_darya 1 3,717 ۰۹-آبان-۱۳۸۹, ۱۷:۳۷:۳۹
آخرین ارسال: mahbooob
  کمک فوری در نوشتن به برنامه saeid000 10 7,238 ۱۱-بهمن-۱۳۸۸, ۱۶:۳۴:۰۸
آخرین ارسال: saeid000
  برنامه به زبان C volantis71 0 2,314 ۰۱-بهمن-۱۳۸۸, ۲۰:۱۷:۱۱
آخرین ارسال: volantis71
  کمک کمک برنامه تبدیل Infix به prefix yones_shaban 1 4,870 ۱۶-تير-۱۳۸۸, ۲۲:۰۵:۳۲
آخرین ارسال: amirjan

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS