ايران ويج

نسخه‌ی کامل: تو ضیح کامل dll injection
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان واساتید محترم
لطفا توضیح کاملی در مورد موضوع
dll injection
قرار بدهید
ودر صورت امکان یه آموزش به صورت فیلم یا PDF کامل قرار دهید
خیلی نیاز مبرم دارم
با تشکر
یا علی مدد
تو همین سایت بگردی هم تاپیک اموزشش و ... باید باشه
با سلام
کلا مبحث dll injection یه مبحث پیچیده ای نیست ، در کل یعنی اینکه یه پروسس رو کاری کنی که بیاد یه dll رو load کنه
که شما با فراخوانی api مربوطه یعنی CreateRemoteThread باید api مربوط به load کردن dll که همون LoadLibraryA هستش رو فراخونی کنی
اگر با ویژوال بیسیک کار کردی که یه نمونه سورس بهت بدم ؟
یا علی
باتشکر از شما
اگر لطف کنید ممنون میشم
ولی بازهم اگر امکانش هست یه آموزشی درست کنید
از ساخت یک DLLتا اینجکت کردنش
مثلا پسورد خواستن یه برنامه
با تشکر
یاعلی مدد
برای پسورد خواستن Static injection بهتره مگه اینکه یه لودر بنویسی که برنامه رو لود کنه

برای dll Injection شما باید تابع LoadLibraryرو تو پروسه مقصد اجرا کنی
این تابع 1 پارامتر داره که اون ادرس dll مورد نظر هست
شما باید با تابع virtualalloc به اندازه طول رشته ادرس dll تو پروسه مورد نظر فضای خالی ایجاد کنی نتیجه این تابع یک pointerبه مکان فضای خالی هست با استفاده از این pointer شما با WriteProcessMemory ادرس dll رو پروسه مقصد مینوسی حالا با استفاده از CreateRemoteTHread که یک ترد در پروسه مقصد ایجاد میکنه برای اجرای یک بلاک از کد
چون dll های اسناندارد ویندوز در یک بخش ثابت از پروسه ها لود میشن ادرس LoadLibrary تو پروسه شما به پروسه های دیگه یکی هست این ادرس رو پیدا میکنی + اونpointer که ادرس dll توش نوشته به CreateRemoteTHread پاس میدی تا اونو اجرا کنه

یک نمونه به دلفی
کد:
procedure InjectDll(PID: dword;  DLL: pChar);

var

  BytesWritten, hProcess, hThread, TID: Cardinal;

  Parameters: pointer;

  pThreadStartRoutine: Pointer;

begin

  hProcess := OpenProcess(PROCESS_ALL_ACCESS,  False,  PID);

  Parameters := VirtualAllocEx( hProcess, nil, Length(DLL)+1, MEM_COMMIT or MEM_RESERVE, PAGE_READWRITE);

  WriteProcessMemory(hProcess,Parameters,Pointer(DLL  ),Length(DLL)+1,BytesWritten);

  pThreadStartRoutine := GetProcAddress(GetModuleHandle('KERNEL32.DLL'), 'LoadLibraryA');

  hThread := CreateRemoteThread(hProcess,  nil,  0,  pThreadStartRoutine,  Parameters,  0,  TID);

  CloseHandle(hProcess);

end;
با تشکر از اساتید ودوستان
امکان درست کردن یک فیلم آموزشی نیست؟
باتشکر
یا علی
فیلم آموزشی از چی؟
از dll inject?
کد:
http://www.youtube.com/watch?v=-25H5LJSpLU
http://www.youtube.com/watch?v=IURwCM4PMKs
ممنون دوست عزیز
با کلی زحمت گرفتم
ولی من چیزی ازش دستگیرم نشد
شما خودتون دیدید؟
ممنون میشم اگر فیلمی اموزشی فارسی با توضیح کامل از ابتدا در آختیار طالبان علم قرار دهید
با تشکر
یا علی مدد
چیشو میخواهی متوجه بشی؟
(من اهل ساخت فیلم اموزشی نیستم :d)

http://www.iranled.com/forum/thread-6972.html
lord_viper عزیز
میدونم سرت شلوغه
ولی برای ما یه کاریش بکون
ممنون
با تشکر
یاعلی مدد