Π Π°Π·Π½ΠΎΠ΅

Decompiler exe: ДСкомпиляторы ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ бСсплатно

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΡ€ΠΎΡ†Π΅ΡΡ дСкомпиляции Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ EXE

27

Π­Ρ‚Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ собой воспроизвСдСниС ΠΊΠΎΠ΄Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ языком, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½Π° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° создана. Π’ΠΎ Π΅ΡΡ‚ΡŒ это обратная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° компиляции (ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹). Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эти дСйствия ΠΌΠΎΠΆΠ½ΠΎ воспользовавшись ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ.

Бпособы прСобразования Ρ„Π°ΠΉΠ»ΠΎΠ² EXE

ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ характСристикС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚. Π˜ΠΌΠ΅ΡŽΡ‚ΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для дСкомпиляции.

Бпособ 1: ИспользованиС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ VB Decompiler

Π”Π°Π½Π½Ρ‹ΠΉ софт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСобразования ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ созданы Π½Π° Visual Basic 5.0 ΠΈΠ»ΠΈ 6.0.

  1. АктивируСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«Π€Π°ΠΉΠ»Β».
  2. Π’ появившСмся мСню Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Β«ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒΒ». Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ быстрыС клавиши Ctrl+O.
  3. Π’ Β«ΠŸΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅Β» Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».
  4. ΠŸΡ€ΠΎΡ†Π΅ΡΡ прСобразования Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ это Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π‘Ρ‚Π°Ρ€Ρ‚Β».
  5. По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ высвСтится надпись Β«Π”Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΎΒ».
  6. ОсновноС ΠΏΠΎΠ»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΎ Π½Π° Π΄Π²Π° ΠΎΠΊΠ½Π°. Π’ Π»Π΅Π²ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ…Ρ€ΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡŽ, Π° Π² ΠΏΡ€Π°Π²ΠΎΠΌ отобразится исходный ΠΊΠΎΠ΄.
  7. Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ мСню Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π€Π°ΠΉΠ»Β» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Β».

Бпособ 2: Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ReFox

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для прСобразования ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ написанных Π½Π° FoxPro ΠΈΠ»ΠΈ FoxBASE+.

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠŸΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠΌ для поиска Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Π½Π΅Π³ΠΎ сразу ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.
  2. НаТмитС ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° Ρ„Π°ΠΉΠ» ΠΈ Π² появившСмся мСню ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° Β«DecompileΒ».
  3. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ мСсто для хранСния Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².
  4. ПослС наТатия Π½Π° «ОК», ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Π° ΠΈ ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ выдаст ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅.

Бпособ 3: Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ DeDe

Π­Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ нСобходимости Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, написанными Π½Π° Delphi.

  1. ЗапуститС софт, ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ Β«Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°Β».
  2. Π’Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ» с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ.
  3. Для запуска Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° Β«ΠŸΡ€ΠΎΡ†Π΅ΡΡΒ».
  4. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ появится ΠΎΠΊΠ½ΠΎ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ тСкстом: Β«Π”Π°ΠΌΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎΒ».
  5. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всю ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.
  6. Для сохранСния ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Π΄Π΅Π» Β«ProjectΒ» ΠΈ ΠΏΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π³Π°Π»ΠΎΡ‡ΠΊΠΈ.

Бпособ 4: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° EMS Source Rescuer

Данная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, написанными Π½Π° Π΄Π²ΡƒΡ… языках Delphi ΠΈ C++ Builder.

  1. АктивируйтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС Π²Ρ‹ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ.
  2. ΠŸΡ€ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ имя Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Π³Ρ€Π°Ρ„Π΅ Β«Project nameΒ».
  3. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ созданы.
  4. ΠžΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅Π΅ΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΅Ρ‰Π΅ Π½Π΅ сохранСнный ΠΊΠΎΠ΄. Для дублирования Π΅Π³ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Β«SaveΒ».

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±Ρ‹Π» рассмотрСн софт, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠΉ Π² дСкомпиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ Π΅Ρ‰Π΅ мноТСство ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ эти ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ функциями ΠΈ довольно-Ρ‚Π°ΠΊΠΈ просты Π² использовании.

Ρ€Π΅Π»ΠΈΠ· dotPeek 1.0 / Π‘Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ JetBrains / Π₯Π°Π±Ρ€

Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь, Ρ…Π°Π±Ρ€ΠΎΠ²Ρ‡Π°Π½Π΅! БСсплатный дСкомпилятор ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ сборок ΠΎΡ‚ JetBrains ΡƒΡˆΠ΅Π» Π² Π½Π°Ρ€ΠΎΠ΄ – нСсколько Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ Π½Π° нашСм сайтС стал доступСн ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· dotPeek 1.0.

dotPeek, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ писали Π½Π° Π₯Π°Π±Ρ€Π΅ ΠΎΠΊΠΎΠ»ΠΎ Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄, ΠΊΠΎΠ³Π΄Π° появились ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ сборки ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, β€” это инструмСнт, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ с Ρ€Π°Π·Π²ΠΈΡ‚ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ поиском Π½Π° ΠΌΠ°Π½Π΅Ρ€ ReSharper β€” нашСго нСбСзызвСстного Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для Visual Studio. БСгодня ΠΌΡ‹ прСдставляСм Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ новости ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ этого ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности dotPeek 1.0 Ρ‚Π°ΠΊΠΎΠ²Ρ‹:

  • ДСкомпиляция сборок .NET Framework 1.0-4.5 Π² эквивалСнтный ΠΊΠΎΠ΄ Π½Π° C#. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (.dll), исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ (.exe), Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Windows 8 (.winmd). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, dotPeek ΡƒΠΌΠ΅Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ сборки Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π΅ΠΌΡƒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅, ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° Π°Ρ€Ρ…ΠΈΠ²Ρ‹: ΠΊΠ°ΠΊ .zip, Ρ‚Π°ΠΊ ΠΈ родствСнныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ .vsix ΠΈ .nupkg.

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСрам символов ΠΈ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ позволяСт Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ удаСтся ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², дСкомпиляция β€” Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π° исходники Π»ΡƒΡ‡ΡˆΠ΅, Π½Π΅ ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ? Если Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ PDB-Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ сСрвСр ΠΊΠΎΠ΄Π°, dotPeek смоТСт Π·Π°ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ вСрсиям просматриваСмых сборок, ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π²ΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ dotPeek ΡƒΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ сСрвСрам Microsoft Reference Source Code Center ΠΈ SymbolSource.org.

  • Быстрый ΠΎΠ±Π·ΠΎΡ€ структуры ΠΈ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ достигаСтся, Π² частности, Π·Π° счСт позаимствованных ΠΈΠ· ReSharper Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ File Structure для ΠΎΠ±Π·ΠΎΡ€Π° структуры ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈ Type Hierarchy для Π°Π½Π°Π»ΠΈΠ·Π° наслСдования Ρ‚ΠΈΠΏΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅ΡΡ‚ΡŒ функция References Hierarchy, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰Π°Ρ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ связи ΠΌΠ΅ΠΆΠ΄Ρƒ сборками.

  • ΠœΠ½ΠΎΠ³ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ возмоТности поиска ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, взятыС ΠΈΠ· ReSharper. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… β€” Go to Type (быстрый ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ), Go to Symbol (быстрый ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ символу Π² Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… сборках), Go to File Member (ΠΎΠ±Π·ΠΎΡ€, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Ρ‡Π»Π΅Π½Π°ΠΌ класса), Π° Ρ€Π°Π²Π½ΠΎ ΠΈ вСсь Π½Π°Π±ΠΎΡ€ контСкстнозависимой Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, Π² Ρ‚ΠΎΠΌ числС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ символа ΠΊ Π΅Π³ΠΎ дСкрарациям, имплСмСнтациям, Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ символам ΠΈ наслСдникам.

  • Поиск Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² β€” здСсь, ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π½Π΅ обошлось Π±Π΅Π· ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅ΠΉ ΠΈΠ· ReSharper Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ поиска ΠΈ подсвСтки Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².

  • Π—Π½Π°ΠΊΠΎΠΌΡ‹Π΅ сочСтания клавиш для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄: прСдусмотрСны Π΄Π²Π΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹Π΅ схСмы, Visual Studio ΠΈ IntelliJ IDEA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ReSharper ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтов JetBrains Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСбя Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΉ срСдС.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ возмоТностях dotPeek 1.0 ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ· ΠΎΠ±Π·ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° сайтС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΊ просмотру Π²ΠΈΠ΄Π΅ΠΎ, снятоС нашим СвангСлистом ДТСймсом Коваксом ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡ€Ρ‚Π°Π»Π΅ jetbrains.tv

Если Π²Π°ΠΌ интСрСсно ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ наш дСкомпилятор Π² Π±ΠΎΠ΅Π²Ρ‹Ρ… условиях, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ здСсь. НадССмся, Π²Π°ΠΌ понравится!

VB Decompiler — Products — Russian

In English

VB Decompiler — это дСкомпилятор ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (EXE, DLL, OCX), написанных Π½Π° Visual Basic 5.0 ΠΈ 6.0 ΠΈ дизассСмблСр ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° любом ΠΈΠ· языков .NET Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Как извСстно, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π½Π° Visual Basic’Π΅, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скомпилированы Π»ΠΈΠ±ΠΎ Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ p-code, Π»ΠΈΠ±ΠΎ Π² выполняСмый native code. .NET сборки всСгда ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π² процСссС запуска IL ΠΊΠΎΠ΄.

Π’Π°ΠΊ ΠΊΠ°ΠΊ p-code прСдставляСт собой высокоуровнСвыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‚ΠΎ появляСтся Ρ€Π΅Π°Π»ΡŒΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ· этого ΠΊΠΎΠ΄Π° исходный (ΠΏΡ€Π°Π²Π΄Π° ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ само собой Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π΅ удастся). VB Decompiler восстанавливаСт исходный ΠΊΠΎΠ΄ ΠΈΠ· псСвдокода максимально Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ, поэтому Π΅Π³ΠΎ ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ довСсти Π΄ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ дСкомпиляции P-Code’Π°

Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±Ρ‹Π»Π° ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² native code, Ρ‚ΠΎ ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌ восстановлСнии исходника ΠΈΠ· ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… инструкций Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Ρ€Π΅Ρ‡ΠΈ. Но VB Decompiler ΠΈ здСсь ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π’ Π½Π΅Π³ΠΎ встроСн ΠΌΠΎΡ‰Π½Ρ‹ΠΉ дизассСмблСр ΠΈ эмулятор ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒ ассСмблСрный ΠΊΠΎΠ΄ ΠΊ исходному. ЕстСствСнно ΠΈΠ·-Π·Π° слоТности ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ всякого Ρ€ΠΎΠ΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ Ρ‚ΡƒΡ‚ Π½Π΅ обходится Π±Π΅Π· ошибок сворачивания ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π΅Π²Π΅Ρ€Π½Ρ‹Ρ… инструкций, Π½ΠΎ для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ дСкомпиляции ΠΈ свСртывания максимально ΠΏΠΎΠ»Π΅Π·Π΅Π½.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ дСкомпиляции Native Code’Π°

Π’ случаС Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±Ρ‹Π»Π° создана Π² срСдС .NET дСкомпилятор ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ восстановит структуру Ρ‚Π°Π±Π»ΠΈΡ† сборки, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для дизассСмблирования ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° IL ΠΊΠΎΠ΄Π°. Для дСкомпиляции Π½Π΅ потрСбуСтся Π½ΠΈ сама срСда .NET Framework, Π½ΠΈ поддСрТиваСмая .NET опСрационная систСма. ДСкомпилятор Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² любой 32Ρ… Π±ΠΈΡ‚Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС сСмСйства Windows.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ дСкомпиляции .NET ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

VB Decompiler Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ всС Π€ΠΎΡ€ΠΌΡ‹ ΠΈ UserControl’Ρ‹, располоТСнныС Π² Ρ„Π°ΠΉΠ»Π΅. Для тСхничСских Π½ΡƒΠΆΠ΄ дСкомпилятор ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ смСщСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ дСкомпиляции Π€ΠΎΡ€ΠΌ

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ VB Decompiler идСальноС срСдство для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π² случаС ΠΏΠΎΡ‚Π΅Ρ€ΠΈ исходных ΠΊΠΎΠ΄ΠΎΠ² ΠΈ нСобходимости частично Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

VB Decompiler прСдставлСн Lite, Personal Educational Home, Business, Business with Tracing Features ΠΈ Business with Analytic Features вСрсиями

ДСкомпиляция Java ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ / Π₯Π°Π±Ρ€

ДСкомпиляция β€” процСсс воссоздания исходного ΠΊΠΎΠ΄Π° дСкомпилятором

НСдавно я задался вопросом: Какой дСкомпилятор Π»ΡƒΡ‡ΡˆΠ΅?
Начал ΠΌΡƒΡ‡ΠΈΡ‚ΡŒ Google, ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ ΠΈΡ‚ΠΎΠ³Π΅ нашСл ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Как Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡŒΠ½ΡƒΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ «исходники»? Об этом Π² сабТС.

ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ популярных дСкомпиляторов

Mocha

Mocha (Π°Π²Ρ‚ΠΎΡ€ β€” Hanpeter van Vliet)β€” это, вСроятно, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… дСкомпиляторов Java. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс. Π•Π³ΠΎ Ρ€Π΅Π»ΠΈΠ· состоялся Π² 1996-ΠΎΠΌ Π³ΠΎΠ΄Ρƒ, Π΅Ρ‰Ρ‘ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ появился Java Development Kit вСрсии 1.1

JAva Decompiler

JAva Decompiler, JAD (Π°Π²Ρ‚ΠΎΡ€ β€” Pavel Kouznetsov) β€” ΠΏΠΎ всСй видимости, самый
популярный дСкомпилятор Java. Как ΠΈ Mocha, этот дСкомпилятор прСдоставляСт ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ интСрфСйс, Π΄Π°Π²Π½ΠΎ Π½Π΅ обновляСтся ΠΈ Π½Π΅ поддСрТиваСтся, Π½ΠΎ большоС число графичСских инструмСнтов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ, Π² Ρ‚ΠΎΠΌ числС ΠΏΠ»Π°Π³ΠΈΠ½ JadClipse для срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Eclipse, Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ ΠΈ ΠΏΠΎ сСй дСнь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² качСствС ΠΏΠΎΠ΄Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ срСдства для дСкомпиляции Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… классов.
Помимо дСкомпиляции, JAva Decompiler ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ дизассСмблирования .class-Ρ„Π°ΠΉΠ»ΠΎΠ².

DJ Java Decompiler

DJ Java Decompiler (Π°Π²Ρ‚ΠΎΡ€ β€” Atanas Neshkov) β€” Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя Π²ΠΎΠΏΡ€Π΅ΠΊΠΈ названию являлся лишь графичСской ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ для ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ дСкомпилятора, позволявшСй Π»Π΅Π³ΠΊΠΎ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для Π²Ρ‹Π·ΠΎΠ²Π° JAD. Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ, Π½ΠΎ дСкомпилятор стал условно-бСсплатным (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΏΠΎΠΊΡƒΠΏΠΊΠ° послС 10 ΠΏΡ€ΠΎΠ±Π½Ρ‹Ρ… использований).

JD-Core

JD-Core (Π°Π²Ρ‚ΠΎΡ€ β€” Emmanuel Dupuy) β€” ΠΎΡ‡Π΅Π½ΡŒ мощная ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для дСкомпиляции ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄Π° Java, разработанная Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Β«Java Decompiler projectΒ».
Π˜ΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ особСнности:

  • ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ написана Π½Π° языкС C++, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ быстрой
  • НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Java Runtime Environment ΠΈ поэтому Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ установки
  • ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ .class-Ρ„Π°ΠΉΠ»Ρ‹, сгСнСрированныС Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ компиляторов

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉ, ΠΊ нСдостаткам JD-Core ΠΌΠΎΠΆΠ½ΠΎ отнСсти лишь Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° распространяСтся ΠΊΠ°ΠΊ
Ρ‡Π°ΡΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ графичСского прилоТСния JD-GUI, Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° C++ ΠΈ ΠΏΡ€ΠΈΠ»ΠΈΠ½ΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊ Π½Π΅ΠΉ статичСски, ΠΈΠ»ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° JD-Eclipse для срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Eclipse, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Π΅Ρ‘ использованиС Π² стороннСм нСкоммСрчСском ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, особСнно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΌ Π½Π° языкС Java. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² коммСрчСских ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ.

Fernflower

Fernflower β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… дСкомпиляторов языка программирования Java Π½Π° сСгодняшний дСнь.
ΠžΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ возмоТностями:
1. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ языковыС конструкции:

  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹
  • Аннотации
  • ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹
  • УтвСрТдСния

2. ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄, сгСнСрированный вслСдствиС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… извСстных Π±Π°Π³ΠΎΠ² компиляторов

Мой Π²Ρ‹Π±ΠΎΡ€

  1. JD-GUI β€” для просмотра, Π½Π΅ Π±ΠΎΠ»Π΅Π΅
  2. Fernflower β€” ΠΏΠΎΠ»Π½ΠΎΠ΅ восстановлСниС

ΠžΡΡ‚Π°Π½ΠΎΠ²Π»ΡŽΡΡŒ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ. Π’ΠΎΠΎΠ±Ρ‰Π΅, Π°Π²Ρ‚ΠΎΡ€ Π΄Π°Π½Π½ΠΎΠ³ΠΎ дСкомпилятора Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠ°ΠΊ Π½Π΅ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π» ΠΎΡ„Ρ„Π»Π°ΠΉΠ½ Π²Π΅Ρ€ΡΠΈΡŽ Π² ΠΎΠ±Ρ‰ΠΈΠΉ доступ(ΠΈΠ»ΠΈ я упустил этот Ρ„Π°ΠΊΡ‚ читая Π΅Π³ΠΎ Π±Π»ΠΎΠ³), Π΄ΠΎ послСднСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±Ρ‹Π»Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½Π»Π°ΠΉΠ½. Но для мСня Π±Ρ‹Π»ΠΎ приятным ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π°ΠΉΡ‚ΠΈ Π΅Π΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Ρ„ΠΎΡ€ΡƒΠΌΠ΅!

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ: fernflower.jar

Π¦ΠΈΡ‚Π°Ρ‚Π° ΠΈΠ· Π±Π»ΠΎΠ³Π° Π°Π²Ρ‚ΠΎΡ€Π°:

Fernflower Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² сторону дСобфускатора

…

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ дСобфускации Fernflower сСйчас Π½Π΅ содСрТит, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π² дальнСйшСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ модулями

Π’.ΠΊ. ΠΎΠ½Π»Π°ΠΉΠ½ вСрсия ΠΏΠΎ нСизвСстным ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π° ΠΏΡ€ΠΎ ΠΎΡ„Ρ„Π»Π°ΠΉΠ½ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ(ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ качСство дСкомпиляции ΠΎΡ‚ΠΌΠ΅Π½Π½ΠΎΠ΅), Π½Π΅ ΠΎ ΠΊΠ°ΠΊΠΈΡ… модулях Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π΅Ρ‡ΠΈ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚.

НС Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π΅Ρ‰Π΅ модуля пСрСимСнования

Π­Ρ‚ΠΎ Π΄Π°. ΠŸΠΎΠΈΡ‰Π΅ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°Ρ….
На Π²Ρ‹Ρ€ΡƒΡ‡ΠΊΡƒ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ Proguard, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ‹ΠΊΠ½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ

ProGuardDeobfuscator β€” нСбольшая модификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ProGuard, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ Π΅Π΅ Π² ΠΊΠ²Π°Π·ΠΈ-дСобфускатор. Π’ процСссС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ обфусцированныС ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², классов, ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ осмыслСнныС ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Jar Ρ„Π°ΠΉΠ»Π°.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ исходники ΠΈ сам дСобфускатор: projectd8.org/Programs/Java/PGD

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ всС Π΅ΡΡ‚ΡŒ, Π½ΠΎ Π»ΠΈΡ‡Π½ΠΎ я, для облСгчСния воссоздания сорцов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‚Π°ΠΊ ΠΆΠ΅ Π»ΡŽΠ±ΠΈΠΌΡƒΡŽ Netbeans IDE β€” ΠΎΡ‡Π΅Π½ΡŒ сильно ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ своими подсказками, особСнно ΠΊΠΎΠ³Π΄Π° классов ΠΌΠ½ΠΎΠ³ΠΎ.

Бпасибо за вниманиС!

Бсылки

se.math.spbu.ru/SE/YearlyProjects/2011/YearlyProjects/2011/345/345_Mikhailov_report.pdf
ru-java.livejournal.com

UPD:

Извиняюсь, Π² offline вСрсии Fernflower присутствуСт ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΡƒΠΉΠΌΠ° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡˆΡ‚ΡƒΠΊ β€” Readme

VB Decompiler Pro 9.8 Rus

DotFix Software – дСкомпилятор для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (EXE, DLL ΠΈ OCX), написанных Π½Π° Visual Basic (5.0/6.0) ΠΈ дизассСмблСр .NET-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Код, восстановлСнный Visual Basic, ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ. Π’ случаС, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±Ρ‹Π»Π° скомпилирована Π² native code, VB Decompiler Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΊΠΎΠ΄Π°. Для дСкомпиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, созданных Π² срСдС .NET, VB Decompiler Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия Π½ΠΈ самого Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, Π½ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ .NET ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создавалась Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π² случаС ΡƒΡ‚Π΅Ρ€ΠΈ исходного ΠΊΠΎΠ΄Π° прилоТСния максимально ΠΏΠΎΠ»Π½ΠΎ Π΅Π³ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. ΠŸΠ»Π°Ρ‚Π½Π°Ρ вСрсия VB Decompiler отличаСтся ΠΎΡ‚ бСсплатной Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° – обфускатора для VB-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, нСсколькими Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ дСкомпиляции ΠΈ Π΄Ρ€. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ прямой ссылкС (с ΠΎΠ±Π»Π°ΠΊΠ°) Π²Π½ΠΈΠ·Ρƒ страницы. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ VB Decompiler:

  • Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ распаковка ΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ UPX, NSPack ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ извСстныС EXE ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠΈ) .
  • Π”Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌ (frm ΠΈ frx) ΠΈ usercontrol’ов (ctl) .
  • Полная дСкомпиляция p-code Π² исходникоподобный ΠΊΠΎΠ΄ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ GUID ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²) .
  • 3 Ρ€Π΅ΠΆΠΈΠΌΠ° дСкомпиляции p-code (с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ стэка, Π±Π΅Π· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ функция Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ читаСмости) .
  • ДазассСмблированиС native ΠΊΠΎΠ΄Π° (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ Pentium Pro дизассСмблСр, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ MMX ΠΈ FPU Π½Π°Π±ΠΎΡ€Ρ‹ инструкций) .
  • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° синтаксиса Π² Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.
  • Частичная дСкомпиляция Native Code’овых конструкций (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ эмуляции ассСмблСрного ΠΊΠΎΠ΄Π°) .
  • Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк, Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π² Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ быстрого поиск строк.
  • Высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ дСкомпиляции.
  • Obfuscator для VB5/6 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡Π° для VB5/6 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.
  • Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….
  • ДизассСмблированиС .NET ΠΊΠΎΠ΄Π°.
  • Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π² MAP Ρ„Π°ΠΉΠ», IDC скрипт ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» HIEW Names.

Β 

Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΈ ΠΎΠ½Π° увСличится

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

БистСмныС трСбования:
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма:Windows XP,Vista,7,8 (x86,x64)
ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€:1 Π“Π“Ρ†
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ:512 ΠœΠ‘
ΠœΠ΅ΡΡ‚ΠΎ Π½Π° ТСстком дискС: 6,8 ΠœΠ‘
Π―Π·Ρ‹ΠΊ интСрфСйса:русский
Π Π°Π·ΠΌΠ΅Ρ€: 11 ΠœΠ‘
Π°ΠΏΡ‚Π΅4ΠΊΠ°:Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅
Β Β 
*Π°Ρ€Ρ…ΠΈΠ² Π‘Π•Π— пароля

Β 
Β 
Β 
Β 
откроСтся Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅

Β 
Β 
Β 
Β 
откроСтся Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅

Β 
Β 
Β 
Β 
откроСтся Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅

Β 
Β 
Β 
Β 
откроСтся Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅

Decompiler ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ | SourceForge.net

Для 0.7.1.0 Π² Windows 10
Π‘Ρ‹Π»ΠΎ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ староС устройство ΠΊΠΎΠ½Ρ†Π° 1990-Ρ… …

M68K с ΠΊΠΎΠ΄ΠΎΠΌ ΠŸΠ—Π£ 512 ΠšΠ‘, скомпилированным ΠΈΠ· C ΠΈ, Π²ΠΏΠΎΠ»Π½Π΅ вСроятно, Π² ОБ VxWork, Π²Ρ‹Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌ ΠΈΠ· EEPROM Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

Ѐункция сканСра Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для рСкурсивного поиска ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΊΠ°ΠΊ с Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΉ, Ρ‚Π°ΠΊ ΠΈ с ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ адрСсациСй. Однако послС выполнСния этого шага Ρƒ мСня Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π±Ρ‹Π»ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ с этим Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΌ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ, ΠΈΡ‰ΡƒΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²ΠΎ всСм ΠŸΠ—Π£ с Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ с сопоставлСниСм с ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ для 4E 56 00 00 Π² качСствС Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ поиском инструкции ссылки: 4E 56 FF, 4E 56 FE, 4E 56 FD, 4E 56 FC, 4E 56 FB ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, 4E 56 FA.Π­Ρ‚ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΎ 95% всСго исполняСмого ΠΊΠΎΠ΄Π° Π²ΠΎ всСм пространствС 512 ΠšΠ‘.

Π—Π°Ρ‚Π΅ΠΌ послСдовали струны. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ поиск Ρ€ΡƒΠ΄ΠΈΠΌΠ΅Π½Ρ‚Π°Ρ€Π΅Π½, ΠΈ я Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ UTF-8 ΠΈ 16-Π±ΠΈΡ‚Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ BE ΠΈ LE. Π’ любом случаС я искал строки Π² стилС Β«CΒ» с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ UTF-8. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° здСсь Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сначала Π½Π°ΠΉΡ‚ΠΈ строки ΠΈΠ· 25 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ символов, Π·Π°Ρ‚Π΅ΠΌ 20 символов, 10 символов, 6 символов ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, 3 символа (ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ). МногиС строки с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹, поэтому я ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Ρ‡Ρ‚ΠΎ эта Ρ€Π°Π±ΠΎΡ‚Π° продолТаСтся.ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ струны я ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΠ» Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ Β«szΒ», Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π΄ΠΎ странности ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π’ΠΈΠΏΡ‹ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ: эта вСрсия дСкомпилятора Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², ΠΊΡ€ΠΎΠΌΠ΅ символов. Если я ΠΏΡ€ΠΎΠ±ΡƒΡŽ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ, Ρ‚ΠΈΠΏΡ‹ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ .dcproject, Π½ΠΎ сСриализатор ТалуСтся, ΠΊΠΎΠ³Π΄Π° .dcproject считываСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Decompiler: Π½Π΅ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ (ΠΈΠ»ΠΈ другая подобная ошибка), Π° список Globals усСкаСтся Π² ΠΏΠ΅Ρ€Π²ΠΎΠ΅ появлСниС ошибки.

Π― надСюсь, Ρ‡Ρ‚ΠΎ 0.8.0.0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ поздняя вСрсия Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° здСсь Π² блиТайшСС врСмя. Π― Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ Π½Π°Π΄ Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. ГрафичСский интСрфСйс Π½Π΅ΡƒΠ΄ΠΎΠ±Π΅Π½ ΠΈ Π»Π΅Π³ΠΊΠΎ Π΄Π°Π΅Ρ‚ сбой, Π½ΠΎ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ я ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ, я смог ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ сбоСв. БОΠ₯РАНЯЙВЕ часто, Π΄Π΅Π»Π°ΠΉΡ‚Π΅ частыС Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»Π° .dcproject, Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ€ΡƒΡ‡Π½ΠΎΠΌΡƒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ„Π°ΠΉΠ»Π° .dcproject, Ссли Π²Ρ‹ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅ любой Ρ‚ΠΈΠΏ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ символа ΠΈΠ»ΠΈ строки символов с Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΌ Π½ΡƒΠ»Π΅ΠΌ. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сочСтания клавиш для часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π’ΠΈΠΏ ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΉ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΡŒΡŽ ΠΏΠΎ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΡΡ мСню причиняСт боль.ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚! Π­Ρ‚ΠΈ инструмСнты Π½ΡƒΠΆΠ½Ρ‹ Π½Π°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

1 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ считаСт этот ΠΎΠ±Π·ΠΎΡ€ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ.

.

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° домашнюю страницу дСкомпилятора!

ДСкомпилятор

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π­Ρ‚ΠΎ домашняя страница (Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ) ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° дСкомпилятора машинного ΠΊΠΎΠ΄Π° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ . ЦСль ΠΌΠ°ΡˆΠΈΠ½Ρ‹
дСкомпилятор ΠΊΠΎΠ΄Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π°Π½Π°Π»ΠΈΠ·Π° исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„Π°ΠΉΠ»ΠΎΠ² .EXE ΠΈΠ»ΠΈ .DLL Π² Windows ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ELF Π² Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… срСдах)
ΠΈ попытаСмся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ высокоуровнСвоС прСдставлСниС машинного ΠΊΠΎΠ΄Π° Π² исполняСмом Ρ„Π°ΠΉΠ»Π΅:
дСкомпилятор пытаСтся Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ исполняСмый Ρ„Π°ΠΉΠ» Π±Ρ‹Π» скомпилирован Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ дСкомпилятор, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° страницу ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:
https://sourceforge.net/projects/decompiler

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ компиляция — это Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΡ‹ΠΉ процСсс (такая информация, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π±Π΅Π·Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ тСряСтся), дСкомпиляция Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ
исходный ΠΊΠΎΠ΄ исполняСмого Ρ„Π°ΠΉΠ»Π° машинного ΠΊΠΎΠ΄Π°. Однако с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΡ€Π°ΠΊΡƒΠ»Π° (Ρ‡ΠΈΡ‚Π°ΠΉ Β«Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΒ») ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
ΠΊ этой Ρ†Π΅Π»ΠΈ. ΠžΡ€Π°ΠΊΡƒΠ» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, располоТСниС нСдоступного ΠΈΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ΄Π° ΠΈ
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

ДСкомпилятор Π½Π΅ зависит ΠΎΡ‚ процСссора ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. НамСрСниС состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
ΠΎΠ½ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ для любой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ процСссора ΠΈ Π½Π΅ привязан ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Π½Π°Π±ΠΎΡ€Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄. Π₯отя Π² настоящСС врСмя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ
Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ интСрфСйс x86, Π½ΠΈΡ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π²Π°ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс 68K, Sparc ΠΈΠ»ΠΈ VAX, Ссли Π²Ρ‹
Π½ΡƒΠΆΠ΅Π½ ΠΎΠ΄ΠΈΠ½.

ДСкомпилятор ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΊΠ°ΠΊ инструмСнт ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΈ Π² этом случаС ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π»ΠΈΠ±ΠΎ простым исполняСмым Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π»ΠΈΠ±ΠΎ
Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° дСкомпилятора , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ исполняСмый Ρ„Π°ΠΉΠ» для дСкомпиляции, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ€Π°ΠΊΡƒΠ»Π°, которая ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅.ДСкомпилятор Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ графичСский интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ€Π°ΠΊΡƒΠ»Π°.
ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π°.

Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ дСкомпилятора ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ„Π°ΠΉΠ» исходного ΠΊΠΎΠ΄Π° C, содСрТащий всС дизассСмблированныС
ΠΊΠΎΠ΄ ΠΈ Ρ„Π°ΠΉΠ» Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… с рСконструированным Ρ‚ΠΈΠΏΠΎΠΌ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚

ДСкомпилятор состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… этапов.

  • Π€Π°Π·Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ исполняСмый Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ
    ΠΈ опрСдСляСт, ΠΊΠ°ΠΊΠΎΠΉ исполняСмый Ρ„Π°ΠΉΠ» дСкомпилируСтся.Π’
    исполняСмый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ опрСдСляСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ процСссора ΠΈ
    оТидаСмая срСда ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Для старых Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€
    ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ MS-DOS .EXE, процСссор (Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ x86) ΠΈ
    ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (MS-DOS) нСявно. ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹
    Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ опрСдСляСтся, Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» загруТаСтся Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ
    (ΠΏΡ€ΠΈ нСобходимости распаковав) ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ сСгмСнт
    пСрСсСлСния проводятся. Π­Ρ‚ΠΈ пСрСмСщСния Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹
    Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… этапах дСкомпилятора, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля
    ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ pointer-to () ΠΈ
    ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹ΠΉ сСгмСнтный сСлСктор — это сСгмСнтный сСлСктор Ρ‚ΠΈΠΏΠ° .
  • Π€Π°Π·Π° сканирования слСдуСт Π·Π° Ρ„Π°Π·ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ»
    ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько Ρ‚ΠΎΡ‡Π΅ΠΊ Π²Ρ…ΠΎΠ΄Π° , адрСса, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π°
    исполняСмый ΠΊΠΎΠ΄. Код Π² Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… Π²Ρ…ΠΎΠ΄Π° разбираСтся ΠΈ отслСТиваСтся,
    ΠΈΡ‰Π΅ΠΌ Π² частности Ρ„ΠΈΠ»ΠΈΠ°Π», Π·Π²ΠΎΠ½ΠΈΡ‚Π΅,
    ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€
    ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ, ΠΈ строится Π³Ρ€Π°Ρ„ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² , Ρ€Π΅Π±Ρ€Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚
    Π·Π²ΠΎΠ½ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ.
  • Π€Π°Π·Π° пСрСзаписи пСрСзаписываСт всС машинно-зависимыС инструкции Π²
    Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ машинно-нСзависимыС инструкции.Π˜Π΄ΠΈΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ инструкций
    ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² выраТСния. Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° процСсс дСкомпиляции Π½Π΅ зависит ΠΎΡ‚ процСссора.
  • Π€Π°Π·Π° Π°Π½Π°Π»ΠΈΠ·Π° сначала выполняСт ΠΌΠ΅ΠΆΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ.
    Π­Ρ‚ΠΎ дСлаСтся для опрСдСлСния для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ proc ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая
    рСгистры процСссора
    ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ рСгистры процСссора ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ послС
    Π·Π²ΠΎΠ½ΠΎΠΊ Π½Π° ΡƒΠΏ. ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅ΠΆΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ТивучСсти, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ
    ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ Π°Π½Π°Π»ΠΈΠ·Π° достигнутых ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ опрСдСляСт, ΠΊΠ°ΠΊΠΎΠΉ процСссор
    рСгистры ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ рСгистров Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.Π—Π°ΠΏΠΈΡΡŒ
    Ρ‡Ρ‚ΠΎ этот Π°Π½Π°Π»ΠΈΠ· позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСссора / ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ABI ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ²Π°
    конвСнция. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π΄Π²ΡƒΡ… ΠΌΠ΅ΠΆΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… Π°Π½Π°Π»ΠΈΠ·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚
    Π±Ρ‹Ρ‚ΡŒ пСрСписанным с ΠΈΡ… явными Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·Ρ‹.
    Π½Π° пошаговой основС. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π² SSA Form ,
    Ρ„Π»Π°Π³ΠΈ ΠΊΠΎΠ΄Π° условия устранСны, Π° выраТСния ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Ρ‹. НаконСц
    ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹
    Π²Π½Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ SSA.
  • ΠœΠ΅ΠΆΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· Ρ‚ΠΈΠΏΠ° Π€Π°Π·Π° пытаСтся Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ
    Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΏΡƒΡ‚Π΅ΠΌ Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ значСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ
    ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ подсказки, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ
    ΠΊΠ°ΠΊ ΠΈ любой «ΠΏΡ€ΠΎΡ€ΠΎΡ‡Π΅ΡΠΊΠΈΠΉ»
    информация, прСдоставлСнная ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.ВыраТСния доступа ΠΊ памяти
    ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² ΠΈΡ… эквивалСнты Π² C: Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ указатСля (* foo), доступ ΠΊ Ρ‡Π»Π΅Π½Ρƒ
    выраТСния (foo-> bar) ΠΈ ссылки Π½Π° массивы (foo [bar]).
  • НаконСц, Π°Π½Π°Π»ΠΈΠ· структуры пСрСписываСт ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры ΠΈΠ·
    нСструктурированный ΠΊΠΎΠ΄ goto-sphaghetti для языка C if, while- / do-loops,
    ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅

ДСкомпилятор написан Π½Π° C # ΠΈ Π² настоящСС врСмя ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° срСду CLR вСрсии 2.0.
Π’ настоящСС врСмя ΠΎΠ½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Visual Studio 2005, Π½ΠΎ ΠΏΠ»Π°Π½
скоро Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ MonoDevelop (Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ?)

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° мСтодология Test Driven Development с ΡƒΠΏΠΎΡ€ΠΎΠΌ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС.
Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄, Ссли для Π½Π΅Π³ΠΎ Π½Π΅ написаны ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько связанных тСстов. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°
дСкомпилятор — это Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ слоТная Ρ€Π°Π±ΠΎΡ‚Π° с мноТСством особых случаСв. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… тСстов сдСлало Π±Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ
вСчная ΠΎΡ…ΠΎΡ‚Π° Π·Π° ошибками, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ исправлСния ΠΎΠ΄Π½ΠΎΠΉ ошибки вводят Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ошибки.ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ тСсты Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ с использованиСм NUnit v2.2.

Subversion ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для управлСния вСрсиями.

Бтатус

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ дСкомпилятора находится Π½Π° стадии ΠΏΡ€Π΅-Π°Π»ΡŒΡ„Π°. Π’ Π΅Π³ΠΎ Π½Ρ‹Π½Π΅ΡˆΠ½Π΅ΠΌ Π²ΠΈΠ΄Π΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ MS-DOS ΠΈ PE,
Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… содСрТимоС, ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ дизассСмблированныС инструкции Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„Π°Π·Ρƒ Π°Π½Π°Π»ΠΈΠ·Π°
упомянутый Π²Ρ‹ΡˆΠ΅. Π’ настоящСС врСмя Ρ€Π°Π±ΠΎΡ‚Π° сосрСдоточСна Π½Π° Π°Π½Π°Π»ΠΈΠ·Π΅ Ρ‚ΠΈΠΏΠΎΠ², Π° структурированиС ΠΊΠΎΠ΄Π° ΠΎΡ‚ΠΎΡˆΠ»ΠΎ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ»Π°Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ
ΠΌΠ΅Π½Π΅Π΅ слоТСн, Ρ‡Π΅ΠΌ восстановлСниС Ρ‚ΠΈΠΏΠΎΠ².Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ внСсти свой Π²ΠΊΠ»Π°Π΄, ΡΠ²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ!

.

Decompiler — ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° SourceForge.net

Reko (швСдский: Β«ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½Ρ‹ΠΉ, услуТливый») — это ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ C #, содСрТащий
дСкомпилятор для Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² машинного ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ свободно
доступно ΠΏΠΎΠ΄ Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ общСствСнной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GNU.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ состоит ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… интСрфСйсов, ядра дСкомпилятора ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ стороны.
заканчиваСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π΅ΠΌΡƒ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ своих Ρ†Π΅Π»Π΅ΠΉ. Командная строка, графичСский интСрфСйс Windows,
ΠΈ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания сущСствуСт интСрфСйс ASP.NET. ДСкомпилятор
Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΡ… частСй Π² Π²ΠΈΠ΄Π΅ Π»ΠΈΠ±ΠΎ
ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° дСкомпилятора.Π Π΅ΠΊΠΎ
Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° содСрТат Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅,
ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для процСсса дСкомпиляции ΠΈΠ»ΠΈ для форматирования Π²Ρ‹Π²ΠΎΠ΄Π°.
Π—Π°Ρ‚Π΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ дСкомпилятора приступаСт ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‚ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈΠ»ΠΈ
Π΄Ρ€ΡƒΠ³ΠΎΠΉ рСвСрс-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³ ΠΈΡ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² машинного ΠΊΠΎΠ΄Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот
дСкомпилятор, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ Π·Π°ΠΊΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π° Π½Π° Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°
(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π²Π°ΠΌ.)

Π’Π·Π»ΠΎΠΌ

Π’Ρ‹ смоТСтС ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ reko, просто ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π² https: // github.com / uxmal / reko
ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π² Ρ„Π°ΠΉΠ» Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ reko-decompiler.sln с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Visual
Studio 2012 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅ ΠΈΠ»ΠΈ MonoDevelop. ВсС внСшниС зависимости
Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π²ΠΎ внСшний ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ . Π’ ΠΏΠ°ΠΏΠΊΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π”Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹
содСрТит исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы: WindowsDecompiler — это
ΠšΠ»ΠΈΠ΅Π½Ρ‚ GUI для Windows; MonoDecompiler — это ΠΊΠ»ΠΈΠ΅Π½Ρ‚ графичСского интСрфСйса для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Mono; CmdLine Π΅ΡΡ‚ΡŒ
Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. ( ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: , поТалуйста, Π΄Π°ΠΉΡ‚Π΅ Π½Π°ΠΌ
Π·Π½Π°Ρ‚ΡŒ, Ссли Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, поэтому ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ для
Ρ‚Ρ‹.

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ прСдупрСТдСния ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² Visual Studio
Ссли Π²Ρ‹ Π½Π΅ установили Π½Π°Π±ΠΎΡ€ инструмСнтов WiX Π½Π° свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ спокойно ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ прСдупрСТдСния; Π½Π°Π±ΠΎΡ€ инструмСнтов WiX ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ создании
ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ установщика MSI. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ этого Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π²Ρ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅
для компиляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ установщик MSI с
Π½Π°Π±ΠΎΡ€ инструмСнтов WiX, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ здСсь: http://wixtoolset.org/releases/

Если Π²Ρ‹ заинтСрСсованы Π² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, см.
дороТная ΠΊΠ°Ρ€Ρ‚Π° областСй для изучСния.Π’ Wiki Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация
ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π Π΅ΠΊΠΎ.

ПослСдниС вСрсии

Π–ΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ см. На NEWS.md.

.

python — ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ exe-Ρ„Π°ΠΉΠ», скомпилированный py2exe?

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка

  1. Около
  2. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹

  3. Для ΠΊΠΎΠΌΠ°Π½Π΄
  1. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка
    ΠžΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹

  2. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка для ΠΊΠΎΠΌΠ°Π½Π΄
    Π“Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈ дСлятся частными знаниями с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ

  3. Вакансии
    ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ связанныС с Π½ΠΈΠΌ тСхничСскиС возмоТности ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½ΠΎΠ³ΠΎ роста

  4. Π’Π°Π»Π°Π½Ρ‚
    НанимайтС тСхничСских спСциалистов ΠΈ создавайтС свой Π±Ρ€Π΅Π½Π΄ работодатСля

  5. Π Π΅ΠΊΠ»Π°ΠΌΠ°
    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ со всСго ΠΌΠΈΡ€Π°

  6. О компании

.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *