# مهندسی نرم افزار > مباحث مرتبط با مهندسی نرم‌افزار > مهندسی مجدد و معکوس >  DECOMPILER آموزش بدست آوردن سورس از برنامه

## miradli

*با سلام و درود*

*ب**رای ویرایش یا ... یک برنامه دو دسته ابزار وجود داره :*

* 1 - ابزار ویرایش ریسورس ها مثل تصاویر و متن ها و منوها و ..... که بیشتر به کار اونا می آید که قصد فارسی کردن یا کارهای مشابه رو دارن . که به عنوان مثال میشه به Resource Tuner اشاره کرد .*
*اگه به این نوع برنامه ها هم نیاز داشتید بگید تا لینک و توضیح اضافه کنم .* 

*2- ابزاری که با گرفتن یک برنامه سورس کد اون رو استخراج میکنن ... که بیشتر به مهندسی معکوس نزدیکه و به ما کمک میکنه بفمیم یک برنامه چطور ساخته شده یا بعضی از موارد برای کرک کردن برنامه ها ...که به این جور برنامه Decompiler میگن .*

*فعلا قصد دارم اینجا اطلاعات و لینک و آموزش کار با ابزار Decompil برای زبونهای مختلف قرار بدم ....*
*توجه کنید اکثر برنامه ها نمی تون 100% کدهای برنامه رو به ما تحویل بدن البته این تجربه کار با ابزاری بوده که من میشناسم ... اما بدست آوردن همین خروجی ها هم میتونه تو خیلی از موارد کمک کننده باشه .*
*خوب برای شروع باید بفهمیم که برنامه با چه زبونی نوشته شده !*
*شاید برای خیلی ها این کار راحت باشه اما من توضیح میدم :*
*شما میتونید از چند ابزار برای این کار استفاده کنید به عنوان مثال میتونم به Language 2000 یا PEiD اشاره کنم .*
* لینک دانلود PEiD* 
*http://www.peid.info/files/PEiD-0.94-20060510.zip*

*لینک دانلود plugins* 
*http://www.peid.info/plugins/*

*خوب بعد از دریافت این برنامه فایلی که قراره روش کار کنیم ، EXE , DLL یا ... رو بازمیکنیم و برنامه اطلاعاتی مثل کامپایلر و اگر فایل فشرده شده باشه ( برای امنیت ) نوع فشرده سازی رو به ما میده .*
*یک ابزار دیگه وجود داره که اگه برنامه فشرده شده باشه به کا میاد : uniextract*
*این برنامه خودش از برنامه بالا استفاده میکنه ...*
*لینک دانلود uniextract* 
*http://uniextract.c1pher.com/uniextract15.exe*

*بعد از گرفتن این اطلاعات باید ابزار زبون مورد نظر رو استفاده کنید .*

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

*" مسعود میرعدلی "*

----------


## مهران موسوی

دوست عزيز شما هر چقدر هم بخوايين توضيح بدين بازم در نهايت سورس به زبان ASM بدست مياد .. براي دلفي كه نرم افزار DEDE هست و براي C++‎  يكي از دوستان معرفي كردن .. براي VB هم كه به صروت نقل و نبات ريخته ... برالي .NET هم كه وجود داره ... يك جست جو ميتونه اطلاعات خوبي رو در اختيار كاربران قرار بده ...

----------


## VB.NET2005

دوستان علاوه بر Reflector اینو هم امتحان کنید : Dis# 3.1.2         "نسخه کامل"

----------


## miradli

با سلام به دوستای خوبم :
معذرت من رو بابت این وقفه بپذیرید !
خوب حالا ادامه معرفی ابزارها .
برنامه های تولید شده معمولا برای جلوگیری از تغییرات فشرده میشن ، در نتیجه برای خلاصی از این موضوع حتما برنامه *uniextract* رو دریافت کنید ... و به راحتی با یک کلیک راست فایل رو از حالت فشرده خارج کنید .امروز میخوام یک ابزار برای زبون دلفی معرفی کنم ، البته ابزارهای زیاد و شاید بهتری وجود داشته باشه . 
EMS Source Rescuer
<< نام برنامه رو تو گوگل سرچ کنید و دانلود کنید ، در صورت نیاز به کرک هم  حتما اگر بگردید پیدا میکنید >>

EMS Source Rescuer is an easy-to use wizard application for Borland Delphi and 
C++‎Builder which can help you to restore your lost source code. Rescuer produces all project forms and data modules with all assigned properties and events.

 :چشمک:  امیدوارم این هم به دوستان کمک کنه .


--------------------------------------------------------------------------------------------------
دوستان این پست به دلیل مغایر بودن با قوانین ویرایش شد . > فعالیت وارز در سایت ممنوع است < و من از مدیران به دلیل اشتباه خودم پوزش می طلبم .
--------------------------------------------------------------------------------------------------

----------


## miradli

برنامه هایی که توسط جاوا نوشته میشن در نهایت به بایت کد تبدیل مشن . 
فایلهای Jar رو به عنوان مثال با وین رار میشه استخراج کرد اما با فایلهای class برخورد خواهید کرد !
خوب یک ابزار برای استخراج و ویرایش این فایلها DJ Java هست که میتونید از لینک زیر دانلود کنید .

....... اسم برنامه رو در صورت تمایل سرچ کنید و لینک دانلود رو پیدا کنید ! 



با امید موفقیت و سر بلندی برای تمام ایرانیان .

----------


## miradli

دیدم شاید بعضی از دوستان نیاز داشته باشن و هم خالی از لطف نیست ابزاری برای کار با ری سورس ها معرفی کنم .
این برنامه به قسمت سورس کد برنامه ها کاری نداری و فقط چهره برنامه رو هدف قرار داده یعنی به شما این امکان رو میده تا تغییراتی مثال تغییر تصاویر و متنها و منو ها رو در برنامه ایجاد کنید ! برای فارسی سازی یا به عنوان مثال ذخیره یک Form بهمراه کنترلها و ... و استفاده در یک پروژه دیگه میشه ازش استفاده کرد .

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


--------------------------------------------------------------------------------------------------
دوستان این پست به دلیل مغایر بودن با قوانین ویرایش شد . > فعالیت وارز در سایت ممنوع است < و من از مدیران به دلیل اشتباه خودم پوزش می طلبم .
--------------------------------------------------------------------------------------------------

----------


## miradli

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

لینک دانلود 
Resource Tuner: Resource Editor For Windows EXE and DLL. Replace any text and icon resources with ease.


< با تشکر از linux  عزیز برای یادآوری ، من بخاطر رعایت قوانین سایت کرک که ساخت خودم بود و ضمیمه کرده بودم رو حذف کردم ، البته چون تنها مشکل از نظرم همین می تونست باشه ! اگر کسی نیاز داشت تو گوگل یک سرچ بکنه حتما پیدا می کنه اگه کسی پیدا نکرد یا مشکل داشت بگه تا راهنمایی کنم >

----------


## dark.lord

با سالم ... فکر می کنم چد مدتی است که تالارهای گفتگو در "برنامه نویس" توسط مدیران این تالار ها چک نمی شوند... البته شاید هم من اشتباه می کنم ... ولی در هر صورت چیزی را شاهد شدیم که در کمتر سایت هایی همچون برنامه نویس، که به واقع مرجع تخصصی برنامه نویسی می باشد؛ رخ می دهد...
دوست گرامی  Miraldi اگر کتاب Crack (مهندسی معکوس) از انتشارات ناقوس به دستشان نرسیده که می توانند بگیرند و بخوانند... اگر هم که رسیده لازم نبود سرفصل های آن را به عنوان یک پست بنویسند... البته خواندن یک کتاب و خلاصه نویسی آن برای یادگیری دیگران می تواند برای افرادی مثل خود من که اطلاعات کمی در این زمینه دارند مفید باشه ولی به شرطی که شما خلاصه راه حل ها(مثلا ره استفاده از یکی از برنامه ها) را در یک پست بنویسید و نه لیست برنامه ها....
باز هم، هم از miraldi  و هم از مدیران تالار های گفتگو پوزش می خواهم ولی یادآوری این مسئله را لازم می دانستم....

----------


## miradli

دوست عزیز dark.lord بنده کتابی که معرفی کردید رو نخوندم ! که اگر خونده بودم بجای تایپ فقط اون رو معرفی میکردم تا دوستان مطالعه کنن . 
اگر چه خودم رو کم تر از اون می دونم که بخوام چیزی رو آموزش بدم به بزرگان و دوستان اما اینها که مطرح کردم چیزهایی بود که خودم بدون هیچ راهنمایی آموختم و به دلیل اینکه این راه برای فراگرفتن زمان زیادی میگیرد خواستم به علاقه مندان خدمتی کرده باشم ، همچنین بنده در ابتدا خواستم ابزار رو معرفی کنم و بعد به آموزش بپردازم ، اگر چه بیشتر این ابزار کاربردی ساده دارند !
در ضمن نمی دونم تو اون کتابی که شما گفتید چه ابزاری و آیا نسخه کامل اونها وجود داشت ؟!
بنده بخاطر اینکه خودم با چند نمونه از این ابزار مشکل داشتم و به اونها نیاز داشتم و ک ر ک سالم که کار بکنه هم پیدا نکرده بودم خودم این کار رو انجام دادم و به اشتباه در این تاپیک ضمیمه کرده بودم و با یاد آوری دوستان و مغایر بودن این کار با قوانین سایت آنها رو حذف کردم . ( با احترام به مدیران سایت و عذر خواهی از این اشتباه .) که فکر نمی کنم تو هیچ کتابی این کار رو کرده باشن !
هم اکنون من به فکر جایگزین کردن ابزار رایگان و ... هستم تا مطالب رو ادامه بدم و اگر کمی وقفه افتاد ببخشید .

ولی فکر نمی کنم برای یک برنامه نویس نیاز باشه یک برای DECOMPILER ها راهنما و مرجع کاملی وجود داشته باشه مثل کتاب ، منظورم این هست که اگر به یک برنامه نویس ابزار DECOMPIL رو بدیم مطمعنا با وارد کردن برنامه و دریافت سورس کد می دونه باید چی کار کنه ! 
ولی برای ک ر ک می توان پذیرفت .
به هر حال ممنون که این کتاب رو معرفی کردید ، حتما تهیه می کنم تا از محتوی اون مطلع بشم .

----------


## Alay102

> برنامه های تولید شده معمولا برای جلوگیری از تغییرات فشرده میشن


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

موفق باشی ...

----------


## miradli

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


ممنون از توجه شما دوست عزیز .
اما منظور بنده pack شدن برنامه ها بوده و از  (فشرده کردن) مقصود کم کردن حجم نبوده ! 
اگر به مطلب توجه می کردید متوجه می شدید که ابزار معرفی شده برای استخراج فایلهای فشرده نیست اگر چه این کار رو هم میکنه اما این قدرت رو داره که فایلهای پک شده در انواع مختلف رو unpack بکنه ! فقط بخاطر همه فهم بودن مطلب از این واژه( فشرده) استفاده کردم ! به هر طریق اگر اشتباهی بوده پوزش بنده را پذیرا باشید . 
با تشکر

----------


## crackgns

برنامه هایی که با PEiD نمیشه زبانی رو که با اون نوشته شدن پیدا کرد چه مشکلی دارن وچه طوری می شه اونو حل کرد و زبانی رو که با اون نوشته شدن رو بدست آورد؟

----------


## miradli

تعدادی از برنامه ها با روشی خاص PACK میشن و در این مورد PEiD نمی تونه تشخیص بده برنامه با چه زبانی یا با کدوم روش PACK شده . البته این برنامه آپدیت می شه و برای نسخه های جدید توانایی شناخت Pack های جدیدتر رو دارند . از نسخه جدید استفاده کنید ، احتمالا مشکل حل میشه . بنده هم سعی میکنم اگر ابزار کارآمد تری موجود بود معرفی کنم .

موفق باشید

----------


## Nima NT

برای پیدا کردن کامپایلر یه فایل با نام پکر احتمالی بنده نرم افزار exeinfo رو پیشنهاد میکنم چون علاوه بر نمایش نام پکر راهنمایی کوتاه و مفیدی هم درباره آنپکر های اتوماتیک پکر نمایش میده.
این برنامه هر 2-3 هفته یک بار به روز میشه.

----------


## mahramasrar2

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

borland resource workshop 4.5
borland resource workshop all
CodeVisionAVR Evaluation
DisSharp
DT_FixRes
E-Code Explorer 0.86
EXE scop 630
Exe Stuffer 1.0.0
Explorer Suite
Explorer Suite 3
freeRes0.94
PE Explorer all
Project Analyzer library files
RescoExplorer
ResEdit 2.2
ResFixer v 1.0 beta 1
Resource Hacker 3.4
Resource Hunter 1.32
Resource Manager v4.2
Resource Manager v5.4 Pro
Resource Manager v5.4 SE
Resource ManagerExtractor for OS2 programs
resource studio
Resource Tuner all
ResScope1.94
Restorator all
Source Pirate KiT 4
XN Resource Editor v3.0
XRay.v3.22
data base Editor
DLL Toys International Edition 2004 R4
SOURCER DEFINITION FILE
XN Resource Editor 3.001

----------


## hrj1981

سلام
دوستان قويترين *DECOMPILER براي EXE هاي VB6 چيه؟*
*من يه چندتايي را كه امتحان كرده همه اجزا فايل اجرايي را استخراج مي كنه ولي سورس كدها را يه جوري استخراج مي كنه كه قابل فهم نيست.*

----------


## reza66i

در ضمن اگر بخواهید سورس اندروید رو هم استخراج کنید یه نرم افزار ایرانی نوشتن که خیلی تمیز این کارو می کنه می تونید از لینک زیر دریافتش کنید.
http://androiddecompiler.ir

----------


## kavaan

تا الان هرچی دی کامپایلر استغاده کردینو کنار بندازی 
برنامه ی JetBrains DotPeek  برای دی کامپایل برنامه های نوشته شده بر پایه ی دات نته....
یه حرفو هم نمیدانزه

----------


## s.a.s.a.n

یه لحظه صبر کنید !!
آقا من مبتدی ام و گیج شدم  . یعنی ما هر برنامه ای بنویسیم میشه سورس اون رو به دست آورد ؟ خب این که خیلی بده !! اگه کسی برنامه ی خاصی ، الگوریتم خاصی داشته باشه که مهم هم باشه که لو میره ! :متعجب:

----------


## amin1softco

دوستان حرفه ایی من می خواهم فری گیت را سورسشو بدست بیارم و فک کنم با یک چیزی پک شده که peID و exeinfo نمی تونه بدست بیاره کسی هست راهنمایی کنه چطوری سورسشو در بیارم به احتمال زیاد C++‎‎ win32 است.

----------


## h_mohamadi

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

----------


## mirage0411

البته یه نکته ای هم هست اینکه برخی کامپایلرهای هوشمند هنگام کامپایل برنامه یسری خصوصیات رو حدف و یسری خصوصیات اضافه تر رو برای اجرا و کامپایل اسون به برنامه نهایی اضافه می کنند در نتیجه برای همین دیکامپایل کردن همیشه جواب گو نیست و ممکنه شما با کدهای مختلفی روبرو بشید که نتونید برنامه رو دیکامپایل کامل کنید .

----------


## pcrlth0n

سلام.
زیاد با دیکامپایلر ها کار نکردم ولی فک کنم DeDe بهترینشون باشه.
البته دیکامپالرهای دیگه ای هم وجود داره:
http://kpnc.org/idr32/en/
https://tuts4you.com/download.php?view.2867
میتونید اینها رو تست کنید و نتیجه رو به ما هم بگید

----------


## h_mohamadi

> سلام.
> زیاد با دیکامپایلر ها کار نکردم ولی فک کنم DeDe بهترینشون باشه.
> البته دیکامپالرهای دیگه ای هم وجود داره:
> http://kpnc.org/idr32/en/
> https://tuts4you.com/download.php?view.2867
> میتونید اینها رو تست کنید و نتیجه رو به ما هم بگید



نه متاسفانه جواب نداد

----------


## Securebit

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

----------


## mtanha

سلام دوستان من اینو با استفاده از dede  درآوردم
ولی فرمول ساختن سریال رو ‍‍‍‍\یدا نکردم
ممنون میشم کمکم کنید

----------


## Securebit

> سلام دوستان من اینو با استفاده از dede  درآوردم
> ولی فرمول ساختن سریال رو ‍‍‍‍\یدا نکردم
> ممنون میشم کمکم کنید


برای دستیابی به الگوریتم باید از Disassembler ها استفاده کنید.

----------


## mtanha

> برای دستیابی به الگوریتم باید از Disassembler ها استفاده کنید.


میشه بیشتر راهنمایی کنید؟؟؟؟؟؟؟؟ممنون میشم

----------


## Securebit

> میشه بیشتر راهنمایی کنید؟؟؟؟؟؟؟؟ممنون میشم


Disassembler را در گوگل جستجو کنید نرم افزارها فیلمها و کتابهای بسیاری وجود دارد، در همین سایت هم قبلا بحث شده.

----------

