دسترسی به کد های برنامه TeraCopy Pro 2.3 و تغییر دادن محتوای آن
دوست ارجمند و جوانم (سهند) طی پیامی درخواست کردند که مثالی گویا و ساده در رابطه با چگونگی دسترسی به
فایل ها و کد های یک برنامه را توضیح دهم. و بنده این برنامه را که کار با آن ساده هست را برای اجابت درخواست
ایشان انتخاب کردم.
قبلا" در چند پست اشاره وار عرض کرده ام که هر برنامه نویس پس از طراحی برنامه ای که درست میکند ، در انتهای
کار با تعدادی فایل و کد روبرو هست که اگر این کد ها و فایل ها در کنار هم قرار داشته باشند ، برنامه کار خواهد کرد.
در زمانیکه کار طراح تمام شد و خواست که برنامه را بفروشد ، ایشان نمی آید که عین کد ها و فایل های اصلی را
در اختیار خریداران قرار دهد.
بلکه با استفاده از برنامه هائی دیگر ، تمام فایل های مورد نیاز برنامه اش را به یک فایل اجرائی تبدیل کرده و این فایل
اجرائی را به خریدار تحویل می دهد. و خریدار این فایل اجرائی را نصب کرده و استفاده میکند.
از شرح مختصر بالا می توانیم نتیجه بگیریم که ما اگر بتوانیم بطریقی فایل اجرائی ایشان را تجزیه کرده و به کد ها و
فایل های اصلی ایشان دسترسی پیدا کنیم ، براحتی میتوانیم بدلخواه خود تغییراتی در برنامه انجام دهیم.این کار را
در اصطلاح کامپیوتر Reverse engineering (مهندسی معکوس) می نامند.
برای انجام اینگونه کار ها هم نیاز به حوصله و صبر زیادی هست و هم لازم است که کاربر با تعدادی برنامه ها آشنا
باشد .
من در این تاپیک بطور اشاره وار و گذرا چگونگی انجام اینکار را در رابطه با اینکه چگونه به کد ها و فایل های اصلی
برنامه TeraCopy Pro 2.3 دست پیدا کرده و کاری کنیم که برنامه پس از نصب ، اکتیو شده باشد توضیح خواهم داد.
توضیح اینکه همانطوریکه بار ها در پست های مختلف عرض کرده ام ، قصد ما با این نوع آموزش ها یاد دادن هک و کرک
و امثال آن نبوده ، ادعائی نداریم ، و فقط میخواهیم جوانان برومند میهنمان با این علوم آشنا شوند و روزی برسد که
ببینیم ، هر چه استفاده میکنیم نتیجه دسترنج جوانمردان و یا شیر زنان ایرانی است.
=====================
=================
مراحل کار:
======
1. میخواهیم بدانیم که برنامه TeraCopy Pro 2.3 توسط کدام برنامه به فایل اجرائی تبدیل شده است. یک راه ساده
برای دانستن این موضوع ، استفاده کردن از برنامه رایگان Universal Silent Switch Finder است.
میتوانید این برنامه را با حجم 1 مگا بایت از لینک زیر دانلود فرمائید:
Universal Silent Switch Finder 1.5.0.0
این برنامه یکی از برنامه های محبوب کاربران ویندوز بوده و کار اصلی اش این است که میتواند به ما مشخص کند که با
چه دستوری می توانیم خیلی از برنامه ها را بصورت اتوماتیک نصب کنیم.
و نیز مشخصاتی از فایل نصب را هم در اختیارمان قرار میدهد.
اگر این برنامه را اجرا کرده و آدرس فایل نصب برنامه TeraCopy Pro 2.3 را (teracopy.exe) وارد کنیم مطابق شکل زیر دو
مشخصه خوب را در اختیارمان خواهد گذاشت:
http://www.worldup.ir/images/0iwjxsi8kgj1qinwswml.png
همانطوریکه در شکل بالا مشاهده می کنید برنامه مشخص کرده که اولا" فایل ها و کد های اصلی ساخت فایل اجرائی
برنامه TeraCopy Pro 2.3 توسط برنامه Inno setup درست شده اند.
و ثانیا" در زیر آن مشخص کرده که اگر دستور زیر را در کنار برنامه TeraCopy اجرا کنیم ، این برنامه بطور اتوماتیک نصب
خواهد شد:
کد:
"teracopy.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
2. حالا که فهمیدیم سازنده برنامه TeraCopy Pro 2.3 از برنامه Inno setup برای ساخت فایل اجرائی استفاده کرده
میتوانیم فایل اجرائی teracopy.exe را تجزیه کرده و به فایل های داخلش و نیز کد های استفاده شده دسترسی پیدا
کنیم.
اگر برنامه رایگان دیگری بنام Universal Extractor در سیسمتان نصب باشد براحتی بروش زیر میتوانید فایل ها و کد
های مورد نظر را داشته باشید و آن اینکه روی فایل نصب teracopy.exe کلیک راست کرده و سپس از منوی مربوطه
مطابق شکل زیر روی گزینه UniExtract to Subdir کلیک کنید:
http://www.worldup.ir/images/dwr9du3zvl5oivxeec1.png
با این کار چند لحظه بعد پوشه ای بنام teracopy در کنار فایل teracopy.exe درست خواهد که که در داخل آن تمام فایل
ها و کد های مربوط به ساخت فایل وجود دارند.
در فرصتی دیگر بحث را دنبال خواهیم کرد.
پاسخ : دسترسی به کد های برنامه TeraCopy Pro 2.3 و تغییر دادن محتوای آن
برای اینکه بتوانیم به کد ها و فایل های اصلی یک فایل اجرائی دسترسی پیدا کنیم ، اولین قدم این است که بتوانیم
شناسائی کنیم که فایل مورد نظر توسط کدام برنامه درست شده است.
انجام این کار در رابطه با بعضی برنامه ها خیلی راحت است که نمونه اش را در پست قبلی ، در رابطه با فایل برنامه
TeraCopy Pro 2.3 مشاهده کردیم.
ولی انجام این کار در رابطه با خیلی از برنامه ها به این سادگی نبوده و گاها" حتی امکان ندارد.
بهر حال در حال حاظر ما پوشه ای بنام teracopy داریم که در داخلش کد و فایل های اصلی فایل نصب برنامه TeraCopy
وجود دارند.
ولی ما هنوز نمیتوانیم در این فایل ها و کد مربوطه دخل و تصرف کنیم.
در پست قبلی متوجه شدیم که فایل نصب این ورژن از برنامه TeraCopy توسط برنامه Inno setup درست شده است.
لذا برای اینکه بتوانیم با کد و فایل های استخراج شده موجود کار کنیم ، لازمه اش این است که اول برنامه Inno setup
را در سیستم خود نصب کنیم.
برنامه Inno Setup Compiler 5.5.5 برنامه ای رایگان است که در ویندوز های XP و 7 و 8 کار میکند میتوانید آن را با
حجم 1.9 مگا بایت از لینک زیر دانلود کرده و نصب کنید:
Inno Setup Compiler 5.5.5
حال که این برنامه را هم نصب کردید میتوانید با انجام مراحل زیر ، فایل ها و کد استخراج شده را دستکاری کرده و یک
فایل نصب جدید بسازید که تغییرات شما در آن اعمال شده است.
=================
1. برنامه TeraCopy Pro 2.3 را در سیستمتان نصب کنید.
2. حال باید کد مربوطه را در برنامه نصب شده وارد کنید تا برنامه اکتیو شود. اگر مراحل وارد کردن کد به برنامه را مانیتور
کنید ، متوجه خواهید شد که این ورژن از برنامه ، وقتیکه کد اکتیو شدن را دریافت کرد ، آن را در فایلی بدون پسوند
با نام license در محل زیر ذخیره میکند.
در ویندوز xp
C:\Documents and Settings\{username}\Application Data\TeraCopy\license
در ویندوز 7
C:\Users\{username}\AppData\Roaming\TeraCopy\licen se
یک کپی از فایل license را در جائی ذخیره کنید.برنامه TeraCopy Pro 2.3 اگر این فایل را در آدرس بالا ببیند بصورت
اکتیو شده کار خواهد کرد. شما میتوانید این فایل را حذف کرده و دوباره برنامه TeraCopy Pro 2.3 را اجرا کنید ،
خواهید دید که برنامه دیگر اکتیو نیست.
3. در پست قبل بعد از اینکه فایل های برنامه را استخراج کردیم، در انتهای کار پوشه ای بنام TeraCopy داشتیم که
فایل ها و کد های استخراج شده درون آن قرار داشتند. حالا اگر وارد این پوشه شوید ، خواهید دید که داخل آن مطابق
شکل زیر ، دو تا پوشه بنام های {app} و embedded و یک فایل بنام install_script.iss وجود دارند:
http://www.worldup.ir/images/c6woo3vkfkytxkuficex.png
پوشه {app} حاوی تمام فایل هائی است که برنامه در حین نصب به سیستم اضافه میکند.
پوشه embedded حاوی فایل هائی است که برنامه در حین نصب استفاده میکند.برای مثال در حین نصب نرمال این
برنامه ، پنجره نصب دارای دو تا تصویر است که آن ها با نام های WizardImage.bmp و WizardSmallImage.bmpداخل
این پوشه قرار دارند.
اگر بخواهید در انتهای کار ، فایل نصب درست شده تصاویر دلخواه شما را داشته باشد ، میتوانید این دو تا تصویر را
عوض کنید (فراموش نکنید که باید سایز و فرمت تصاویری که قرار میدهید ، دقیقا" مثل فایل های اصلی باشند).
3. در سطور بالا عرض کردم که این برنامه اگر ببیند فایلی بنام license (که در بالا یک کپی از آن را نگه داشتیم) ، در
محل گفته شده در بالا وجود دارد بصورت اکتیو کار خواهد کرد.
پس ما باید کاری کنیم که در حین نصب این برنامه ، این فایل license هم در محل گفته شده قرار بگیرد.
فعلا" در این مرحله از کار ، فایل license را به داخل پوشه {app} کپی کنید.
4. در بالا گفتم که درون پوشه {app} فایل هائی وجود دارند که برنامه آن ها را در حین نصب به سیستم اضافه میکند.
ولی فقط با کپی کردن فایل license به داخل پوشه {app} ، ، برنامه آن را به محل گفته شده کپی نخواهد کرد.
برنامه در حین نصب مطابق کد های نوشته شده در فایل کد (install_script.iss) عمل خواهد کرد.
فایل install_script.iss یک فایل متنی است که میتوانید آن را با برنامه Notepad باز کرده و محتوایش را مطالعه نمائید.
بنابر این برای اینکه برنامه فایل license را هم استفاده کرده و آن را در موقع نصب به داخل پوشه ای که در بند 1 بالا
گفته شد ) کپی کند ، لازم است که در فایل install_script.iss دستور مربوط به این کار را اضافه کنیم.
برای اینکار فایل install_script.iss را با برنامه Notepad باز کرده و در زیر قسمت [Files] سطر زیر را به آن اضافه نموده
و ذخیره کنید:
کد:
Source: "{app}\license"; DestDir: "{userappdata}\TeraCopy"; MinVersion: 0.0,5.0; Flags: restartreplace uninsrestartdelete ignoreversion
5. حالا اگر برنامه Inno setup را در سیستمتان نصب کرده باشید میتوانید روی فایل install_script.iss کلیک راست
کرده و مطابق شکل زیر روی گزینه Compile کلیک کنید:
http://www.worldup.ir/images/g6i8fglw281wyqk56y.png
برنامه Inno setup شروع به کار کرده و در انتهای کار خواهید دید که در کنار فایل install_script.iss پوشه ای بنام
Output درست شده که داخلش یک فایل اجرائی قرار دارد.
در صورتیکه مطابق شروح داده شده عمل کرده باشید ، اگر فایل اجرائی درست شده در داخل پوشه Output را اجرا
کنید ، خواهید دید که برنامه TeraCopy Pro 2.3 شروع به نصب کرده ، پنجره نصب تصاویر مورد نظر شما را دارد و در
انتهای نصب ، اگر اجرایش کنید ، خواهید دید که برنامه اکتیو هم هست.
من ساده ترین روش را توضیح دادم
کار های دیگری هم میشود با این برنامه انجام داد فرضا" میتوان فایل های زبان های مختلف را که لازم نداریم را حذف
کنیم ، میتوانیم آیکن فایلی را که درست میشود را تغییر دهیم ووو.......
ولی همه این ها مستلزم آن است که کاربر اطلاعات کافی در رابطه با برنامه Inno Setup و بعضی برنامه های دیگر
داشته باشد.
موفق باشید.
پاسخ : دسترسی به کد های برنامه TeraCopy Pro 2.3 و تغییر دادن محتوای آن
برای اینکه مختصری بیشتر بحث را کاملتر کنم در اینجا چگونگی انجام دوتا تغییر دیگر را در این برنامه شرح میدهم:
1لف: تغییردادن آیکن فایل اجرائی نهائی
=======================
1. آیکن دلخواه خود را تهیه و آن را فرضا" با نام xxx.ico در کنار فایل install_script.iss قرار دهید.
2. فایل install_script.iss را توسط notepad باز کرده و در سطور اول در زیر قسمت [Setup] سطر زیر را اضافه کرده و
ذخیره کنید:
SetupIconFile=xxx.ico
حال اگر فایل install_script.iss را Compile کنید خواهید دید که فایل اجرائی ساخته شده ، با آیکن مورد نظر شما
دیده می شود.
ب . حذف فایل های زبان های غیر لازم از برنامه
==========================
اگر در داخل پوشه {app} به پوشه locale وارد شوید ، خواهید دید که مطابق شکل زیر تعداد 31 پوشه با نام های
مختلف وجود دارند:
http://www.worldup.ir/images/2ynchhqx8mf5xy7f7734.png
برنامه TeraCopy Pro 2.3 از 31 زبان مختلف از جمله فارسی پشتیبانی میکند. هر کدام از پوشه هائیکه در بالا مشاهده
میکنید مخصوص یک زبان است.
آنچه مسلم است اینه که ما فقط نیاز به دو تا زبان انگلیسی و فارسی داشته و زبان های دیگر را لازم نداریم.
پس می آئیم و از داخل پوشه locale تمام پوشه ها بغیر پوشه های en (پوشه مخصوص زبان انگلیسی) و پوشه fa_IR
(پوشه مخصوص زبان فارسی) را حذف می کنیم.
با این کار حجم فایل نهائی ما هم کمتر خواهد شد.
حالا که این کار را انجام دادیم اگر بخواهیم که فایل install_script.iss را Compile کنیم که فایل اجرائی مربوطه ساخته
شود خواهیم دید که برنامه پیغام خطا می دهد و فایل نهائی درست نمی شود.
این بخاطر این است که در داخل فایل install_script.iss کد هایی برای استفاده از فایل های پوشه های حذف شده
وجود دارند و برنامه در موقع Compile کردن دنبال آن ها میگردد و چون آن ها را پیدا نمیکند ، لذا پیغام خطا می دهد.
بنابر این بایستی از داخل فایل install_script.iss کد های مربوط به زبان های مختلف را حذف کنیم.
کد های مربوطه در زیر قسمت [Files] در فایل install_script.iss قرار دارند. این قسمت سطور زیادی را خواهید دید که
با عبارت Source: "{app}\locale شروع میشوند
فقط دو سطری را که در آن ها بعد از عبارت فوق عبارت en و عبارت fa_IR وجود دارد را نگهداشته و بقیه را حذف کنید.
پاسخ : دسترسی به کد های برنامه TeraCopy Pro 2.3 و تغییر دادن محتوای آن
سلام
نقل قول:
متوجه خواهید شد که این ورژن از برنامه ، وقتیکه کد اکتیو شدن را دریافت کرد ، آن را در فایلی بدون پسوند
با نام license در محل زیر ذخیره میکند.
در ویندوز xp
استاد عزيز، آيا امکانش هست که فايل license رو اينجا پيوست کنيد؟
ميخوام نصب نکنم! (اي تنبل) ugly3
در ضمن آيا فقط با Universal Extractor ميشه به اون اسکريپ inno و پوشهها دست پيدا کرد؟
سپاس
1 فایل پیوست
پاسخ : دسترسی به کد های برنامه TeraCopy Pro 2.3 و تغییر دادن محتوای آن
نقل قول:
نوشته اصلی توسط
eDvArDo
.........آيا امکانش هست که فايل license رو اينجا پيوست کنيد؟
...... آيا فقط با Universal Extractor ميشه به اون اسکريپ inno و پوشهها دست پيدا کرد؟
1. فایل license را از پیوست دانلود فرمائید.
2. برنامه های دیگری هستند از جمله برنامه InnoExtractor 4.6.2.151 که میتوانند فایل های ساخته شده
توسط Inno setup را Extract کنند.
پاسخ : دسترسی به کد های برنامه TeraCopy Pro 2.3 و تغییر دادن محتوای آن
سلام
اين خطا در خط 125 دستورات برام پيش اومده! راه حلش چيه؟
سپاس
http://www.worldup.ir/images/raiq7bbwrlsx3a5w3zy.jpg
پاسخ : دسترسی به کد های برنامه TeraCopy Pro 2.3 و تغییر دادن محتوای آن
یک راه این است که فایل install_script.iss را با برنامه ++ notepad باز کرده و سطر مورد نظر که باعث عیب می شود را کلا" حذف کنید.
پاسخ : دسترسی به کد های برنامه TeraCopy Pro 2.3 و تغییر دادن محتوای آن
پاسخ : دسترسی به کد های برنامه TeraCopy Pro 2.3 و تغییر دادن محتوای آن
با فایل های نوع MSI هم تقریبا" میشود مثل فایل های inno setup کار کرد.
من خودم برای کار هایم استفاده از NSIS را ترجیح می دهم.
میشود فایل های داخل NSIS را درآورد ولی تا به امروز روشی وجود ندارد که بشود به کد های داخلش
دسترسی پیدا نمود.
پاسخ : دسترسی به کد های برنامه TeraCopy Pro 2.3 و تغییر دادن محتوای آن
سلام
استاد عزيز، با پاک کردن اون خط، مشکل حل شد و فايل نصبي به راحتي ساخته شد ولي مشکل اينه که با اون فايل لايسنس هم نسخه Free هست!
چرا؟
سپاس