View Full Version : يه سوال در مورد SoftICE
MehdiC#
09-24-2005, 05:34 PM
سلام
من SoftICE 4.05 NT رو نصب کردم. (در Windows XP SP 1 )
بعد سه تا فایل پچ رو هم کپی کردم به %Windows% \ System32\Drivers
حالا وقتی در Symbol Loader یه فایل رو load میکنم ، خطا میده که
---------------------------
Symbol Translation/Load error
---------------------------
An error occured during symbol translation/load. Load executable anyway?
Yes رو که میزنم ، هیچی انجام نمیشه ، فقط اون برنامه هه اجرا میشه ، ولی debug
نمیشه. (اصلا SoftICE بالا نمی یاد)
همچنین وقتی روی یه تابع API مثل Beep یا MessageBox ، توسط bpx ، breakpoint میذارم
و بعد از داخل یه برنامه ای این تابع API صدا زده میشه ، وارد SoftICE نمیشم ، میشه راهنماییم
کنید؟؟؟؟؟
این رو هم بگم که SoftICE رو قبلا به صورت Manually ، Start میکنم . (همچنین اون semicolon ها رو
از ته فایل winice.dat ، پاک کردم.)
(با توجه به این همه دردسری که از دیروز تا حالا کشیدم فکر میکنم که OllyDbg هزار مرتبه به این
SoftICE بیارزه ، چون نه Configuration میخواد نه نیاز به Symbol داره. تازه به سیستم عامل هم کاری
نداره. الان با نصب SoftICE ، بعضی برنامه ها رو که اجرا میکنم(مثل System Mechanic ) ، سیستم reboot
میشه)
saeedsmk
09-24-2005, 06:24 PM
سلام
من SoftICE 4.05 NT رو نصب کردم. (در Windows XP SP 1 )
بعد سه تا فایل پچ رو هم کپی کردم به %Windows% \ System32\Drivers
حالا وقتی در Symbol Loader یه فایل رو load میکنم ، خطا میده که
---------------------------
Symbol Translation/Load error
---------------------------
An error occured during symbol translation/load. Load executable anyway?
Yes رو که میزنم ، هیچی انجام نمیشه ، فقط اون برنامه هه اجرا میشه ، ولی debug
نمیشه. (اصلا SoftICE بالا نمی یاد)
همچنین وقتی روی یه تابع API مثل Beep یا MessageBox ، توسط bpx ، breakpoint میذارم
و بعد از داخل یه برنامه ای این تابع API صدا زده میشه ، وارد SoftICE نمیشم ، میشه راهنماییم
کنید؟؟؟؟؟
این رو هم بگم که SoftICE رو قبلا به صورت Manually ، Start میکنم . (همچنین اون semicolon ها رو
از ته فایل winice.dat ، پاک کردم.)
(با توجه به این همه دردسری که از دیروز تا حالا کشیدم فکر میکنم که OllyDbg هزار مرتبه به این
SoftICE بیارزه ، چون نه Configuration میخواد نه نیاز به Symbol داره. تازه به سیستم عامل هم کاری
نداره. الان با نصب SoftICE ، بعضی برنامه ها رو که اجرا میکنم(مثل System Mechanic ) ، سیستم reboot
میشه)
ollydbg فقط ديباگر برنامه است ولي si ديباگر كرنل است( اين دو حالت باهم خيلي فرق ميكنن).
مي توني winice.daT اتچ كني
نكته: راستي بايد مسير رو كامل بدي
يعني اگه ويندوزت رو درايو C و در شاخه WINXP باشه بايد بجاي SYSTEMroot توي WINICE.DAT بنويسي
c:\winxp\system32 تا كار كنه
مثال (EXP=c:\winxp\system32\System32\kernel32.dll )
دليل كار نكردن loader هم اينكه si رو پچ كردي- لازم ندار هميشه از لودر استفاده كني من معمولا ازش استفاده نميكنم ) فقط زماني كه بخوام مشخصات SI رو عوض كنم ازش استفاده ميكنم ).
دليل ريبوت شدن سيستم هم اينكه System Mechanic و امثال ان ديباگر ديتكشن دارن حتي اگه با olly هم بخواي اون رو ديباگ كني بازم ممكنه ويندوزت كرش كنه( چون سافت ايس رو سيستمت ميشنه يعني كرنل ديباگره هميشه فعاله حتي زماني كه اون رو استارت نكردي چون siwvid.sys توي بوت قبل از كرنلت فعال ميشه )
راه حلشم اينكه از برنامه هاي softice انتي ديدتكتور استفاده كني
مثل FrogsICE و IceDump كه جلوي ديتك شدن رو ميگيرن
نكته بسيار مهم براي ديباگينگ همراه استفاده از softice هميشه ميگن يه ويندوز ديگه نصب كننين و بعد اون ويندوز رو مخصوص ديباگينگ بزارين نه اينكه از يه ويندوزبراي همه كارها استفاده كننين
در مورد مقايسه بايد بگم كه سافت ايس قدرتهايي داره كه بقيه ديبگر ها ندارن يكشون مثلا قدرت ديباگينگ برنامه هاي سرويس دهنده هستن كه همراه ويندوز اجرا ميشن يه مثال سادش توي 98 وقتي برنامه اي مثل پارسا 2001 رو نصب كني يه سرويس رو براي فارسي سازي فعال ميكنه كه اگه بخواي اين سرويس رو دستكاري كني تا اونجايي كه من ميدونم بايد از si استفاده كني و چيزهاي ديگه جوابتو نميدنن چون قبل از اينكه سيستمت بالا بياد اين سرويس فعال ميشه ( يعني نميتوني olly رو ران كني در زمان اجرا اون ) و .... كه جاش اينجا نيست درموردش بحث بشه توي ريفرنس خود SI نوشته تمام اين موارد رو .
و خوبي ديگش اينه كه واسي SI فرقي نميكنه كه چه برنامهاي باعث ايجاد بريك پوينت شده همه رو برات ديباگ ميكنه نه مثل olly كه فقط يه برنامه رو
مثلا اگه بخواي منوي run ويندوزتو جوري كاستمايز كني كه اگه زدي null فلان كار رو بكنه فقط ميدونم كه بهترين راهش استفاده از SI و ....
به هر حال هر برنامهاي خصوصيات خودش رو داره و مشكلات خودش رو ولي به صرف سختي و مشكلات نميشه گفت كه اين برنامه بده ( چون ممكنه خصوصياتي داشته باشه كه شما الان باهش كار ندارين ولي فردا بهش نيازمندين ) بر اساس نوع نياز برنامه مصرفي مشخص ميشه. اگه فكر ميكني olly جوابت ميده دنبال si نرو ولي قوي ترين كركر ها( منظورم تمامي مديواير ها و پكرها و متخصصين امنيت و ....) همشون ميگن SI بهترين ديباگره براي ويندوزه
اميدوارم كمكت كنه بازم كمك خواستي بگو
:lol:
:lol:
MehdiC#
09-25-2005, 12:21 AM
سلام سعید جان ، بابت جوابت ممنونم
1- از مسیر کامل استفاده کردم.
این هم فایل winice.dat من : (ویندوزم تو درایو G نصب شده)
2 - بدون patch کردن ،SI تو سیستم من کار نمی کنه.
3 – اگه از Symbol Loader استفاده نکنم ، پس چطور یه فایل رو debug
کنم ؟
4 – قبول دارم که SI بهترین دیباگره ، ولی به نظر من برای یک Programmer
(نه یک cracker یا برنامه نویس device driver ) ، OllyDbg میتونه کامل کارش رو
راه بندازه.
5 – در ضمن گفتم که وقتی روی یه تابع (مثلا Beep) ، bp میذارم و بعد توی یه برنامۀ
نوشته شده در C ، تابع Beep رو فراخوانی میکنم ، SI اونو تشخیص نمیده.
(اما توابعی مثل GetVersion یا GetDlgItemText و اینا رو جواب میده.) فکر میکنید چرا ؟؟
6- تو بعضی فروم ها از Driver Suite صحبت شده و اینکه ما حتما برای استفاده از SI
باید فایلهای دیباگ ویندوز رو از سایت Microsoft دانلود کنیم. (فایلهای pdb مثل ntoskrnl و
Ntdll و اینا که کلا بیشتر از 60 مگابایت میشن.) (و فایل هایی با پسوند *.NMS )
آیا بدون اونا نمیشه با SI کار کرد.؟؟؟
7 - نظرت دربارۀ دیباگرهایی مثل Windbg (از مایکروسافت) و LiveKD (که قبلا ها تو
سایت www.sysinternals.com موجود بود ) چیه ؟؟؟
خود نویسندۀ LiveKD که خیلی از کارش راضی بود و اون رو با SI مقایسه میکرد.
و سوال آخر : برای اینکه خیالم راحت بشه ، میشه بگید شما یه فایل رو (مثلا C.exe )
چطور با SI دیباگ می کنید؟ مراحلش رو بگین تا هم من و هم بقیۀ دوستان (که کم نیستن)
شیوۀ کار رو یاد بگیریم. (فقط بگین که چطور یه برنامه رو به داخل SI ، لود میکنید)
خیلی ممنون
saeedsmk
09-25-2005, 01:06 PM
سلام سعید جان ، بابت جوابت ممنونم
1- از مسیر کامل استفاده کردم.
این هم فایل winice.dat من : (ویندوزم تو درایو G نصب شده)
2 - بدون patch کردن ،SI تو سیستم من کار نمی کنه.
3 – اگه از Symbol Loader استفاده نکنم ، پس چطور یه فایل رو debug
کنم ؟
4 – قبول دارم که SI بهترین دیباگره ، ولی به نظر من برای یک Programmer
(نه یک cracker یا برنامه نویس device driver ) ، OllyDbg میتونه کامل کارش رو
راه بندازه.
5 – در ضمن گفتم که وقتی روی یه تابع (مثلا Beep) ، bp میذارم و بعد توی یه برنامۀ
نوشته شده در C ، تابع Beep رو فراخوانی میکنم ، SI اونو تشخیص نمیده.
(اما توابعی مثل GetVersion یا GetDlgItemText و اینا رو جواب میده.) فکر میکنید چرا ؟؟
6- تو بعضی فروم ها از Driver Suite صحبت شده و اینکه ما حتما برای استفاده از SI
باید فایلهای دیباگ ویندوز رو از سایت Microsoft دانلود کنیم. (فایلهای pdb مثل ntoskrnl و
Ntdll و اینا که کلا بیشتر از 60 مگابایت میشن.) (و فایل هایی با پسوند *.NMS )
آیا بدون اونا نمیشه با SI کار کرد.؟؟؟
7 - نظرت دربارۀ دیباگرهایی مثل Windbg (از مایکروسافت) و LiveKD (که قبلا ها تو
سایت www.sysinternals.com موجود بود ) چیه ؟؟؟
خود نویسندۀ LiveKD که خیلی از کارش راضی بود و اون رو با SI مقایسه میکرد.
و سوال آخر : برای اینکه خیالم راحت بشه ، میشه بگید شما یه فایل رو (مثلا C.exe )
چطور با SI دیباگ می کنید؟ مراحلش رو بگین تا هم من و هم بقیۀ دوستان (که کم نیستن)
شیوۀ کار رو یاد بگیریم. (فقط بگین که چطور یه برنامه رو به داخل SI ، لود میکنید)
خیلی ممنون
حالا داره كار ميكنه يا دفعه قبل هم كار ميكرده؟
خوب بله براي كار كردن توي اكس پي يا بايد اون رو پچ كرد و يا از driver suite استفاده نمود ( چون هر وقت driver suite رو بروي دستگاهم نصب كردم و موس و كيبردم از كار افتاده، ديگه ازش استفاده نميكنم البته رو يه دستگاه ديگم قشنگ جواب داد ولي رو amdxp 2.4 و بامين msi كه دستگاه اصلي منه جواب نميده مراقبش باشين ). در صورت استفاده از drive suite لودر كار ميكنه !!!!!!!!
دليل عدم كار كردن روي beep ميتونه اشكال از ستينگ بريك پوينت باشه چون بعضي از وقتها از تابع messageboxbeep استفاده ميشه نه Beep و در ضمن همين يه api يعني messageboxbeep چهارنوعه ( اگه درست يادم باشه)
1- messageboxbeep
2-messageboxbeepa
3-messageboxbeepw
4-messageboxbeepwa
خوب اگه شما روي messageboxbeepa بريك پوينت بزارين وبرنامه از messageboxbeepw استفاده كنه خوب si عمل نميكنه
بهترين كار براي فهميدن اينكه از كدوم تابع داره استفاده ميكنه استفاده از api importanet viewer كه بفهمين كه چه تابعي لود ميشه
با windbg( اگه اشتباه نكنم ديكتشو چك كن) كار كردم ولي خوشم نيومد. LiveKD نميدونم باهاش كار نكردم تا نظرم رو بدم
در مورد سئوال آخر خوب اگه بخوام از اول يه برنامه رو ديباگ كنم و لودر نداشته باشم اين كار را ميكنم
1- eintry point برنامه رو بدست ميارم ( offset اون رو ) مثلا با برنامه w32dasm
2- با يه هگزه اديتور به محل اينتروي پوينت ميرم و بايت اول اون رو با cc تعويض ميكنم ( مقدار اصلي رو ياداشت ميكنم مثلا 6a توي مد هگزا دسيمال ) و ذخيره ميكنم(cc يعني كد int 03 )
3- si رو اتيش كرده و روي int 3 بريك پوينت ميزارم ( bint 3 اگه درست يادم باشه)
4- بعد برنامه رو اجرا كرده و بعد si بالا مياد حالا توي كامند si مينويسم e epi و توي پنجره ديتا اولين مقدار كه ميبينم cc هستش كه بايد به مقدار ياداشت شده ( توي مثال ما 6a) تغيرش بدم . بعد اينتر كرده و ميرم روي خط مورد نظر كه همون شروع برنام اس ( entry point) ( كه مثلا توي مثال ما 401000 ) بريك پوينت تعريف ميكنم يعني bpx 401000 و بعد x رو ميزنم
5-حالا برنامه رو با هگزه اديتور باز ميكنم و ميرم به ادرس قبلي ( افست entry point) و مقدار cc رو به مقدار اصليش تغيير ميدم و برنامه رو ذخيره ميكنم
6- حالا اگه تمامي مراحل بالا رو درست انجام داده باشي ميبيني كه با اجرا برنامه si مياد بالا حالا ديباگينگ شروع شده
يه لودر دقيقا همين كار رو ميكنه كه گفتم از لودرهاي ديگه هم مي توني استفاده كني توي گوگل سرچ كن
نكته هميشه براي ديباگينگ لازم نيست اين همه كار رو انجام بدي چون مثلا ميخواي برنامه اي رو كه زماني كه فلان اتفاق افتاد تريس كني كه در اين صورت بر اساس اون تريس نوع بريك پوينتت تغيير ميكنه :lol:
MehdiC#
09-25-2005, 05:36 PM
سلام
همۀ مراحل رو انجام دادم و درست پیش رفت ، خیلی ممنون.
فقط تنها مشکلی که دارم اینه که :
اولا وقتی روی یه تابع API ، (مثل Beep ) ، در SI ، بریک پوینت میذارم ، و اون تابع رو در یه
برنامه فراخوانی می کنم ، SI ، شروع به کار نمیکنه.
(چیزی که شما فرمودید چند نوع داره ، تابع MessageBeep یا MessageBox هست ، در ضمن
خودم اون برنامه رو نوشتم و مطمئنم که از Beep استفاده کردم ، W32dasm و OllyDbg هم
وجود و فراخوانی Beep رو نشون میدن.)
ثانیا ، SI اسم توابع VB رو نشون نمیده. مثلا به جای نام __vbaStrCmp ، از آدرس حافظۀ اون
استفاده میکنه. (در حالی که OllyDbg و W32dasm و HIEW ، اسم تابع رو هم نشون میدن.
و MSVBVM60.dll رو هم در Winice.dat قرار دادم.)
در ضمن دیباگر LiveKD رو هم attach کردم براتون.
saeedsmk
09-25-2005, 08:37 PM
مي توني برنامتو اتچ كني
بايد از system loder استفاده كني بزار ببينم ميتونم پچش كنم با نه خبرت مي كنم
BAHAR_B
09-26-2005, 07:52 AM
ميدونم اينجا جاش نيست ولي چه كنم
اون كتاب اكسل كه گفتي رو سي دي داريش
من لازمش دارم -- لطفا بگو همراه با چي كتابهاي ديگه اي .... - از كجا تهيه اش كردي
خواهش ميكنم سريعتر جوابشو بده
اگه ميتوني yahoo messenger برام offبذار
vbtvc@yahoo.com
منتظرتم
MehdiC#
09-27-2005, 12:10 AM
مي توني برنامتو اتچ كني
بايد از system loder استفاده كني بزار ببينم ميتونم پچش كنم با نه خبرت مي كنم
سلام
این هم دو برنامه ای که می گفتم.
یکی از تابع Beep و دیگری از __vbaStrCmp (تابع برای مقایسۀ رمز عبوری که کاربر
وارد کرده با رمزی که در برنامه هست)
استفاده میکنه. با اینکه رو این توابع در SI ، بریک پوینت میذارم ولی با اجرای این
برنامه ها ، وارد SI نمیشم
saeedsmk
09-27-2005, 04:33 PM
سلام
این هم دو برنامه ای که می گفتم.
یکی از تابع Beep و دیگری از __vbaStrCmp (تابع برای مقایسۀ رمز عبوری که کاربر
وارد کرده با رمزی که در برنامه هست)
استفاده میکنه. با اینکه رو این توابع در SI ، بریک پوینت میذارم ولی با اجرای این
برنامه ها ، وارد SI نمیشم
اقا مهدي من فردا دفاع كارشناسي ارشد دارم بعدش حتما چكش ميكنم.
دعا كن گير كم بهم بدن :lol:
MehdiC#
09-27-2005, 04:38 PM
اقا مهدي من فردا دفاع كارشناسي ارشد دارم بعدش حتما چكش ميكنم.
دعا كن گير كم بهم بدن :lol:
ان شا الله موفق باشي.
خيلي با حالي كه با اين همه مشغله به سوالاي من اينقدر كامل توضيح دادي.
مرسي
saeedsmk
09-29-2005, 04:24 PM
ان شا الله موفق باشي.
خيلي با حالي كه با اين همه مشغله به سوالاي من اينقدر كامل توضيح دادي.
مرسي
مرسي دست درد نكنه فعلا كه نمره خامم 96.5 شد حالا ببينيم با نمره مقالات و كسري اضافه سنوات چس ميشه
باحالي از بچه هاي پيتي نه من :lol:
اقا تستش كردم با beep مشكل نداشتم ( شايد بعلت استفاده از سيبول و پچي كه نوشتم ) اما با وي بي اره چون هنگام لود si ،si نميتونه يه چند تا چيز رو هوك كنه ( توي xp ) اما توي 98 ،98se ، ويندوز me و ويندوز 2000 مشكلي نداشتم
راستي سيستم لودر هم راه انداختم يعني پچ رو جوري عوض كردم كه جواب بده ( بعدا اپ لودشون ميكنم بگو روي دستكگاه تو هم جواب داد يا نه )
سيمبول ها هم براي xp2 جنريت كردم
در هر صورت اگه سيمبول ها رو خواستي بگو تا upload كنم
فعلا باي
:lol:
MehdiC#
09-29-2005, 11:00 PM
فعلا كه نمره خامم 96.5 شد حالا ببينيم با نمره مقالات و كسري اضافه سنوات چس ميشه
سعید جان ان شاء الله که دیگه فوق لیسانس شدی دیگه. (بابا استاد) :D
میخوام یه ویندوز XP دیگه مخصوص debugging نصب کنم ؛
برای اینکار ، Debugging Symbols رو از مایکروسافت و همچنین Driver Suite 2.7
رو دانلود کردم. و هر دو رو نصب کردم . آیا تنظیم خاصی هم دارن ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
حالا میخوام ببینم چطور یه سیستم عامل مخصوص اینکار نصب کنم ؟
(یعنی پس از نصب ویندوز ، چه چیزهایی رو نصب کنم )
فعلا میخوام با دو کتاب
Debugging Applications for Microsoft Windows and Microsoft .NET
و
Hacker Disassembling Uncovered
شروع کنم . همچنین این ابزار رو برای کار انتخاب کردم :
HIEW
W32dasm
IDA Pro
SoftICE
OllyDbg
نظرت چیه ؟ اگه پیشنهادی برای تسریع روند یادگیریم داری بهم بگو.
در هر صورت اگه سيمبول ها رو خواستي بگو تا upload كنم
بابت سیمبول ها هم ممنون ، دیگه کاملش رو دارم. :)
saeedsmk
09-30-2005, 04:18 PM
سعید جان ان شاء الله که دیگه فوق لیسانس شدی دیگه. (بابا استاد) :D
میخوام یه ویندوز XP دیگه مخصوص debugging نصب کنم ؛
برای اینکار ، Debugging Symbols رو از مایکروسافت و همچنین Driver Suite 2.7
رو دانلود کردم. و هر دو رو نصب کردم . آیا تنظیم خاصی هم دارن ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
حالا میخوام ببینم چطور یه سیستم عامل مخصوص اینکار نصب کنم ؟
(یعنی پس از نصب ویندوز ، چه چیزهایی رو نصب کنم )
فعلا میخوام با دو کتاب
Debugging Applications for Microsoft Windows and Microsoft .NET
و
Hacker Disassembling Uncovered
شروع کنم . همچنین این ابزار رو برای کار انتخاب کردم :
HIEW
W32dasm
IDA Pro
SoftICE
OllyDbg
نظرت چیه ؟ اگه پیشنهادی برای تسریع روند یادگیریم داری بهم بگو.
بابت سیمبول ها هم ممنون ، دیگه کاملش رو دارم. :)
خوب اگه مي خواي شروع كني بهتر از ويندوز 9 شروع كني چون راحتره و دبگ و فنگ xp رو نداره
تولزات خوبه ولي فكر كنم جاي يه اسمبلر مثل nasm خاليه همچنين اگه يه برنامه pe اناليز مثل peid بهشون اضافه كني كه محشر ميشه .
Debugging Applications for Microsoft Windows and Microsoft .NET خوبه اما بيشتر چگونگي كنترل و رفع ايراد رو بهت ياد مي ده و بقيه هنرها رو بهت نشون نمي ده . كتاب Hacker Disassembling Uncovered نخوندم نمي دونم راجب چيه دقيقا ولي از روي اسمش بيشتر فكر كنم يه سري راه هاي محافظت رو نشون ميده
براي اينكه بتوني يه برنامه رو خوب تريس كني و باگهاشو پيدا كني و يا خواستي قفل براش بنويسي بايد بلد بشي كه برنامه ها رو كرك كني . براي ياد گري كرك كردن بهترين مرجع اينترنت و تيوتريالهاي اونه سايت هاي خوبي در اين مورد هستن كه مي توني از اونها استفاده كني مثل exetools و .... كلا تنها چيزي كه بايد بدوني اينكه براي اين كار صبر كردن خيلي مهمه و اگه سر و حوصله نداري بهتر بي خيالش شي.
اگه softice مثل هلو داره كار ميكنه كه نه تنظيماتي نداره ولي اگه مشكل داره توي xp, بايد يه سري از تنظيماتشو درست كني تا بهت جوايب بده مثل گزينه NOGUIBOOT كه مي توني توضيحاتي رو اينجا ببيني
http://www.codingforums.com/printthread.php?t=49345
توي فكر هستم يه اموزش كرك اينجا بزنم اگه خدا خواست و تونستم شروع ميكنم.
MehdiC#
10-01-2005, 11:52 PM
مرسی سعید جان. ان شا ا... آموزش رو شروع کنی ، از مشتریاتیم.
بابت راهنماییهات هم ممنون ، کارا خوب پیش میره .
saeedsmk
10-02-2005, 06:44 PM
حتما
نه برادر اين استاد رو بايد همشون رو لاي گل گذاشت :d
|
vBulletin® v3.8.4, Copyright ©2000-2010, Jelsoft Enterprises Ltd.