PDA

View Full Version : سوال: چطور میشه وسط یک فایل اجرایی به هر اندازه که می خوای فضا برای نوشتن کد داشته باشی ؟



Ali.Beyhaqi
دوشنبه 14 بهمن 1392, 16:53 عصر
سلام به همه
من می خواستم وسط کد اجرایی یک خط کد رو وردارم و جاش مثلا 15 خط کد بگذارم .
یک گفت نرم افزار Topo این کار رو می کنه ببین چطور این کار رو می کنه!
ولی من حتی نتونستم خود این نرم افزارم پیدا کنم:لبخند:
خلاصه اگه دوستان کسی اطلاعایی دار ممنون می شوم کمکم کنه
ترجیحاً c & C++‎ باشه :چشمک:

Securebit
چهارشنبه 16 بهمن 1392, 15:01 عصر
اگر اسمبلی شما خوب باشد با OllyDBG میتوان این کارو انجام داد.

Ali.Beyhaqi
چهارشنبه 16 بهمن 1392, 16:44 عصر
من می خوام این کار رو به صورت خودکار بار برنامه ای که می نویسم انجام دهم
چون یک چیز عمومی می خوام بنویسم نه برای یک برنامه خاص

Securebit
چهارشنبه 16 بهمن 1392, 18:56 عصر
کاری که میخواهید انجام بدید مشابه کاری هست که Patcher ها انجام میدن شما (Inline Patching Source) رو جستجو کنید سورس موجود هست.

Ali.Beyhaqi
چهارشنبه 16 بهمن 1392, 21:12 عصر
مرسی یه نگاهی بهش می ندازم ممنون :)

مهران موسوی
جمعه 18 بهمن 1392, 18:12 عصر
یک Section حاوی کدهای مد نظرتون ( باینری ) در فایل exe مد نظر ایجاد کنید ، خط مورد نظر را با کد برای مثال jmp #SectionAddress جایگزین کنید. با رسیدن برنامه به خطی که تغییر دادین ، یک پرش به سکشن شما صورت میگیره و ثبات EIP حاوی آدرس شروع Section شما میشه و کدهای Section اجرا میشه . در نهایت میتونید در اخر Section یک جامپ به ادامه کدها داشته باشید و ...

برای ایجاد Section در فایل اجرایی توسط برنامه خودتون توی نت سرچ بزنید حتما میتونید سورس پیدا کنید براش ، و همچنین کدهای مد نظری که میخواید توی سکشن قرار بدید برای اجرا، میتونید توسط Shell Generator ها تولید کنید ...

موفق باشید :چشمک:

Ali.Beyhaqi
یک شنبه 20 بهمن 1392, 23:36 عصر
مرسی اما من باید کثیف کاریم رو تو کد اصلی انجام بدم:لبخند: نه تو Section جدا :چشمک:

hepL3r
جمعه 25 بهمن 1392, 11:26 صبح
هر فایل اجرایی تو خودش به اندازه کافی جای خالی داره معمولا"، به انتهای سکشن کد برید معمولا" 500-600 خط جا هست. کد شما تو چه زبانی 15 خطه؟

Ali.Beyhaqi
جمعه 25 بهمن 1392, 20:52 عصر
وسط کد می خوام نه ته یک سکشن چون یک شکسن خودم اضافه می کنم ولی این کدا باید وسط یک دستور العمل ها باشه بدون این پرش به ته کد چون چندتاست و نباید همش یک جا کنار هم باشن :لبخندساده:

Ali.Beyhaqi
جمعه 25 بهمن 1392, 20:55 عصر
من هنوز به این قسمت برنامه نرسیدم که پیاده سازیش کنم ولی رسیدم حتماً راه حل اون به طور کامل میزارم :چشمک:

hepL3r
جمعه 25 بهمن 1392, 23:56 عصر
خب برای میتونید یه جامپ بزنید به انتهای سکشن کدهارو اجرا کنید و بعد برگردید به محلی که میخوایید.
Inline Patching رو یه سرچ بکنید حتما"