رفتن به مطلب

فارسی کردن فایلهای باینری


ملیساا

ارسال های توصیه شده

( قسمت اول - شیوه مقدماتی )

 

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

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

 

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

یکی از قسمتهایی که در این فایلها می شود ذخیره ساخت ، همان نوشته ها و جملات برنامه هستند. حال فکر کنید یک برنامه 5 فایل DLL دارد که هر کدام دارای یک زبان مختلف می باشند. البته این بحث فقط مربوط به فایلهای DLL نمی باشد و فایلهایی نظیر EXE را نیز شامل می شود.

 

حال اگر بتوانیم به روشی این نوشته ها را به زبان فارسی تبدیل کنیم ، فایل مورد نظر به زبان فارسی می شود. البته فارسی ساختن یک فایل به همین راحتی هم نیست. چون همان طوری که میدونید زبان فارسی از سمت راست به چپ است در حالیکه اکثر زبانهای دنیا از سمت چپ به راست می باشند. (غیر از ژاپنی که معلوم نیست به چه سمتی خوانده میشه !)

 

حال بیایید ببینیم چگونه میتونیم با ساده ترین روش این جملات رو فارسی کنیم ؟ خوب مسلما" راحت ترین راه ، استفاده از یک برنامه آماده می باشد.

 

ابتدا برنامه Resource Hacker رو از آدرس زیر دانلود و نصب کنید.

f_binary_p02_rh_icon.gif

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

این را هم به خاطر داشته باشید که این برنامه بر خلاف اسمش بسیار سودمند است. بسیاری از برنامه نویسان جهان جهت ساخت فایلهای Resource خود از این برنامه استفاده می کنند. پس از نصب این برنامه آن را باز کنید و کار خود را با فارسی کردن اولین فایل ویندوز شروع می کنیم. به خاطر داشته باشید که شما می بایست یک ویندوز جهت تایپ فارسی برای این قسمت داشته باشید. برنامه Resource Hacker به لحاظ 32 بیتی بودنش میتونه تقریبا" 90 درصد فایلهای ویندوز رو ویرایش کنه. پس اعمال زیر را یک به یک انجام دهید :

 

1) برنامه Resource Hacker را اجرا کنید.

 

2) سپس از منوی File گزینه Open را انتخاب نمایید تا پنجره مربوط به گشایش فایل ظاهر شود.

 

3) سپس به شاخه ویندوز ( به طور مثال C:\Windows ) بروید و یکی از فایلهای اجرایی ، مانند ماشین حساب وییندوز را باز کنید. این فایل با نام Calc دیده می شود. ( در برخی از ویندوزها مانند ویندوز XP این فایل در شاخه سیستمی ویندوز قرار دارد ، به طور مثال C:\Windows\System32 )

f_binary_p02_f01.jpg

4) حال در سمت چپ ، گزینه String Table را باز کنید. این همان قسمتی است که شما می بایست در تمامی برنامه ها ، جهت فارسی کردن فایلها ویرایش نمایید.

f_binary_p02_f02.jpg

5) یکی دیگر از قسمتهایی که می توان تغییر داد ، منوی برنامه ها می باشد که به راحتی می توانید از سمت چپ انتخاب نمایید. حال کار خود را با فارسی کردن یک منو ادامه می دهیم. پس از انتخاب Menu از سمت چپ ، گزینه با کد 307 را فارسی می کنیم. در انتها دکمه Compile Script را فشار دهید و فایل را ذخیره نمایید.

f_binary_p02_f03.jpg

6) حال برنامه ماشین حساب ویندوز خود را اجرا کنید و نتیجه را ملاحظه فرمایید. در تصاویر زیر می توانید تفاوت را کاملا" مشاهده نمایید.

f_binary_p02_f04.gif

خوب این روش بسیار ساده و مقدماتی برای فارسی کردن فایلها می باشد. به خاطر داشته باشید این برنامه ، و برنامه های شبیه این می توانند فایلهای کامپایل شده به صورت Resource را ویرایش کنند که معمولا" با پسوندهای EXE ، DLL ، OCX ، CPL ، SCR و ... شناخته می شوند. این را هم بدانید که بسیاری از فایلهای دیگر نیز از این نوع فایلها می باشند و تنها با تغییر دادن پسوند آنها می توان این نوع فایلها را نیز ویرایش کرد. به طور مثال فایلهای Theme ویندوز از نوع همان DLL می باشند.

 

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

 

ضمنا" به عنوان یک خواهش جدی از شما مي خواهم قبل از فارسی کردن هر فایل ، از آن ، یک فایل Backup تهیه کنید و در صورتی که آشنایی بسیار کم به کامپیوتر دارید ، از ویرایش فایلهای ویندوز جدا" خودداری کنید.

 

در صورتی که فایلهای ویندوز را به اشتباه فارسی کنید ، ویندوز دیگر قادر به شناسایی آنها نمی باشد لذا ویندوز درست اجرا نمی شود و در برخی مواقع مجبور به نصب دوباره ویندوز می شوید !

لینک به دیدگاه

( قسمت دوم - شیوه پیشرفته )

 

همان طور که در مقاله قبلی ذکر کردم با برنامه های ویرایشی مانند Resource hacker و غیره می توان به راحتی یک فایل را ویرایش کرد ... اما به راستی این برنامه ها چگونه عمل می کنند ؟ در صورتی که مقاله قبلی را نخوانده اید می توانید آن را در آدرس زیر مشاهده فرمایید :

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

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

 

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

 

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

 

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

 

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

 

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

f_binary_p01_f05.gif

خوب پس تا حدی با کار این برنامه ها آشنا شدیم. این نوع برنامه ها مانند برنامه ای برای شما در مقاله قبلی معرفی کردم ، می آیند و این قسمتها را ویرایش می کنند.

ضمناً به خاطر داشته باشید که ویرایش این قسمتها فقط به خاطر تغییرات غیرمجاز نیست و بسیاری از برنامه نویسان از جمله خود من ، از این قسمتها استفاده می کنند.

جالب است بدانید برخلاف ظاهر و اسم برنامه Resource Hacker که به نظر برنامه عجیب و غریبی می آید ، ویرایش این قسمتها به صورت بسیار ساده انجام پذیر است.

چرا که این قسمتها با نام Resource به عنوان یک استاندارد فرمت فایلها شناخته شده اند.

f_binary_p01_fline.jpg

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

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

 

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

به فرد مورد نظر نمی شود ، بلکه فایل مذکور پس از ویرایش توسط این برنامه ها به هیچ عنوان قابل استفاده نخواهد بود. f_binary_p01_icon_eek.gif

 

پس به چه صورت می توان اطلاعات را ویرایش کرد ؟

آیا تا به حال به این کلمات برخورد کرده اید : فایل نوشتاری - فایل باینری

تفاوت این دو نوع فایل در این است که فایل نوشتاری شامل عدد ، حرف و علامتهایی هستند که می توانند توسط برنامه هایی مانند Notepad شناسایی ، ایجاد و ضبط شوند.

 

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

 

از برنامه های معروف برای این کار ، برنامه Hex Editor یا Axe هستند که این قابلیت را به شما می دهند. از آدرس های زیر می توانید این برنامه ها را دانلود کنید :

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

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

f_binary_p01_22690.gif

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

f_binary_p01_fline.jpg

جواب بسیار ساده است.

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

 

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

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

f_binary_p01_fline.jpg

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

 

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

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

 

لینک به دیدگاه

قسمت سوم - شیوه مقابله با فارسي كردن )

 

بسیاری از دوستان ( و مخصوصاً برنامه نویسان ) همیشه نگران این بوده اند که دیگران بتوانند از فایلهای آنها در پروژه های خودشان استفاده کنند.

 

روشی که من در 2 مقاله قبل به شما آموزش دادم ، دقیقاً همان موضوعی است که برنامه نویسان از آن گله مند بوده اند. اما آیا راهی است که بشود فایل را طوری تنظیم کرد که دیگران به هیچ وجه نتوانند آن را تغییر دهند ؟ ( به طور مثال با نام خود به بازار ارائه کنند! )

 

در جواب این سوال 2 مورد مختلف وجود دارند.

 

اگر تا به حال برنامه را ننوشتید و نگران تغییرات برنامه از طریق برنامه های فارسی ساز و ... هستید هیچگاه برای برنامه خودتان از Resource استفاده نکنید. تا زمانی که می توانید از ّFormat های ساخته شده توسط خودتان جهت ذخیره کردن اطلاعات استفاده نمایید و فایلهای خود را به صورت کدگذاری شده ( یا همان Encrypt ) در آورید.

 

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

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

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

 

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

 

خوب پس را دوم هم پیدا شد !!!

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

 

binary_tut03_pic0upx12.png

 

 

 

از معروف ترین این نوع برنامه ها UPX است که آن را می توانید از لینک زیر دانلود کنید.

این برنامه در محیط داس ( تحت ویندوز ) اجرا می شود. ضمناً رایگان ( Free ) هم است !

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

 

binary_tut03_pic0aspack_header.gif

یکی دیگر از برنامه های فشرده ساز ، برنامه معروف AsPack می باشد که نسبت به برنامه قبلی امکانات بیشتری دارد ، در ویندوز اجرا می شود و البته پولی هم است ! اما به شما اجازه استفاده 30 رورزه رایگان را نیز می دهد :

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

البته برنامه هایی نیز در اینترنت پیدا می شوند که می توانند دوباره فایلهلی فشرده شده توسط این برنامه ها را نیز به حالت عادی برگردانند !

 

اما نگران نباشید ، این برنامه ها زیاد در دسترس نیستند و ضمناً به خاطر داشته باشید که کسی که بخواهد فایل شما را ویرایش غیرمجاز کند ، اگر حرفه ای باشد ، از هر راهی شده می تواند این کار را انجام دهد.

 

اما برنامه های UPX و AsPack سد خوبی برای مبتدیان می باشند.

در ضمن به خاطر داشته باشيد هيچگاه فايلهاي ويندوز را توسط اين برنامه ها فشرده كنيد. ضمناْ قبل از فشرده سازي هر فايل از آن يم نسخه Backup تهيه كنيد چرا كه برخي از فايلها ( به خصوص فايلهاي DLL ) بعد از فشرده سازی قابل استفاده نمی باشند .

 

 

مقاله هاي قبلي را مي توانيد در آدرسهاي زير مشاهده فرماييد :

 

قسمت اول :

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

قسمت دوم :

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...