سلام
یه برنامه پیدا کردم که هر DLL که می خواستیم رو به به یک Process اینجکت می کرد ، حالا من می خوام بدونم مثلا یه DLL با VB6 نوشتیم و توسط اون برنامه DLL مون رو اینجکت کردیم حالا چه طوری از توابع و ... اون DLL استفاده کنیم ؟
در dll injection کدها رو به صورت تابع نمینویسن بلکه کدها رو در قسمت عمومی dll مینویسن تا بعد از load اون کدها اجرا بشه
خیلی ممنون که پاسخ دادید.
سلام میشه یه dll ساده قرار بدید مثلا وقتی اون Load شده ، یه پیغام ساده بده.
من خودم dll هر چی inject می کنم اتفاقی نمی افته.
ولی وقتی در یک پروژه vb6 اون dll رو اضافه می کنم ، همه چی درسته
تصویر رو ببینید
کدتونو بزارین برسی شه
(منم تا چند روز دیگه اگه بودم کد و مثال میزارم البته به دلفی)
من می خوام اون کد (منظورم پیغام هست) به محض inject نمایش داده بشه.
فایل رو ضمیمه کردم.
[
attachment=7510]
شما با برنامه Process Explore چک کنین ببینین ایا واقعا dll شما به پروسه هدف تزریق میشه یا نه
معمولا طول رشته که ادرس dll هست معمولا برابر length+1 هست که تو مازول شما length در نظر گرفته شده این قسمت رو تصحیح کنید
dll به درستی Inject میشه. (فکر کنم مشکل از dll هست که نوشتم)
اینم تصویری از Process Explore
اصلا شما یه dll ساده به زبان دلفی یا ... بزارید که مثلا وقتی inject شد یک پیغام ساده که داخل خود dll هست نمایش داده بشه
از دوستان هرکس زبان vb6 بلده ، لطفا دریغ نکنه

سلام.
تابع اصلی در dll تابع sub main نیست. این تابع برای ماژول هاست.
در dll از تابع Class_Initialize استفاده میشه.
کد:
Private Sub Class_Initialize()
MsgBox "Test1"
End Sub
Public Sub ForTest()
MsgBox "Test2"
End Sub
تابع Class_Initialize اولین باری که dll لود بشه اتوماتیک اجرا میشه.
اما من تست کردم. برای لود شدن dll باید یه تابع ازش مثل ForTest صدا زده بشه. وگرنه تابع Class_Initialize هم اجرا نمیشه. حداقل تو vb6 که این جوریه.
اما شاید تو برنامه دیگه inject بشه تابع Class_Initialize اتوماتیک اجرا بشه.
خیلی ممنون از دوستان که پاسخ دادن.
اینم یک نمونه.
Inject DLL > Avira
راستی یک سوال دیگه ؟!
حالا من یک dll با زبان vb6 نوشتم و به یک برنامه Inject کردم.
حالا چه طوری توابع داخل class مثلا همین تابع ForTest که آقای Payman62 گفتند. ؟؟؟؟؟
سلام
خوب هستيد
براي اين كار شما بايد يك dll استاندارد بسازيد. كه عملا با وي بي 6 نميشه ( راه هست اما بهتر در موردش صحبت نشه چون در اكثر موافع باعث هنگ كردن سيستم مي شه )
بعد بايد اون dll اي كه اينجك كرديد رو توي برنامه بعد از لود تمامي فايل ها بصورت كد اسمبلي صداش بزنيد
اميدوارم كمك كنه
به اميد ديدار