امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Dll Service
نویسنده پیام
Mk750 آفلاین
تازه وارد

ارسال‌ها: 4
موضوع‌ها: 1
تاریخ عضویت: اردیبهشت ۱۳۹۱

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #1
Dll Service
سلام دوستان

میخوام یه سرویس رو به صورت Dll ران کنم با استفاده از svchost
کسی نمونه ای مثالی ؟ سرنخی برای سرچ کردن کردن ؟
نگید dll service یا ازین جور چیزا چون یه هفتس خودم دارم اینجور چیزارو سرچ میزنم

این dll ها باید کرنل مد نوشته شند ؟

خواهشا اگه مثالی چیزی دارید یا مقاله ای که کامل و واضح باشه دریغ نکنید

----
در ضمن بگم که من مشکلی تو نوشتن سرویس ندارم و این کاررو با Exe انجام دادم قبلا

پیشاپیش ممنون
(آخرین ویرایش در این ارسال: ۰۵-مرداد-۱۳۹۱, ۱۱:۳۹:۲۴، توسط Mk750.)
۰۵-مرداد-۱۳۹۱, ۱۱:۰۷:۴۷
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #2
RE: Dll Service
شما یک نمونه از این dll service ها بزار اینجا تا معلوم بشه چطور نسب میشه

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۰۷-مرداد-۱۳۹۱, ۰۷:۵۳:۲۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Mk750
Mk750 آفلاین
تازه وارد

ارسال‌ها: 4
موضوع‌ها: 1
تاریخ عضویت: اردیبهشت ۱۳۹۱

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #3
RE: Dll Service
ممنون دوست عزیز از پاسختون

مثلا یه نمونه wuaueng.dll هستش تو شاخه ی system32 که سرویس auto update ویندوز هستش

فقط جناب lord_viper تمام تلاشتون رو کنید تا امشب نتیجه ی تحقیقاتتون رو بمن برسونید :) ممنون میشم
۰۷-مرداد-۱۳۹۱, ۱۱:۰۱:۰۸
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #4
RE: Dll Service
جایی رو نت نمیگه این dll یک سرویس هست بلکه گفته میشه windows update این dll رو لود میکنه یعنی از توابع اون استفاده میکنه

موفق باشید

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۰۷-مرداد-۱۳۹۱, ۱۸:۳۲:۴۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Mk750
Mk750 آفلاین
تازه وارد

ارسال‌ها: 4
موضوع‌ها: 1
تاریخ عضویت: اردیبهشت ۱۳۹۱

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #5
RE: Dll Service
همین که پیگیر شدی و سرچ زدی ممنون عزیز از وقتت

اما اگه یه سری به رجیستری بزنیم ، اونجا معلوم میشه که به صورت سرویس اجرا میشه و با svchost

بازم دمت گرم

در ضمن با Dependency walker هم بازش کنیم یکی از تایع هاش servicemain هستش

موفق و موید باشید
(آخرین ویرایش در این ارسال: ۰۷-مرداد-۱۳۹۱, ۲۰:۵۴:۱۸، توسط Mk750.)
۰۷-مرداد-۱۳۹۱, ۲۰:۵۱:۱۳
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #6
RE: Dll Service
این یک نمونه کد البته به c++

کد:
__declspec(dllexport) VOID WINAPI ServiceMain(DWORD dwArgc, LPTSTR *lpszArgv);
__declspec(dllexport) DWORD WINAPI HandlerEx(DWORD dwControl, DWORD dwEventType, LPVOID lpEventData, LPVOID lpContext);

SERVICE_STATUS_HANDLE   hServiceStatusHandle;
SERVICE_STATUS          ServiceStatus;

const int nBufferSize = 500;
CHAR pServiceName[nBufferSize+1];
CRITICAL_SECTION        myCS;

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    return TRUE;
}


VOID WINAPI ServiceMain(DWORD dwArgc, LPTSTR *lpszArgv)
{
    strcpy(pServiceName,"NativeService");

    DWORD   status = 0;
    DWORD   specificError = 0xfffffff;

    ServiceStatus.dwServiceType        = SERVICE_WIN32_SHARE_PROCESS;
    ServiceStatus.dwCurrentState       = SERVICE_START_PENDING;
    ServiceStatus.dwControlsAccepted   = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN | SERVICE_ACCEPT_PAUSE_CONTINUE;
    ServiceStatus.dwWin32ExitCode      = 0;
    ServiceStatus.dwServiceSpecificExitCode = 0;
    ServiceStatus.dwCheckPoint         = 0;
    ServiceStatus.dwWaitHint           = 0;

    hServiceStatusHandle = RegisterServiceCtrlHandlerExA(pServiceName, HandlerEx, NULL);
    if (hServiceStatusHandle==0)
    {        
        return;
    }
  
    ServiceStatus.dwCurrentState       = SERVICE_RUNNING;
    ServiceStatus.dwCheckPoint         = 0;
    ServiceStatus.dwWaitHint           = 0;  

    SetServiceStatus(hServiceStatusHandle, &ServiceStatus);
}

DWORD WINAPI HandlerEx(
  DWORD dwControl,
  DWORD dwEventType,
  LPVOID lpEventData,
  LPVOID lpContext
)
{
    switch(dwControl)
    {
        case SERVICE_CONTROL_STOP:
        case SERVICE_CONTROL_SHUTDOWN:
            ServiceStatus.dwWin32ExitCode = 0;
            ServiceStatus.dwCurrentState  = SERVICE_STOPPED;
            ServiceStatus.dwCheckPoint    = 0;
            ServiceStatus.dwWaitHint      = 0;
            break;
        case SERVICE_CONTROL_PAUSE:
            ServiceStatus.dwCurrentState = SERVICE_PAUSED;
            break;
        case SERVICE_CONTROL_CONTINUE:
            ServiceStatus.dwCurrentState = SERVICE_RUNNING;
            break;
        case SERVICE_CONTROL_INTERROGATE:
            break;
        default:
            break;
    };

        SetServiceStatus(hServiceStatusHandle,  &ServiceStatus);

    return NO_ERROR;
}

و برای نصب اون هم در لینک زیر توضیحاتی داده شده
کد:
http://en.wikipedia.org/wiki/Svchost

حالا شما چرا میخواین به سروریس اون هم به صورت dll داشته باشین؟

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۰۹-مرداد-۱۳۹۱, ۰۷:۱۳:۳۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Mk750
Mk750 آفلاین
تازه وارد

ارسال‌ها: 4
موضوع‌ها: 1
تاریخ عضویت: اردیبهشت ۱۳۹۱

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #7
RE: Dll Service
سلام داداش دمت گرم :) تمام مشکلات من فک کنم از همین یک خط بود :دی

نمیدونم چرا به مغز نداشته ی خودم تاحالا خطور نکرده بود :))

فعلا این ارور برطرف شده به ی ارور دیگه برخوردم :دی

کد:
__declspec(dllexport) VOID WINAPI ServiceMain(DWORD dwArgc, LPTSTR *lpszArgv);

میشه گفت یه پروژه ی آموزشی ه که دارم بخاطر یادگیری کار با سرویس ها پیش میبرمش :) کار با exeها تموم شده بود باید با dllهاش ه به پایان میرسوندم :دی

بازم ممنون ، من برم اون یکی ارور رو ببینم میتونم حل کنم یا باید باز مزاحمت شم ، بازم مرسی
۱۰-مرداد-۱۳۹۱, ۰۵:۰۶:۱۴
ارسال‌ها
پاسخ


پرش به انجمن:


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

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