PDA

View Full Version : دوسوال درمورد OllyDbg



hmm
دوشنبه 04 اردیبهشت 1385, 09:18 صبح
سلام
یه برنامه دارم که Regional Setting رو بررسی میکنه اگه Arabic باشه یه امکاناتی رو به کاربر میده حال میخواستم این امکانات رو در صورتی که Farsi هم انتخاب شده باشه به کاربر بده
حالا اولا این برنامه کدوم API رو صدا میزنه تا بفهمه که Regional Setting بصورت Arabic هست و دوم اینکه چطوری میتونم توی OllyDbg یک Break Point بگذارم تا بفهمم که این API کجا فراخوانی شده و مقدار بازگشتیش چیه ؟
اگه راهنمایی کنید پس حتما لطف کردید!

Inprise
دوشنبه 04 اردیبهشت 1385, 19:59 عصر
من چیزی در مورد برنامه ات نمیدونم اما اینها یه سری نکته عمومی هستند ، بقیه مسیر رو خودت پیدا کن .

الف. برنامه هائی که به تنظیمات Local و Regional حساس هستند و در زمان اجرا نسبت به تغییرشون حساسیت نشون میده پیام WM_SETTINGCHANGE ویندوز رو مدیریت میکنن .

ب.برای تغییر تنظیماتی مانند محل سکونت و فرمت تاریخ و پول و غیره از تابع SetThreadLocale استفاده میشه .

ج. برای دریافت اطلاعات مربوط به وضعیت Local سیستم از تابع GetUserDefaultLCID در کنار GetLocalInfo استفاده میشه .

hmm
سه شنبه 05 اردیبهشت 1385, 06:32 صبح
ممنون Inprise جان که وقت گذاشتین
درواقع این برنامه نسبت به تغییر تنظیمات Regional حساس نیست در واقع این برنامه همون Oracle Form Runtime هست که اگه Regional روی arabic تنظیم شده باشه فرمها قابلیت راست به چپ شدن رو دارن ولی اگه Farsi باشه این قابلیت سلب میشه
حالا میخواستم طوری این برنامه رو تغییر بدم که فکر کنه همیشه تنظیمات روی عربی Set شده
اگه ممکنه بفرمایید چطوری میتونم یکBP بگذارم که بفهمم خروجی تابع GetLocalInfo چیه و کجا مقایسه میشه؟
البته شاید این سوال خیلی مبتدی باشه ببخشید.

Inprise
سه شنبه 05 اردیبهشت 1385, 09:01 صبح
اگر درست یادم باشه Form Runtime اوراکل با جاوا نوشته شده بود ؛ درسته ؟ در این صورت دیباگ رو فراموش کن . اولا" که تصور نمیکنم قابلیت راست به چپ شدن فرمها به ازای زبانی خاص داخل متن برنامه Hardcode شده باشه ، کمی به معنی به نظر میرسه ، و فکر میکنم باید جائی فایل تنظیمی وجود داشته باشه که بشه با تغییر اون زبانهای دیگری رو اضافه کرد ، و غیر از این راه حل ساده تر تغییر مشخصات و فونتهای عربی به چیزی نزدیک به فارسی و نوشتن یک برنامه ساده برای نصب و انجام تغییرات لازم هنگام اجرای فرم ران تایم اوراکل هست .

hmm
سه شنبه 05 اردیبهشت 1385, 11:52 صبح
بازهم از وقتی که گذاشتین سپاسگذارم
فرم ران تایم رو با ++VC نوشتن (به لطف یه برنامه که زبان برنامه نویسی رو مشخص میکنه)
چون وقتی که با IDA اون رو باز میکنیم چند dll هم میخواد که یکی از اونها NLSRTN32.Dll که حدس میزنم اطلاعاتی که فرمودید داخل این dll باشه و جالبتر اونه که باز طبق فرمایشات شما یک سری فایلهای NLB. توی یه شاخه ای به این نامNLSRTN32 است که محتویات درونشون باینری است (یا به یه نحو غیر قابل خوندن کد شده) حال نمیدونم چطوی فایلی مشابه اون برای فارسی بسازم و اسمش رو چی بگذارم که بتونه از اون فایل استفاده کنه

hmm
سه شنبه 05 اردیبهشت 1385, 11:57 صبح
ولی ظاهرا از این فایلهای NLB. استفاده نمیکنه چون من همه شاخه رو پاک کردم ولی برنامه بصورت طبیعی و درست کارش رو ادامه میده

بی ربط:
میدونید یاد یک قسمت از سریال هرکول پوارو افتادم که پوارو مریض بود و نمیتونست به محل حادثه بره و اطلاعات رو جمع کنه وفقط از طریق اطلاعاتی که استیمز به او میداد در نهایت تونست قاتل رو شناسایی کنه
حالا شده داستان ما. من فقط یه سری اطلاعات به استاد عزیز اینپرایز میدم