PDA

View Full Version : ضمیمه کردن کد خود به فایل اجرایی



eshpilen
دوشنبه 07 تیر 1389, 20:02 عصر
لطفا بگید آیا میشه و چه روشی وجود داره که یک برنامه که خودمون نوشتیم رو به یک برنامهء دیگه که سورسش رو نداریم و فقط بصورت اجرایی هست ضمیمه کنیم. یعنی موقع اجرای اون برنامه که میتونه هرچیزی باشه برنامهء ما هم عملا همراهش اجرا بشه.

در درجهء بعد میخواستم بدونم راهی برای ارتباط با و کنترل برنامهء هدف وجود داره یا نه. مثلا برنامهء ما بتونه بفهمه اون برنامه چه وقت چیکار میکنه (مثلا سیو کردن یک فایل) یا حتی به توابعش دسترسی داشته باشه و مثلا بتونه بعنوان یک واسطه بین قسمتهای مختلف برنامهء هدف دخالت کنه. مثلا من میخوام وقتی اون برنامه فایلی رو میخواد سیو کنه، دیتا در مرحلهء آخر از یک تابع در برنامهء من عبور کنه؛ آیا این شدنی هست یا غیرممکنه یا خیلی سخته؟ یا اینکه حداقل اینکه بفهمم چه فایلی سیو شده تا برنامهء من بتونه بلافاصله روی اون فایل عملیات خودش رو انجام بده.

FastCode
دوشنبه 07 تیر 1389, 22:53 عصر
خیلی سخته.


یا اینکه حداقل اینکه بفهمم چه فایلی سیو شده تا برنامهء من بتونه بلافاصله روی اون فایل عملیات خودش رو انجام بده.

فکر میکنم که یه Win-Hook برای این کار وجود داره که برنامه نویسیش یک مقدار پیچیدست.

eshpilen
سه شنبه 08 تیر 1389, 00:29 صبح
شاید خیلی هم سخت نباشه. مثلا ویروسها چطور خودشون رو به فایلهای اجرایی ضمیمه میکنن؟ در عین حال که برنامه طبق معمول کار میکنه اما ویروس هم اجرا میشه.
فکر کنم ضمیمه کردن در سطح اسمبلی اگر خیلی حرفه ای باشی نسبتا راحت باشه.
پس احتمالا ابزار و برنامه هایی که این کارها رو انجام بدن هم وجود داشته باشن.

tdkhakpur
سه شنبه 08 تیر 1389, 01:06 صبح
شما باید تزریق کد انجام بدید میتوانید process injention را جستجو کنید و با فرمتهای فایلهای اجرایی بخصوص فرمتهای pe آشنایی پیدا کنید.

pesar irooni
جمعه 11 تیر 1389, 16:21 عصر
من فک کنم میشه با IDA PRO یا OllyDbg این کار رو کرد
یه برنامه جاسوسی مینویسیم و بعد کد اجرایی اون رو با ollydbg باز میکنیم و بعد تو یه جای مناسب به کد اجرایی برنامه مقصد مثلا notepad.exe که این رو هم با ollydbg باز کردیم اضافه میکنیم و save میکنیم و یه فایل اجرایی جاسوسی خواهیم داشت
فقط باید اسمبلی خوب بلد باشی.

Nima NT
جمعه 11 تیر 1389, 16:33 عصر
من فک کنم میشه با IDA PRO یا OllyDbg این کار رو کرد
یه برنامه جاسوسی مینویسیم و بعد کد اجرایی اون رو با ollydbg باز میکنیم و بعد تو یه جای مناسب به کد اجرایی برنامه مقصد مثلا notepad.exe که این رو هم با ollydbg باز کردیم اضافه میکنیم و save میکنیم و یه فایل اجرایی جاسوسی خواهیم داشت
فقط باید اسمبلی خوب بلد باشی.
همچین کاری امکان پذیر نیست ، چون در دو فایل Base Address ممکن هست فرق داشته باشه و کلا" برنامه نهایی به هم بریزه ، بهترین کار برای رسیدن به هدف استفاده از Code Injection هست که اون هم معمولا" با اضافه کردن یک سکشن به فایل اجرایی و تغییر Entry Point به سکشن جدید هست که اگر فایل اجرا شد اطلاعات سکشن جدید اجرا بشن ، نهایتا" شما با استفاده از یک Jump EAX ( بعد از اجرای کدهای داخل سکشن جدید ) به آدرس Entry Point اصلی ( قبلی ) پرش کنید و نهایتا" تا برنامه اصلی اجرا بشه.