فارسی کردن فایلها - قسمت دوم

آيا اين مقاله مفيد بود ؟


  • مجموع رای دهندگان
    3

Babak Sateli

Active Member
فارسی کردن فایلهای باینری ...
( قسمت دوم - شیوه پیشرفته )

همان طور که در مقاله قبلی ذکر کردم با برنامه های ویرایشی مانند Resource hacker و
غیره می توان به راحتی یک فایل را ویرایش کرد ... اما به راستی این برنامه ها چگونه
عمل می کنند ؟ در صورتی که مقاله قبلی را نخوانده اید می توانید آن را در آدرس زیر
مشاهده فرمایید :
http://www.majidonline.com/modules.php?name=Forums&file=viewtopic&t=2788

در این قسمت مقاله برای شما نحوه ویرایش فایلهای باینری توسط این نوع برنامه ها را
معرفی می کنم.

به طور کلی ، اکثر برنامه ها جهت استفاده از منابع تصویری ، نوشتاری ، صوتی و ... از
یک نوع فرمت فایل خاص به نام Resource استفاده می کنند. فرض کنید که یک خانه
دارید که در آن یک آشپزخانه ، یک اتاق خواب ، یک دستشویی وجود دارد. حال بازهم
فرض کنید که وسائل بیشماری در وسط اتاق اصلی خانه که همان حال است ریخته شده
است. این وسائل را به عنوان اطلاعات باینری یک فایل تصور کنید در حالی که کل خانه
در حکم همان فایل است.

حال فرض کنید که در قسمتی ، مانند آشپزخانه ، وسائل مربوط به آن قسمت قرار دارند.
آیا تا به حال فکر کرده اید که چرا بدین صورت است ؟
در حقیقت فواید بسیاری در این عمل وجود دارد ، اما یکی از آنها سرعت در جستجوی
وسیله مورد نظر است. به طور مثال زمانی که شما می خواهید به دنبال یک یخچال
بگردید ، هیچ وقت آن را در حمام جستجو نمی کنید چون می دانید که جاي آن در کجا است.

در فایلهای باینری نیز به همین روش ، قسمتهایی را در نظر گرفتند که اطلاعات مختلف
در آن به صورت کدگذاری نشده وجود داشته باشند تا دسترسی به آنها سریع باشد و
در آینده اگر قصد تعویض قسمتی را داشتید به راحتی بتوانید فقط آن قسمت را تغییر دهید
و از تغییر دادن کل فایل جلوگیری کنید.
خوب این صرفه جویی بسیاری در زمان می کند.

با توجه به مثال خانه ، فایلهای باینری نیز برای خود می توانند اتاقهای مختلف داشته باشند.
به طور مثال می توان یک قسمت در هر فایل باینری درست کرد که اطلاعات نوشتاری یا
گرافیکی برنامه در آن جای بگیرند.

به شکل زیر توجه کنید ، این شکل طرحی بسیار ساده از یک فایل باینری به همراه اتاقهای
آن ، که در حقیقت در حکم قسمتهای با نام Resource هستند ، می باشد :

f05.gif




خوب پس تا حدی با کار این برنامه ها آشنا شدیم. این نوع برنامه ها مانند برنامه ای
برای شما در مقاله قبلی معرفی کردم ، می آیند و این قسمتها را ویرایش می کنند.
ضمناً به خاطر داشته باشید که ویرایش این قسمتها فقط به خاطر تغییرات غیرمجاز
نیست و بسیاری از برنامه نویسان از جمله خود من ، از این قسمتها استفاده می کنند.
جالب است بدانید برخلاف ظاهر و اسم برنامه Resource Hacker که به نظر برنامه
عجیب و غریبی می آید ، ویرایش این قسمتها به صورت بسیار ساده انجام پذیر است.
چرا که این قسمتها با نام Resource به عنوان یک استاندارد فرمت فایلها شناخته شده اند.
fline.jpg

خوب تا به حال توانستیم این قسمتها را که به صورت منظم طبقه بندی شده اند
شناسایی و ویرایش کنیم. حال به چه صورت می توان قسمتهای دیگر فایلها را ویرایش کرد ؟
به طور مثال می خواهیم یک جمله را فارسی کنیم که در این قسمتها پیدا نکردیم !
حال به چه صورت می توانیم این کار را انجام دهیم ؟

اگر از افرادی که به برنامه نویسی آشنایی ندارند سوال کنید ، به شما جوابهای گوناگونی
مانند Notepad می دهند که بسیار جواب اشتباهی است و نه تنها باعث کمک کردن
به فرد مورد نظر نمی شود ، بلکه فایل مذکور پس از ویرایش توسط این برنامه ها به هیچ
عنوان قابل استفاده نخواهد بود. 8O

پس به چه صورت می توان اطلاعات را ویرایش کرد ؟
آیا تا به حال به این کلمات برخورد کرده اید : فایل نوشتاری - فایل باینری
تفاوت این دو نوع فایل در این است که فایل نوشتاری شامل عدد ، حرف و علامتهایی
هستند که می توانند توسط برنامه هایی مانند Notepad شناسایی ، ایجاد و ضبط شوند.

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

از برنامه های معروف برای این کار ، برنامه Hex Editor یا Axe هستند که این قابلیت را
به شما می دهند.
از آدرس های زیر می توانید این برنامه ها را دانلود کنید :
http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm
http://www.programmersheaven.com/zone16/cat862/22690.htm

این هم یک تصویر از برنامه Axe نسخه 3.
22690.gif


خوب حالا موضوع چیست ؟ این برنامه ها چه کاری می کنند و به چه صورتی میشه
فایلهای انگلیسی را فارسی کرد ؟
fline.jpg

جواب بسیار ساده است.
این برنامه ها می توانند به صورت کاراکتر - کاراکتر فایلهای باینری را بخوانند و هر
کاراکتری را که شما بخواهید تغییر بدهند.
تنها کاری که شما لازم است انجام دهید ، بازکردن فایل ، جستجو به دنبال کلمه
انگلیسی و بازگرداندن آن ( یا تغییر آن ) به فارسی است.
فقط در زمان این کار یک نکته بسیار مهم را در نظر داشته باشید.
اگر می خواهید یک کلمه را فارسی کنید ، ترجمه فارسی آن می بایست از نظر
تعداد حروف مساوی و یا کمتر از کلمه انگلیسی باشد.

به طور مثال ترجمه کلمه File می توانید به صورت [فایل] انجام پذیرد.
چون هر دو از چهار حرف ( یا همان کاراکتر استفاده می کنند )
اگر حروف ترجمه فارسی کمتر از حروف انگلیسی آن بود از جای خالی یا همان
Space برای تکمیل آن استفاده نمایید.

به هیچ عنوان کاراکترهایی را که نمی دانید چه هستند ویرایش نکنید که در این صورت
فایل شما خراب خواهد شد. ضمناً یادآوری می کنم که قبل از ویرایش هر فایلی از
آن یک فایل پشتیبان ( یا همان Backup ) تهیه نمایید.


fline.jpg

خوب با استفاده از این مقاله و مقاله قبلی می توانید فایلهای خود را فارسی کنید.
اگر تا اینجا موضوع را فهمیده باشید می توانید 60 درصد فایلهای ویندوز خودتان را فارسی
کنید.

در مقاله های بعدی ، نحوه ویرایش قسمتهای دیگری که نه توسط برنامه های ویرایش
Resource می توان فارسی کرد و نه توسط ویرایشگرهای باینری ، را توضیح خواهم داد.
ضمناً در مقاله های آینده ، سورس کامل برنامه ویرایشگر Resource را برایتان خواهم نوشت.
در آن صورت خودتان می توانید یک Resource Hacker بنویسید.

لطفاً نظرات خودتان را در رابطه با این مقاله بفرمایید.
موفق باشید.
 
ممنون خوب بود بهتر براي دوستان به معرفي فايلهاي dll . exe تو برنامه هاي پر كاربرد بپردازي مثلا تو ياهو res_msgr.dll از اين قبيل
8) 8)
 

Babak Sateli

Active Member
چشم
امیدوارم در مقاله های آتی با کمک خود شما بیاییم و نحوه فارسی کردن
چند برنامه معروف ( مانند Yahoo Messenger ) را برای دوستان توضیح بدهیم تا
دوستان ببینند که این کار بسیار آسان است و برخلاف آنچه که دوستان تصور
می کنند برنامه نویسان حرفه ای ، برنامه ها را فارسی می کنند ، این کار
بسیار ساده تر است !

با تشکر از راهنمایی شما
 
بله واقعا اين طوره مي گيد كار خيلي آسونيه ولي وقت گير كه حوصله زيادي مي خواد .
8O
 
راستي اميدوارم با بچه هايي كه به اين كار علاقه دارند يه تيم تشكيل بديد
و شروع به فارسي كردن يه سري برنامه كنيد .
 

Vmj

Member
سلام به همه دوستان.
من خجالت ميكشم بين اين همه اوستا اين حرف رو بزنم. :oops:
اما حالا كه اصرار ميكنيد ميگم. من ميتونم بگم خداي اين كار هستم. با اين برنامه resource hacker و قبل از اون با EXE Scope سال پيش يك سوم ويندوز پارسا را فارسي كردم. منظورم پيغامها و نوشته هاش بود. ميشه گفت اين كار آسونترين كاري هست كه ميشه با كامپيوتر كرد ولي به شدت حوصله و پشتكار ميخواد كه تا آخرش برسي. كه من نداشتم.
الآن همه سوراخ سمبه هاي ويندوز رو بلدم.
در ضمن نميدونم چرا شما اين hex editor ها را معرفي ميكنيد. اينا خيلي محدودن و براي كارهاي خفن هستند همونطوري كه دوستمون اشاره كرد مثلا اگر يك اسم منو 4 حرفي باشه و شما بخوايد معادل فارسيشو بزاريد بايد 4 حرف يا كمتر باشه. اما توي Resource hacker به هيچ وجه از اين محدوديتها نداريم.

به هر حال ميخواستم بگم اگر پروژه اي هست رو من هم ميتونيد حساب كنيد. ببخشيد كه سرتون رو درد آوردم. :oops:
 

Babak Sateli

Active Member
جناب Vmj سلام

من اطلاعات بيشتري در اين زمينه ميدونم. اما اگر توجه كنيد اين يك آموزش است.
راههاي بسيار پيشرفته تري براي فارسي كردن قسمتهايي كه اصلاْ با اين برنامه ها ممكن
نيست هم وجود دارد.
مثلاْ به دست آوردن Handle پنجره ها و تغيير نوشته ها و Bidi Mode به صورت Dynamic كه فكر
نكنم شما ار آن اطلاعي داشته باشيد !
من خودم چند سال پيش يك ويندوز رو به صورت كامل فارسي كردم كه در ايران از آن
نسخه هاي فراواني فروخته شده !

اسم اين ويندوز هم Persian است محصول شركت CD Center كه به طور كامل توسط
خودم فارسي شده !
اين هم آدرس سايت اون :
http://www.cdcenterco.com/Products/pages/Win me/Winme.htm
اين هم آدرس سايت شركت صاحب اون :
http://www.cdcenterco.com/

من اطلاعات كاملي در رابطه با فارسي كردن ويندوز حتي قسمتهايي كه با برنامه هاي توي بازار
انجام شدني نيست دارم.

قصد من آموزش به دوستان است و اينكه نشان بدهم فارسي كردن كار سختي نيست !
اما اگر كسي بخواهد تمام ويندوز را فارسي كند ، داستان به همين راحتي ها نيست !
شما هم بهتر است به جاي اشكال گرفتن از كار ديگران ، مطالبي را كه ميدانيد در اختيار
كاربران ديگر قرار بدهيد تا ديگران هم از آن استفاده كنند. من اون طوري كه شما گفتيد
احساس مي كنم معلوماتي در زمينه هاي گوناگون داريد.
من و دوستان بسيار خوشحال خواهيم شد تا از مطالب شما استفاده كنيم.

با تشكر
 

Vmj

Member
من اينجا از همه دوستاني كه از حرف من ناراحت شدند معذرت خواهي ميكنم.
در ضمن شما استاد مايي آقا.
ميشه كمي از اطلاعاتت رو در اختيار ما هم قرار بدي.
يه نمونه از اون مواردي كه نميشه با اين برنامه فارسي كرد رو كامل توضيح بده اگه ممكنه .
ممنون
 

Babak Sateli

Active Member
دوست عزيز

من نه استاد هستم و نه چيزي بلد هستم.
دنياي نرم افزار بسيار بزرگتر از اين حرف ها است كه كسي خودش را استاد معرفي كند.
من يك عضو كوچك از اين دنياي بزرگ هستم.

اين سايت براي اين سري مطالب پيشرفته برنامه نويسي كه ربطي به موضوع سايت
نداره مناسب نيست ، اما چشم. اگر شما مايل هستيد من تمامي معلومات خودم را
با كمال ميل در اختيار دوستان و شما قرار مي دهم.

با من از طريق E-mail تماس بگيريد لطفاْ تا مطالبي را كه احتياج داريد در اختيارتان قرار بدهم.
لطفاْ در قسمت Subject از عنوان Delphi استفاده كنيد تا متوجه شوم كه از شما نامه دارم.

موفق باشيد.
 

ithf

Member
من يه مشكل دارم و اونم اينه كه متن هاي كه من ترجمه كرده ام همش ؟؟؟؟؟؟ نشون ميده

:cry: :?:
 

MnavidM

Active Member
با سلام

آقاي بابك اميدوارم از دست من ناراحت نشده باشين كه من گفته بودم اين برنامه ها مي تونه

به برنامه نويس آسيب برسونه.

به هر حال آموزش ها تون خيلي خوبه. خسته نباشيد.

جدا از اين فكر كنم اگه زحمت بكشين و روش هاي مقابله با اين كار ها رو هم آموزش بدين خوبه.

مثلا يك نمونش اينكه حجم فايل EXE رو با برنامه هايي (كه اسم اون ها رو فراموش كردم) كم

كنيم. اين طور نيست بابك جان.
 

Vmj

Member
بله همونطور كه اشاره كرديد براي مقابله با اين كار ميتونيد فايلهاي exe را Encrypt كنيد يعني اونها رو با برنامه هاي EXE Compressor فشرده كنيد. اونوقت ديگه با اين نرم‌افزارها هم نميشه اديت كردشون.
اما بازم ميشه اديت كردشون :lol:
چون واسه اين كار برنامه هايي هست به نام EXE Decryptor كه دقيقا عكس عمل فشرده سازي رو انجام ميده.
البته اينو بگم كه براي هر برنامه كه اين فايلهاي اجرائي رو فشرده ميكنه يك برنامه مخصوص وجود داره كه عكس اين عمل رو انجام ميده.
 

Babak Sateli

Active Member
doste گفت:
با سلام

آقاي بابك اميدوارم از دست من ناراحت نشده باشين كه من گفته بودم اين برنامه ها مي تونه
به برنامه نويس آسيب برسونه.
به هر حال آموزش ها تون خيلي خوبه. خسته نباشيد.
جدا از اين فكر كنم اگه زحمت بكشين و روش هاي مقابله با اين كار ها رو هم آموزش بدين خوبه.
مثلا يك نمونش اينكه حجم فايل EXE رو با برنامه هايي (كه اسم اون ها رو فراموش كردم) كم
كنيم. اين طور نيست بابك جان.

دوست عزيز

جواب خود را ميتونين از مقاله جديدي كه به سايت فرستادم مشاهده فرماييد
http://www.majidonline.com/modules.php?name=Forums&file=viewtopic&p=14023#14023
 

Babak Sateli

Active Member
Vmj گفت:
بله همونطور كه اشاره كرديد براي مقابله با اين كار ميتونيد فايلهاي exe را Encrypt كنيد يعني اونها رو با برنامه هاي EXE Compressor فشرده كنيد. اونوقت ديگه با اين نرم‌افزارها هم نميشه اديت كردشون.
اما بازم ميشه اديت كردشون :lol:
چون واسه اين كار برنامه هايي هست به نام EXE Decryptor كه دقيقا عكس عمل فشرده سازي رو انجام ميده.
البته اينو بگم كه براي هر برنامه كه اين فايلهاي اجرائي رو فشرده ميكنه يك برنامه مخصوص وجود داره كه عكس اين عمل رو انجام ميده.

بحث شما كاملاْ درست است
 
يه پيشنهاد ؟
البته ببخشيد بي مقدمه گفتم
بهتر هممون تو يه پروژه مثل فارسي كردن ويندوز xp با هم همكاري كنيم اينطوري هم يه كاري انجام داديم هم اين كار زودتر به نتيجه مي رسه .
اينم يه نظري بود حالا ...
 
چطور بازيها رو فارسي كنيم؟؟؟

با عرض سلام
استاد انگار يادتون رفته كه قرار بود طريقه فارسي كردن بازيها رو ياد بديد. ما منتظريم :oops:
 

Babak Sateli

Active Member
Re: چطور بازيها رو فارسي كنيم؟؟؟

farzad_fb25 گفت:
با عرض سلام
استاد انگار يادتون رفته كه قرار بود طريقه فارسي كردن بازيها رو ياد بديد. ما منتظريم :oops:

دوست عزيز

با تشكر از يادآوري شما.
متاسفانه در حال حاضر مشغول ساخت سايت هستيم.
به اميد خدا پس از اتمام اين كار با يادآوري دوباره شما اين كار را انجام خواهم داد.

با تشكر دوباره
 

behsa

Member
اگر دوستان يادشون باشه يك بحثي در جريان بود و در اون بحث تعداد سوالات زيادي در مورد فارسي كردم و ... وجود داشت. در اين مبحث تعدادي از دوستان از جمله خودم مشكلي داشتم كه حتي با كمك آقا بابك هم حل نشد . ( تا اونجا كه من يادم هست. شايد هم به نتيجه رسي و من متوجه نشده باشم ) اما به هر حال من راه حلش را پيدا كردم.

مشكل: در بعضي موارد هنگام فارسي كردن فايلها و برنامه ها نوشته هاي فارسي بصورت ؟؟؟؟؟؟؟؟؟ نمايش داده ميشدند

را حل : در Control Panel وارد Regional and Language Options شويد . سپس زبانه Advanced
سپس در قسمت Language for non Unicode Program زبان فارسي را انتخاب كنيد. مشكل حل خواهد شد. :wink:
 

swi

Member
با سلام
آقا ممنون من خیلی موقع بود که دنبال چنین کاری بودم و هیچ جا کسی نمیدونسیت . آقا من یکی از این نرم افزار هایی که گفتی دانلود کردم . اسمش هست xvi32 . ولی نمیدونم چه جوری باهاش کار کنم . سوال بعدیم اینه که فقط باید فایل exe رو توش تغییرات بدیم یا بقیه فایل ها هم باید دستکاری بشند . راستی اگه نرم افزار دیگه ای سراغ دارید که بهتر و راحتتر باشه و تو حین کار همون جوری که داری اسم منوها رو عوض می کنی بتونی ببینی لطفا لینکش رو بزار . راستی تو این نرم افزاره فارسی نمی نویسه . چه جوری باید بنویسم . منتظر جواب هستیم ها . راستي اون مقاله اولت رو هم نميتونم بخونم . ارور ميده .
 

جدیدترین ارسال ها

بالا