PDA

View Full Version : آموزش: نحوه decompile دلفی 7



passwd
پنج شنبه 08 آبان 1393, 12:23 عصر
با سلام خدمت اساتید

نحوه decompile delphi 7 چطوریه؟!
با نرم افزار DeDe و Delphidecompiler تست کردم فقط فورم ها decompile شد و اصل کار یعنی سورس ها با پسوند pas باز نشدن!

مثلا


procedure TfrmChangeUserPassword._PROC_004F5021(Sender : TObject);
begin
(*
004F5021 8BEC mov ebp, esp
004F5023 33C0 xor eax, eax
004F5025 55 push ebp
004F5026 6845504F00 push $004F5045
004F502B 64FF30 push dword ptr fs:[eax]
004F502E 648920 mov fs:[eax], esp
004F5031 FF05B00D5000 inc dword ptr [$00500DB0]
004F5037 33C0 xor eax, eax
004F5039 5A pop edx
004F503A 59 pop ecx
004F503B 59 pop ecx
004F503C 648910 mov fs:[eax], edx


****** FINALLY
|


* Possible String Reference to: ']أ‹ہƒ-°P'
|
004F503F 684C504F00 push $004F504C
004F5044 C3 ret


004F5045 E906EBF0FF jmp 00403B50
004F504A EBF8 jmp 004F5044


****** END
|
004F504C 5D pop ebp
004F504D C3 ret


*)
end;

passwd
جمعه 09 آبان 1393, 21:16 عصر
یعنی راه حلی برای دیکامپایل دلفی 7 وجود نداره

Securebit
شنبه 10 آبان 1393, 17:18 عصر
کامپایلر دلفی کد محلی (Native) تولید میکند یعنی کدها بعد کامپایل به زبان ماشین ترجمه میشود ابزاری برای اینکار وجود ندارد شما باید کدهای اسمبلی رو به دلفی ترجمه کنید.

typeman9
یک شنبه 13 اسفند 1396, 00:43 صبح
با سلام خدمت اساتید

نحوه decompile delphi 7 چطوریه؟!
با نرم افزار DeDe و Delphidecompiler تست کردم فقط فورم ها decompile شد و اصل کار یعنی سورس ها با پسوند pas باز نشدن!

مثلا


procedure TfrmChangeUserPassword._PROC_004F5021(Sender : TObject);
begin
(*
004F5021 8BEC mov ebp, esp
004F5023 33C0 xor eax, eax
004F5025 55 push ebp
004F5026 6845504F00 push $004F5045
004F502B 64FF30 push dword ptr fs:[eax]
004F502E 648920 mov fs:[eax], esp
004F5031 FF05B00D5000 inc dword ptr [$00500DB0]
004F5037 33C0 xor eax, eax
004F5039 5A pop edx
004F503A 59 pop ecx
004F503B 59 pop ecx
004F503C 648910 mov fs:[eax], edx


****** FINALLY
|


* Possible String Reference to: ']أ‹ہƒ-°P'
|
004F503F 684C504F00 push $004F504C
004F5044 C3 ret


004F5045 E906EBF0FF jmp 00403B50
004F504A EBF8 jmp 004F5044


****** END
|
004F504C 5D pop ebp
004F504D C3 ret


*)
end;





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

typeman9
یک شنبه 13 اسفند 1396, 00:49 صبح
کامپایلر دلفی کد محلی (Native) تولید میکند یعنی کدها بعد کامپایل به زبان ماشین ترجمه میشود ابزاری برای اینکار وجود ندارد شما باید کدهای اسمبلی رو به دلفی ترجمه کنید.




سلام: دیکامپایل واقعی و حقیقی برنامه های دلفی فقط توسط دیباگر دلفی 6 صورت میگیره . چون توی دلفی 6 همه ی دستورات زبان پاسکال همراه با دستورات معادلشون در زبان اسمبلی نمایش داده میشه . از روی همین میشه طرح اولیه ی یک دیکامپایلر واقعی رو نوشت و بعدا نرم افزارش رو ساخت . کامپایلر دلفی دستورات زبان پاسکال رو اول به زبان اسمبلی و بعد به زبان ماشین ترجمه می کنه که در دیباگر دلفی 6 میشه این فرایند را براحتی مشاهده کرد . بنابراین میشه ابزار مورد نظر رو از روی دیباگر دلفی 6 طراحی کرد و ساخت و عملا ناتیو کد بودن مانعی برای کشف سورس اولیه نیست . من خودم مدتها کارم همین بود و عملا به نتایج شگفت انگیزی رسیدم و تونستم سورس اولیه ی چند برنامه ی دلفی رو کشف کنم .
البته اینکار رو توی رایانه ی شخصی خودم انجام می دادم و هرگز اونرو جایی منتشر نکردم تا برنامه نویسان دلفی از من شاکی نشوند .