PDA

View Full Version : DLL



lukaskain
دوشنبه 12 دی 1390, 17:44 عصر
سلام به همه عزیزان
یک سوال در مورد DLL فایل ها دارم
آیا در برنامه نویسی DLL و نوشتن یک تابع می توان از دستوری استفاده کرد که در یک حلقه ادامه اجرای DLL بسته شود؟
امیدوارم به موضوع مربوط باشد
ارادت به همه برنامه نویسان

lukaskain
دوشنبه 12 دی 1390, 23:02 عصر
ببینید در فایل EXE شما می توانید در وسط اجرای کد های از دستوراتی مانند بستن برنامه یا جلوگیری از ادامه تریس بنویسید ، سوال من این هست آیا در DLL می توان چنین کرد با توجه به این که در این نوع فایل PE مدخل خروجی یا return الزامیست

r00tkit
سه شنبه 13 دی 1390, 08:58 صبح
هر ! کاری دلت بخواد می تونی انجام بدی

lukaskain
سه شنبه 13 دی 1390, 14:52 عصر
میشه بیشتر توضیح بدین
زمانی که DLL توسط یک برنامه دیگر فراخوانی می شود باید یک خروجی return داشته باشد

lukaskain
چهارشنبه 14 دی 1390, 07:28 صبح
عزیزان مشخص بفرمایید آیا یک برنامه اجرایی می تواند یک DLL را بدون دریافت return فراخوانی نماید؟

lukaskain
چهارشنبه 14 دی 1390, 12:03 عصر
از جواب دقیق و تخصصی شما خیلی سپاسگزارم
من دقیقاً می خواهم بدانم که آیا در DLL می توان تابعی را توسط یک فایل EXE فراخوانی کرد در حالی که آن تایع برای برنامه return نفرستد؟

lukaskain
پنج شنبه 15 دی 1390, 18:56 عصر
با سپاس از پاسخ شما
من اگر بتونم DLL را Hijacking کنم می تونم این کار را انجام بدم

در واقع اینطور بگم "آیا می توانم یک DLL بنویسم که فقط یک تابع را اجرا کند و return نداشته باشد؟ در این صورت در فایل exe چطور باید call بشه؟"
برعکس موضوعی هست که شما پاسخ دادین

r00tkit
پنج شنبه 15 دی 1390, 21:28 عصر
من دقیقاً می خواهم بدانم که آیا در DLL می توان تابعی را توسط یک فایل EXE فراخوانی کرد در حالی که آن تایع برای برنامه return نفرستد؟
دوستم من دقیقا به چه هدفی این کار رو می خوای بکنی ؟
یکی از تکنیک های ویروس Confiker این بود که تابع DllMainاش هیچ موقع به return نمی رسید پس تو لیست ماژول های لود شده هم قرار نمی گرفت ، با این روش مخفی می شد


unlike well-behaved DLLs, the
Conficker DLL initialization function never returns. Hence,
it is not added to the DLL list of the process.


الان وقت ندارم dll این ویروس رو انالیز کنم ، انالیز شد می گم

lukaskain
جمعه 16 دی 1390, 10:02 صبح
پس شما می فرمایید نوشتن یک DLL و DLLMain بدون داشتن return امکان پذیر هست؟ اگر اینطور باشه آیا می توان این تابع در call کرد؟

r00tkit
جمعه 16 دی 1390, 10:40 صبح
کدوم تابع رو Call کرد؟ DLLmain در هر صورت call می شه ، من گفتم کد به return نرسه (مثلا یه thread دیگه بسازی و خود dllmain رو قبل از بازگشت lock کنی )
اگه تابع dllmain بدون Return باشه کامپایل نمی شه چون امضاء عوض شده

برای ادامه راهنمایی من لطفا به این سوال جواب بده :

به چه منظور می خوای dllmain بدون Return باشه ؟

lukaskain
جمعه 16 دی 1390, 11:14 صبح
I want to create a new Module Guard on the security software solutions
رضایت میدین geek1982 عزیز!
اگر لاک بکنم فایل اجرایی در دریافت return چه بلایی سرش می آید؟!

r00tkit
شنبه 17 دی 1390, 09:49 صبح
ببین دوست من ، اگه من می گم بگو برای چی میخوای این کار رو کنی ،برای این که می خوام جواب درست بهت بدم (شاید راه حل هی دیگه ای هم باشه )، اگه اینجا یه فروم خارجی بود پستت مطمئن باش سه سوت پاک می شد !!!





I want to create a new Module Guard on the security software solutions



Module Guard رو توضیح بده، دقیقا چی می خوای ( با این توضیح من چیزی متوجه نشدم :)




اگر لاک بکنم فایل اجرایی در دریافت return چه بلایی سرش می آید؟!


تست کن ( یه thread توی dllmain بیار بالا و روی ان thread یه wait بزار )

lukaskain
شنبه 17 دی 1390, 20:14 عصر
قبول دارین که DLL به علت ماهیت ساختاری (Functional and non executable) بسیار آسیب پذیر می باشد؟
توابع (pack and protect-) به راحتی قابل تریس می باشند و چون فایل اجرایی نیست در دیباگرها run نمی شود تا روال anti trace عمل نماید
من یک تابعی دارم می نویسم تا DLL را Anti Trace , Anti Debug , Anti Resource نمایم فقط مشکلم این هست چطور می توان تابع بدون return باشد تا تصمیم گیری بلوک شرطی در DLL صورت پذیرد و وابسته فایل جانبی نباشد.
Hijacking will be Fix with this Solution!

r00tkit
یک شنبه 18 دی 1390, 10:26 صبح
می شه حرفات رو یا به زبان سلیس فارسی یا انگلیسی بنویسی ؟ من هیچ چی متوجه نمی شم ؟( خنگ نیستم ، توی محل کارم به همه نشون دادم هیچکی متوجه نشد؟! :) )



قبول دارین که DLL به علت ماهیت ساختاری (Functional and non executable) بسیار آسیب پذیر می باشد؟
Anti Trace , Anti Debug , Anti Resourceاین مفاهیم به Hijacking چه ارتباطی داره ؟

lukaskain
یک شنبه 18 دی 1390, 13:30 عصر
عزیز جان من دیگه نمی توانم از این بیشتر برای گرفتن یک جواب توضیح بدهم
فقط می خواهم بدانم آیا می توان تابع DLL را بدون return نوشت (یا از رسیدن به return جلوگیری کرد) و فایل call کننده به مشکل نخوره؟ سوال من در هر دو بخش هم اجرایی شدن این عمل در DLL هم به مشکل نخوردن فایل صدا کننده در این شرایط
اگر جواب هست بسم الله اگر جواب نیست یا حق

soorena
دوشنبه 19 دی 1390, 00:14 صبح
سلام

به نظرم شما دوست عزیز تو همون پست 4 جوابت رو گرفتی‌ ولی‌ چون خودت از سیستم عمل زیاد اطلاعات نداری متوجه نشدی.شما میتونی‌ با یک پروسه muitithread این مشکل رو خیلی‌ راحت حل کنی‌ اصلا بذار اینجوری برات بگم هر کاری که بخوای میتونی‌ بکنی‌.وسط اجرا بکشی،معلق کنی‌،دوباره لود کنی‌ هر کاری.

من یک تابعی دارم می نویسم تا DLL را Anti Trace , Anti Debug , Anti Resource نمایم فقط مشکلم این هست چطور می توان تابع بدون return باشد تا تصمیم گیری بلوک شرطی در DLL صورت پذیرد و وابسته فایل جانبی نباشد.
اگه تو زمینه کرک کار میکنی‌ و منظورت از تریس کردن همون دنبال کردن روند اجرا تو دیباگر هستش. این کار سود زیادی برات نداره و با این وجود برنامه باز هم کرک می‌شه....اگه منظورت چیز دیگس درست حسابی‌ توضیح بده بیبینم چیه.

r00tkit
دوشنبه 19 دی 1390, 09:32 صبح
(یا از رسیدن به return جلوگیری کرد) و فایل call کننده به مشکل نخوره؟


می تونی ! Confiker از Dispatcher Objects استفاده کرده بود ( من هم دیگه توضیح نمی دم )

lukaskain
سه شنبه 20 دی 1390, 07:01 صبح
سلام

چون خودت از سیستم عمل زیاد اطلاعات نداری متوجه نشدی.
عزیزم شما ظاهراً واحد OS را به تازگی پاس کردی! و گمان می کنی در هر جمله لفظ سیستم عامل کارگشاست.

به هر حال از مشارکت عمومی عزیزان خصوصاً مدیر بخش سپاسگزارم، از این که موضوع را مشروح بیان نکردم پوزش می طلبم.
ارادت فراوان به جامعه برنامه نویس نخبه ایران

r00tkit
سه شنبه 20 دی 1390, 10:07 صبح
من هم وقتی می خوام کسی از کارهای zero dayام خبر دار نشه سوالم رو کامل نمی پرسم ولی جوری می پرسم افراد دیگه مشکل رو متوجه بشن و جواب چیزی که نمی دونم رو بگیرم

soorena
سه شنبه 20 دی 1390, 11:17 صبح
جهت اطلاع بنده اصلا رشتم کامپیوتر نیست...ولی‌ باز هم اگر os رو می‌فهمیدی حتا نیاز به طرح این سوال هم نبود.

lukaskain
سه شنبه 20 دی 1390, 13:19 عصر
با عرض پورش از عزیزان

soorena لطفاً پس در چیزی که علم و آگاهی نداری اظهار نظر و دخالت نکن و تاپیک را به کودکستان تبدیل نکن