امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
تغغیر مفدار برگشتی api
نویسنده پیام
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #1
تغغیر مفدار برگشتی api
سلام
برنامه ای نیست که بشه مقادیر بازگشتی از یک فراخوانی api رو تغغیر داد ؟ خودم یکی دو ات پیدا کردم اما یکم بعضی وقتا باعش کرش کردن برنامه میشه

و همچنین بشه یک لودر درست کرد که همیشه همینکارو کنیم ؟
۱۷-مرداد-۱۳۹۱, ۰۱:۲۵:۱۹
وب سایت ارسال‌ها
پاسخ
Sh4DoVV آفلاین
عضو افتخاری
****

ارسال‌ها: 154
موضوع‌ها: 6
تاریخ عضویت: شهریور ۱۳۸۶

تشکرها : 32
( 293 تشکر در 118 ارسال )
ارسال: #2
RE: تغغیر مفدار برگشتی api
با سلام
انجام اينكار كه خيلي ساده هستش دوست عزيز
البته بستگي داره شما قصد داري مقدار برگشتي كدوم api رو تغيير بدي
هم ميتوني از روش api hooking استفاده كني و هم با استفاده از لودر ، كه من راه اول رو پيشنهاد ميكنم البته يه مقدار پيچيده تر هستش ولي كارآمد تر هستش
يا علي

اللهم عجل لوليك الفرج
۱۷-مرداد-۱۳۹۱, ۱۳:۲۴:۲۴
ارسال‌ها
پاسخ
تشکر شده توسط : babyy
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #3
RE: تغغیر مفدار برگشتی api
سلام

خب با چه برنامه ای میشه api hooking کرد ؟
قطعا در سطحی که من هستم؛ نوشتن برنامه ای که اینکارو کنه وجود نداره ؛؛ واسه همین دنبال برنامه ای هستم که توانایی این کارو داشته باشه
(آخرین ویرایش در این ارسال: ۱۷-مرداد-۱۳۹۱, ۱۹:۱۹:۵۹، توسط babyy.)
۱۷-مرداد-۱۳۹۱, ۱۹:۱۷:۴۶
وب سایت ارسال‌ها
پاسخ
Sh4DoVV آفلاین
عضو افتخاری
****

ارسال‌ها: 154
موضوع‌ها: 6
تاریخ عضویت: شهریور ۱۳۸۶

تشکرها : 32
( 293 تشکر در 118 ارسال )
ارسال: #4
RE: تغغیر مفدار برگشتی api
با سلام
تا اونجا که من میدونم برنامه خاصی واسه این کار وجود نداره و شما باشد خودتون یا به صورت دستی یا از طریق اینجکت کردن یه dll‌ به برنامه مورد نظر و یا استفاده از لودر این کار رو انجام بدین
شما مثال بزن چه api‌ رو میخوای دستکاری کنی و یا نمونه برنامه بزار تا بگم چکار کنی عزیز
یا علی

اللهم عجل لوليك الفرج
۱۸-مرداد-۱۳۹۱, ۰۲:۵۳:۵۵
ارسال‌ها
پاسخ
تشکر شده توسط : babyy
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #5
RE: تغغیر مفدار برگشتی api
سلام
این برنامه چنین امکانی داره : softsnoop ؛ اما رو بعضی برنامه رو سیستم من عمل نمیکنه !

api خاصی مد نظرم نیست ؛ برای مثال این برنامه فقط از messageboxA استفاده میکنه ؛ با برنامه بالا تونستم روی فراخوانی تابع MessageBoxA یدونه bp بزارم و مقدار پارامترهای ارسالی رو تغییر بدم

اما برای تغییر همیشگیش باید لودر بنویسم که نمیتونم یا از لودر استفاده کنم که میگین نداریم ؟

این سورس برنامه :

کد php:
#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstanceHINSTANCE hPrevInstanceLPSTR lpCmdLineint nCmdShow)
{
MessageBox (NULL"Hello World" "Hello"0);
return 
0;



فایل‌(های) پیوست شده
.zip   1.exe.zip (اندازه: 1.23 KB / تعداد دفعات دریافت: 45)
۱۸-مرداد-۱۳۹۱, ۰۳:۰۷:۵۲
وب سایت ارسال‌ها
پاسخ
Sh4DoVV آفلاین
عضو افتخاری
****

ارسال‌ها: 154
موضوع‌ها: 6
تاریخ عضویت: شهریور ۱۳۸۶

تشکرها : 32
( 293 تشکر در 118 ارسال )
ارسال: #6
RE: تغغیر مفدار برگشتی api
با سلام
شما در عنوان تاپیک نوشتین که مقدار برگشتی Api رو قصد دارین تغییر بدین ولی در پست آخرتون گفتین که پارامترهای ارسالی رو تغییر دادین !
اگر قصدتون تغییر پارامترهای ورودی هستش که بهترین گزینه همون hook کردن هستش توسط متد dll injection و یا IAT hooking
یه dll‌ واستون آماده میکنم که بیاد api مربوط به MessageBoxA رو hook کنه و توی برنامه هربار که این api‌ رو فراخوانی کنید همیشه یه پیام رو نشون بده - این خوبه ؟
البته روش دوم رو هم میتونم روی برنامتون پیاده کنم
یا علی

اللهم عجل لوليك الفرج
(آخرین ویرایش در این ارسال: ۱۸-مرداد-۱۳۹۱, ۰۶:۵۸:۴۵، توسط Sh4DoVV.)
۱۸-مرداد-۱۳۹۱, ۰۶:۵۴:۳۹
ارسال‌ها
پاسخ
تشکر شده توسط : babyy
Sh4DoVV آفلاین
عضو افتخاری
****

ارسال‌ها: 154
موضوع‌ها: 6
تاریخ عضویت: شهریور ۱۳۸۶

تشکرها : 32
( 293 تشکر در 118 ارسال )
ارسال: #7
RE: تغغیر مفدار برگشتی api
با سلام
دوست عزيز من واسه شما يه dll آماده كردم و به همراه سورسش ميزارم واستون كه ببينيد چيكار كردم
در اين dll‌از متد api hooking استفاده شده و اونم بطور خيلي ساده
سورس برنامه در محيط برنامه RadAsm كامپايل شده ، تنها كاري كه شما بايد انجام بدي اين هستش كه اين dll رو به برنامه مورد نظرت اينجكت كني و بعد اون هر بار كه MessageBoxA فراخواني بشه برنامه فقط يه پيام رو نشون ميده
اميدوارم مفيد واقع بشه
يا علي


فایل‌(های) پیوست شده
.rar   Hooker.rar (اندازه: 2.35 KB / تعداد دفعات دریافت: 59)

اللهم عجل لوليك الفرج
۱۸-مرداد-۱۳۹۱, ۱۲:۲۸:۰۲
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, Di Di, p3rtic@n
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #8
RE: تغغیر مفدار برگشتی api
(۱۸-مرداد-۱۳۹۱, ۰۶:۵۴:۳۹)Sh4DoVV نوشته است: شما در عنوان تاپیک نوشتین که مقدار برگشتی Api رو قصد دارین تغییر بدین ولی در پست آخرتون گفتین که پارامترهای ارسالی رو تغییر دادین !

البته روش دوم رو هم میتونم روی برنامتون پیاده کنم
یا علی

درواقع منظمرم همون تغییر مقار برگشتی بود ! که البته فکر نکنم هم زیاد فرق کنه ؛ چون با همین روش میشه هرکاری کرد !

---------
کدتون هیچ کاری انجام نمیداد ! به این نتیجه رسیدم که شما از
کد php:
invoke MessageBoxEx 
استفاده کردین اما هدرشو تو برنامه نیاوردین ؛ در نتیجه این دو تا رو آوردم
کد php:
include \masm32\include\windows.inc
include \masm32\include\user32.inc 

بعد از کامپایل و اینجکت تقریبا قبل از صدا زدن messagebox توی برنام اصلی این برنامه اینجکت شما هم اون invoke MessageBoxEx یه نمایش در میومد ؛
و اگه بخواییم برای مثال متن messagebox رو عوض کنیم هم آدرس متن رو بدست میاریم تو حافظه و عوضش میکنیم ؟
--------------------
با این تفاصیل لودر هم در واقع برنامه رو لود میکنه و خودش اینجکت رو انجام میده ؛ درسته ؟
(آخرین ویرایش در این ارسال: ۲۶-مرداد-۱۳۹۱, ۱۰:۴۲:۳۲، توسط babyy.)
۲۶-مرداد-۱۳۹۱, ۱۰:۳۶:۲۳
وب سایت ارسال‌ها
پاسخ
Sh4DoVV آفلاین
عضو افتخاری
****

ارسال‌ها: 154
موضوع‌ها: 6
تاریخ عضویت: شهریور ۱۳۸۶

تشکرها : 32
( 293 تشکر در 118 ارسال )
ارسال: #9
RE: تغغیر مفدار برگشتی api
با سلام
لودرتون دقیقا باید همین کار رو انجام بده ، یعنی بیاد برنامه رو لود کنه و بعد اینجکت کنه
اگر بالای سورس رونگاه کنید من یک هدر کلی رو اینکلود کردم که اکثر هدرها داخل اون هست عزیز
حالا کارتون راه افتاد عزیز ؟
بازهم اگر مشکلی بود در خدمتم
یا علی

اللهم عجل لوليك الفرج
۲۷-مرداد-۱۳۹۱, ۰۷:۲۵:۰۲
ارسال‌ها
پاسخ
تشکر شده توسط : babyy
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #10
RE: تغغیر مفدار برگشتی api
(۲۷-مرداد-۱۳۹۱, ۰۷:۲۵:۰۲)Sh4DoVV نوشته است: اگر بالای سورس رونگاه کنید من یک هدر کلی رو اینکلود کردم که اکثر هدرها داخل اون هست عزیز
دیدم وقتی خودم هم اینکلود کردم بهم هشدار داد که قبلا انکلود شده ! Shy

آره ؛ متشکریم فراوان
۲۷-مرداد-۱۳۹۱, ۰۸:۴۳:۴۲
وب سایت ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS