Декомпилировать что это значит

Содержание:

Введение

Период, термин декомпилятор чаще всего применяется к программе, которая переводит исполняемый файл программ (вывод из компилятор) в исходный код в (относительно) язык высокого уровня который при компиляции создаст исполняемый файл, поведение которого будет таким же, как у исходной исполняемой программы. Для сравнения: дизассемблер переводит исполняемую программу в язык ассемблера (и ассемблер может быть использован, чтобы собрать его обратно в исполняемую программу).

Декомпиляция — это действие с использованием декомпилятора, хотя этот термин также может относиться к выходным данным декомпилятора. Его можно использовать для восстановления утерянного исходного кода, а также в некоторых случаях полезно для компьютерная безопасность, совместимость и исправление ошибки. Успех декомпиляции зависит от количества информации, содержащейся в декомпилируемом коде, и сложности анализа, выполняемого над ним. Форматы байт-кода, используемые многими виртуальными машинами (например, Виртуальная машина Java или .NET Framework общеязыковая среда выполнения) часто включают обширные метаданные и высокоуровневые функции, которые делают декомпиляцию вполне возможной. Наличие данные отладки может сделать возможным воспроизведение исходных имен переменных и структур и даже номеров строк. Машинный язык без таких метаданных или отладочных данных декомпилировать гораздо труднее.

Некоторые компиляторы и инструменты посткомпиляции производят запутанный код (то есть они пытаются произвести вывод, который очень трудно декомпилировать или который декомпилируется до запутанного вывода). Это сделано для того, чтобы было сложнее обратный инженер исполняемый файл.

Хотя декомпиляторы обычно используются для (воссоздания) исходного кода из двоичных исполняемых файлов, существуют также декомпиляторы для преобразования определенных файлов двоичных данных в читаемые и редактируемые источники.

Перекомпиляция control.exe

В области структур данных мы исправили дубликаты имен и заменили инициализацию вида

anonymous_0     _SHELLEXECUTEINFOW_ ?

на

anonymous_0     _SHELLEXECUTEINFOW_ <>

Макрос unicode также «спотыкается» на символе кавычек <«>, который мы тоже «экранировали» восклицательным знаком <> .

«Ида» любит использовать в качестве имен переменных служебные слова, в данном случае: Type. Заменяя его на слово Type_, сразу устраняем часть проблем.

Далее «Ида» также практикует общие имена в полях структур и в параметрах функций. Хотя эти имена формально не пересекаются, компилятору они не нравятся. Например, поля wParam и lParam в глобальной структуре:

MSG             struc 
  hwnd         dd ?                    
  message      dd ?
  wParam       dd ?
  lParam       dd ?
  time         dd ?
  pt           POINT <>
MSG             ends

и аналогичные переменные в теле функции:


_DummyControlPanelProc@16 proc near     
  ExecInfo     = _SHELLEXECUTEINFOW ptr -3Ch
  hWnd         = dword ptr 8
  Msg          = dword ptr 0Ch
  wParam       = dword ptr 10h
  lParam       = dword ptr 14h

Однако ничего не поделаешь, имена эти нужно разделять, что мы и сделаем.

Далее, после удаления ненужной нам секции импорта, мы столкнемся с такой проблемой, как неопределенный символ dword_100185C. Смотрим исходный листинг программы и видим следующую картину:

.text:01001858 _c_aCompatCpls  dd offset aDesktop      
.text:0100185C                 dd 0FFFFFFFFh, 1001C1Ch,  
.text:01001868                 dd offset aColor        

Ну, раз «Ида» не захотела вставить данную метку в положенное ей место, то придется нам выполнить эту работу за нее . Получаем следующий результат.

_c_aCompatCpls  dd offset aDesktop      
dword_100185C   dd 0FFFFFFFFh, 1001C1Ch,  
                dd offset aColor        

Ну вот, почти все хорошо, только линковщик жалуется, что не находит символ __imp__IsOS@4. И действительно, в библиотеке shlwapi.dll (откуда импортируется «Идой» эта функция) нет даже подстроки IsOS. Как выяснилось shlwapi.dll экспортирует эту функцию только по номеру, ординал которой равен 437. В отладочных символах, которые использует «Ида», имя этой функции определенно, но в самой dll-ке этого имени нет, только ординал. Так что у нас есть два варианта. Либо в ассемблерном коде делать вызов функции __imp__IsOS@4 по ординалу (фактически по явному адресу, который соответствует 437-й функции), либо изменить файл shlwapi.lib так, чтобы данному имени соответствовал 437-й ординал. Заметим, что, в отличие от экспортируемых имен, экспортируемые ординалы редко соответствуют одной и той же функции в разных версиях dll-ных библиотек. Впрочем, деваться нам некуда, придется работать с ординалами, в расчете на то, что Микрософт для важных функций не будет менять ординалы в различных версиях своей ОСи, что впрочем, всегда надо проверять.

Мы предпочтем второй вариант действий, так как менять существенно гигантский ассемблерный код от «Иды» нас, в общем случае, не прикалывает . Следует только помнить, что генерить собственный lib-файл придется для всех функций, соответствующей библиотеки, используемых в проекте. В нашем случае, shlwapi.dll использует только одну единственную функцию, поэтому построить вручную нужный lib-файл для нее одной труда не составит. Однако, если проект будет содержать сотни импортируемых функций, то придется уже искать какие-то средства автоматизации построения собственных lib-файлов. Но об этом речь будет идти, скорее всего, в следующей статье. Сейчас мы просто построим lib-файл для одной функции _IsOS@4 (парную ей функцию __imp__IsOS@4 компилятор создает автоматически). Помним, что при использовании экспортируемой функции в ассемблерном коде, лидирующий символ подчеркивания нужно убирать.

Итак, в нашем случае, мы должны создать текстовый файл shlwapi.def с содержимым:

LIBRARY "shlwapi.dll"
EXPORTS
_IsOS@4      @437

и затем скомпилировать его с помощью утилиты lib.exe или polib.exe, входящих в состав MASM32. Например, с помощью командного файла def2lib.bat:

SET FILENAME=shlwapi


Bin\polib /DEF:%FILENAME%.def /OUT:%FILENAME%.lib /MACHINE:X86 > a.a

del *.exp

Только при использовании lib.exe надо писать в shlwapi.def:

IsOS@4      @437

Полученный файл shlwapi.lib используем вместо оригинального и таким образом, преодолеваем последнее препятствие для успешного запуска control.exe (рис. 9).




Рис. 9. Запущенное перекомпилированное приложение control.exe.

Решение

Прежде всего поговорим о полной декомпиляции приложения. То есть, вместе с распаковкой всех вложенных в apk xml-файлов. Для этого потребуется утилита apktool. Все что нужно — это запустить утилиту с правильными параметрами: java -jar apktool.jar d app.apk. Флаг d означает, что приложение будет декомпилировано. Последний параметр – путь к apk-файлу. Для удобства я создал bat-скрипт и положил его рядом с программой.

java -jar apktool.jar d app.apk

pause

Теперь достаточно просто скопировать интересующее Вас приложение в папку с программой под именем app.apk и запустить скрипт. Консоль покажет вывод работы программы, а после Вы увидите папку, в которой все разложено по своим местам: ресурсы, манифест, код. Также, как и проект во время разработки. За исключением, конечно же, того, что код будет выглядеть в виде опкодов для Dalvik.

Что касается второго способа, то для этого нам потребуется две другие утилиты: dex2jar и jdgui. Они обе также бесплатные и с открытым кодом. Вам необходимо открыть apk-файл с помощью архиватора (7zip, например) и извлечь в папку с dex2jar файл classes.dex.

После чего запустить утилиту следующей командой. Это преобразует код машины Dalvik в код Java. Если преобразование завершилось успешно, Вы получить файл classes.jar. Этот файл открываем в jdgui.

Программа с оконным интерфейсом, проблем с открытием файла у реверсера, пускай и начинающего, быть не должно. После открытия на панели слева будут отображены все классы, включенные в программу и распределенные по пакетам.

Дело остается за малым: исследовать код программы. Если целью декомпиляции было внесение каких-либо изменений в программе, то после всех действий необходимо все файлы собрать в apk и подписать его. О том, как это сделать, читайте в продолжении.

Методика оптимизации программного кода 1С: проведение документов

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С.
Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия.
К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

1 стартмани

Automated TeamCity Builds

Our TeamCity servers are continuously generating up-to-date RetDec packages from the latest commit in the branch. These are mostly meant to be used by RetDec developers, contributors, and other people experimenting with the product (e.g. testing if an issue present in the official release still exists in the current ).

You can use these as you wish, but keep in mind that there are no guarantees they will work on your system (especially the Linux version), and that regressions are a possibility. To get a stable RetDec version, either download the latest official pre-built package or build the latest RetDec version tag.

Декомпиляция и компиляция apk

вкл. 24 Сентябрь 2020 . Опубликовано в Android — Общее

Декомпиляция и Компиляция APK приложения Андроид. Для того чтобы редактировать APK приложения. Прежде всего их нужно декомпилировать, а после скомпилировать! Как это сделать и чем можно узнать в этом уроке.

В прошлом уроке вы узнали из чего состоят основные внутренности приложения, а также что данные что APK приложения (в дальнейшем просто APK) можно открыть архиватором, но что либо изменить у вас не получиться! Нужна Декомпиляция APK приложения Android!

1. Java JDK — среда разработки;

2. ApkTool — программа декомпилятор;

4. Sign Android — подпись приложения APK

Установка необходимых компонентов. Настройка Java

После установки Java JDK , необходимо, добавить ее в переменную Windows . Если кто не понял официальное куроводство то,

Скопируйте путь Java JDK:

Перейдите в меню Дополнительные настройки

(Мой) Компьютер ->Свойства системы->Дополнительные параметры системы->Дополнительно->Системные переменные->Правка

Java JDK настроена.

Настройка ApkTool

  1. Создать папку на диске C: и в нее переместить файлы apktool_x_x.jar и apktool.bat
  2. Файл apktool_x_x.jar переименовать в apktool.jar

Если появилось наподобие такой вывод информации, то все сделано правильно.

Декомпиляция APK

Чтобы декомпилировать приложение, скопируйте файл APK приложения в папку где находится apktool, далее необходимо выполнить вот что, в командной строке ввести команду:

Декомпиляция APK завершена.

После того как вы отредактируете или русифицируете APK, его надо Компилировать

Компиляция APK

Вводим в командной строке:

После чего перейдите в папку проекта ( в данном случае папка browser) и вы увидете две новые папки:

  • build
  • dist

В папке dist будет находится готовое приложение:

Если папки dist не обнаружили, значит apktool не смог собрать редактируемый проект, причиной тому может быть то, что измения которые вы вносили(«поломали») не позволяют собрать приложение apk.

После компиляции приложения apk его необходимо подписать.

Подпись APK

1. Для этого Вам надо разархивировать архив Sign Android

2. Скопировать готовое приложение в папку с распакованным Sign Android

3. Потянуть приложение на файл Sign_APK.bat после чего приложение будет подписано

Готовое подписанное приложение будет носить название apk_signed.apk

Работа с системными APK

Для того чтобы модифицировать системные приложения необходимо прежде всего необходимо скормить программе APKTOOL системный файл framework -res.apk который находиться в системном разделе Android:

Для того чтобы скормить Apktool данный файл необходимо, ввести команду:

Учитывайте что, команду нужно вводить относительно пути расположения, то есть если файл framework -res.apk находиться в папке C:primer, то команда будет выглядеть следующим обзором:

Также для того чтобы можно было модифицировать системные файлы прошивка должна быть вначале Deodex-ирована.

Как пользоваться SmartApkTool

Прежде всего вам надо установить и настроить Java JDK и Apktool как указано выше.

Откройте программу SmartApkTool

Если Вам необходимо Декомпилировать приложение в SmartApkTool, то выберите данный пункт и необходимое приложение

Если компилировать, то

и выбрать файл в проекте apktool.yml

Для подписи приложения APK, нажать обзор, выбрать приложение и подписать

Все так легко и просто!

Альтернативный вариант

Для тех кому не понравился SmartApkTool, есть альтернатива Android MultiTool

Дисклеймер: Я не 23 летний сеньор (мне 19 и до сеньора мне еще ой как далеко, года 4, поэтому супер статьи от меня не ждите.

Основа пути моего, разработчика как — обучение/изучение нового постоянное. Надеюсь, у вас тоже.

Я бы хотел подробно рассмотреть процесс компиляции и сборки Android приложения в конечный .apk. Да, при разработке очередного приложения какашкибезholoстилей эта информация вам нафиг не сдалась, но для общего развития будет полезна всем Android разработчикам.

Конечно, можно было бы ограничиться инструкцией вроде:

  • Напишите код
  • Нажмите кнопочку Build & Run в вашей IDE
  • Продолжайте быть Android разработчиком

Но мы не ищем легких путей.

Примечание: Это не перевод https://developer.android.com/tools/building/index.html, это статья, основанная в том числе и на данной документации.

Как пользоваться

Как его использовать на примере ELMA BPM и C#.

  1. Запустите IlSpy.exe (находится в скачанном архиве, предварительно распаковать)
  2. Скопируйте файлы с расширением .dll в отдельную папку
    • файлы .dll серверных частей модулей Elma BPM лежат в папке <Elma>/Web/bin
    • файлы .dll веб частей модулей Elma BPM лежат в папке <Elma>/Web/Modules/<ModuleName>/bin

      в папке веб модуля есть 90% исходного кода в виде файлов .cs

  3. Перенесите содержимое папки в левую часть окна IlSpy
  4. Результат — мы имеем декомпилированный код модулей.

Инструкция:

  1. Вспоминаем где используется нужный нам механизм (на примере texttemplate)
  2. Определяем область поиска и ищем по смыслу нужные примеры в исходниках.

*Внутри Elma BPM два генератора текста — в «базовом» не работают функции для шаблонов. На скриншоте полноценный вариант

Точки расширения системы

— интерфейсы при реализации которых добавляется новый функционал.

Например как добавить новую функцию в генератор Elma BPM — вот статья, а как:

  • Добавить новую функцию в EQL ( например вам нужна функция которая вернет начало текущего года — CurrentYear())
  • Выполнить действие по событию переназначения задачи (например при переназначении процессной задачи (изменении исполнителя) — нужно изменить поле в сущности)

И так далее ( а таких точек расширения десятки а то и сотни) — этого в документации нет.

Служебные механизмы

Следующее с чем сталкиваются это:

— «Elma как то генерирует текст по шаблону — мне нужно то же самое!» (нет не по файлу, именно тексту)

как это сделать база знаний не ответит, за то ответит исходный код:

Особенности работы с базой данных

Изучите как устроены модули, из полезного я так нашел (точнее мне оно очень нужно было):

  • Как правильно создавать и вызвать хранимые процедуры в ELMA BPM
  • Как создавать индексы в базе данных
  • Как вызвать sql скрипт из кода

— последние два пункта — домашнее задание) 

Как используются паттерны в Elma BPM

Иногда приходится разобраться как правильно применить паттерны (также как производитель)

  • Паттерн Unit Of Work
  • Как вызвать отдельный поток (попробуйте найти сами)
  • Как создать пул потоков и воспользоваться сервисами ELMA BPM  (используется в Workflow для исполнения элементов бизнес процесса)
  • Как работает IoC в Elma BPM (используется Autofac, инверсия управления и внедрение зависимостей)

Доработать функционал веб части

Тут даже может не потребоваться декомпилятор, исходный код открыт.

Типичные примеры:

  • Нужен универсальный модуль массового редактирования полей :
  • Нужен универсальный модуль импорта :

Для этого вам нужно

  1. Открыть исходный код веб части модуля Common (работа со справочниками)
  2. Изучить то как устроен контроллер (это из MVC, обычный класс с методами) Catalogs
  3. Скопировать в свой модуль, добавить зависимости
  4. Добавить функционал который требуется ( например импорт справочников, логику придется придумать самостоятельно)

далее пофантазируйте — что еще можно сделать зная «правду»

Authors

The decompiler was originally written by Jindra Petřík also known as JPEXS.
The application was made in Czech republic.

Developers

  • JPEXS — leader, development of the decompiler, website main admin, github account admin, organization
  • honfika — development of the decompiler
  • Paolo Cancedda — former developer
  • …other pushers on GitHub or Google Code

Translators

  • Jaume Badiella Aguilera — catalan translation
  • Capasha — swedish translation
  • 王晨旭 (Chenxu Wang) — chinese translation
  • focus — russian translation
  • honfika — hungarian translation
  • kalip — italian translation
  • Krock — german translation
  • Laurent LOUVET — french translation
  • MaGiC — portugese translation
  • martinkoza — polish translation
  • Osman ÖZ — turkish translation
  • pepka — ukrainian and dutch translation
  • poxyran — spanish translation
  • realmaster42 — portugese-brasil translation
  • Rtsjx — chinese translation
  • koiru — japanese translation

Известные ограничения

Требуется режим прерывания выполнения

Создание исходного кода с помощью декомпиляции возможно только в том случае, если отладчик находится в режиме прерывания выполнения и приложение приостановлено. Например, Visual Studio переходит в режим прерывания, попадая в точку останова или в исключение. Вы можете легко активировать прерывание выполнения Visual Studio при следующем запуске кода с помощью команды Прервать все ().

Ограничения декомпиляции

Создание исходного кода из промежуточного языка (IL), используемого в сборках .NET, имеет некоторые внутренние ограничения. Поэтому созданный исходный код не выглядит в точности как оригинальный исходный код. Большая часть различий сосредоточена в тех местах, где информация в оригинальном исходном коде не нужна во время выполнения. Например, во время выполнения не нужна такая информация, как пробелы, комментарии и имена локальных переменных. Рекомендуется использовать созданный исходный код, чтобы понять, как выполняется программа, а не в качестве замены оригинального исходного кода.

Отладка оптимизированных сборок или сборок выпуска

При отладке кода, декомпилированного из сборки, которая была скомпилирована с использованием оптимизаций компилятора, вы можете столкнуться со следующими проблемами:

  • точки останова могут не всегда быть привязаны к соответствующим исходным расположениям;
  • при пошаговом выполнении шаг может не всегда переходить в правильное место;
  • имена локальных переменных могут быть неточными;
  • некоторые переменные могут быть недоступны для оценки.

Дополнительные сведения можно найти в описании проблемы GitHub Интеграция ICSharpCode.Decompiler с отладчиком VS.

Надежность декомпиляции

Относительно небольшой процент попыток декомпиляции может привести к сбою. Это происходит из-за ошибки пустой ссылки точки последовательности в ILSpy. Мы устранили этот сбой путем перехвата таких проблем и корректного завершения попытки декомпиляции.

Дополнительные сведения можно найти в описании проблемы GitHub Интеграция ICSharpCode.Decompiler с отладчиком VS.

Ограничения при работе с асинхронным кодом

Результаты декомпиляции модулей с шаблонами кода async/await могут быть неполными или неудачными в целом. Шаблоны кода async/await и машины состояния yield state-machine в ILSpy реализованы только частично.

Дополнительные сведения можно найти в описании проблемы GitHub Состояние генератора PDB.

Только мой код

Параметры режима Только мой код (JMC) позволяют Visual Studio выполнять шаг с обходом системы, платформы, библиотеки и других вызовов непользовательского кода. Во время сеанса отладки в окне Модули отображаются модули кода, которые отладчик воспринимает как «Мой код» (т. е. пользовательский код).

При декомпиляции оптимизированных модулей или модулей выпуска создается непользовательский код. Если отладчик прерывается в декомпилированном непользовательском коде, появляется окно Отсутствует источник. Чтобы отключить режим «Только мой код», перейдите в раздел Инструменты > Параметры (или Отладка > Параметры) > Отладка > Общие и снимите флажок Включить только мой код. .

Извлеченный исходный код

Исходный код, извлеченный из сборки, имеет следующие ограничения.

  • Имена и расположение созданных файлов нельзя настроить.
  • Файлы являются временными и будут удалены Visual Studio.
  • Файлы помещаются в одну папку без использования какой-либо иерархии, которая была в оригинальных исходных файлах.
  • Имя каждого файла содержит хэш контрольной суммы файла.

Создается только код C#

При декомпиляции создаются только файлы исходного кода на C#. Возможность создавать файлы на каком-либо другом языке отсутствует.

Как декомпилировать EXE-файл

К сожалению, Windows не предусматривает в своем инструментарии встроенных инструментов, позволяющих выполнить декомпиляцию, поэтому придется пользоваться только сторонним ПО. Такое ПО может быть полезно как пользователям, которые просто желают получше изучить исходный код той или иной программы, так и разработчикам.

Вариант 1: VB Decompiler

Корректно способен провести декомпиляцию EXE-файлов, написанных и скомпилированных через Visual Basic 5.0 и 6.0. Это самая популярная среда разработки программ для Windows. Сама программа полностью бесплатна и занимает на диске всего несколько мегабайт.

  1. В верхней части интерфейса кликните по пункту «Файл» и выберите из контекстного меню вариант «Открыть программу». Вместо этого можно воспользоваться сочетанием клавиш Ctrl+O.
  2. В «Проводнике» отыщите исполняемый файл той программы, декомпиляцию которой вы собираетесь провести. Выделите его и нажмите на кнопку «Открыть», чтобы выполнить загрузку файла в рабочую среду.
  3. Путь до нужного EXE-файла отобразится в строке «Файл». Нажмите на кнопку «Старт», чтобы запустить процедуру декомпиляции.
  4. Программа не оповещает о завершении процедуры декомпиляции. О завершении таковой будет свидетельствовать только надпись «Декомпилировано» в нижней левой части окна.
  5. Для сохранения декомпилированного файла нажмите по кнопке «Файл» в верхнем меню и выберите из выпадающего списка вариант «Сохранить декомпилированный проект». Можете просто воспользоваться сочетанием клавиш Ctrl+S.

Вариант 2: EMS Source Rescuer

Данный декомпилятор корректно работает с файлами, скомпилированными с помощью Delphi и C++ Builder. Работа с другими компиляторами возможна, но официально не поддерживается, поэтому есть риски. Программа распространяется полностью бесплатно.

  1. Запустите EMS Source Rescuer. Его интерфейс представлен в качестве блоков с шагами. На первом шаге вам требуется указать путь до проекта, который будет декомпилирован. Это можно сделать, нажав на кнопку папки в строке «Executable File».
  2. Выберите нужный EXE-файл в окошке «Проводника».
  3. В поле «Project name» пропишите имя декомпилируемого проекта и нажмите «Next».
  4. На следующем шаге потребуется выбрать язык программирования, используемый в выбранном проекте. Это делается в блоке «Output style». Поставив маркер на нужном месте нажмите «Next».
  5. Вы перейдете сразу на 3-й шаг. Здесь будет показан исходный код проекта. Ниже выберите папку, в которую будут сохранены исходные файлы, извлеченные из EXE-файла, и нажмите «Save».

Вариант 3: ReFox

ReFox отлично зарекомендовал себя в декомпиляции проектов, созданных через Visual FoxPro и FoxBASE+. Сама программа носит условно-бесплатный характер использования. Есть демонстрационная версия, использование которой бесплатно, но только определенный период времени.

Инструкция по использованию данной программы выглядит так:

  1. В левую часть интерфейса программы уже встроен обозреватель файлов. Воспользуйтесь им, чтобы найти и открыть нужный EXE-файл. В правой части отображается техническая информация о выбранном элементе.
  2. Кликните правой кнопкой мыши по выбранному файлу. В контекстном меню выберите пункт «Decompile».
  3. Появится окошко, в котором будет указана директория декомпилируемого файла. Если там все верно, то нажмите «Ок» для продолжения операции.
  4. По завершении процесса вы получите соответствующее сообщение. Нажмите там «Ок». Результат можно посмотреть в той папке, которую вы указали во 2 шаге.

Вариант 4: DeDe

Эта программа для декомпиляции не так функциональна и поддерживает только одни язык – Delphi.

  1. Около самого верхнего поля нажмите на кнопку в виде раскрытой папки. Она отвечает за добавление папки.
  2. Выберите в «Проводнике» нужный EXE-файл и нажмите «Открыть».
  3. Чтобы запустить процесс декомпиляции, нажмите на кнопку «Процесс», которая расположена около строки указания проекта.
  4. При успешном завершении вы получите соответствующее сообщение. Нажмите «Ок» или закройте его.
  5. Теперь вам осталось сохранить результаты декомпилирования на компьютере. Переключитесь на вкладку «Project».
  6. Рекомендуется отметить галочками все пункты в блоке «Сохранить Делфи Проект». В строке «Папка проекта» укажите директорию, куда будет выполнено сохранение. Нажмите на кнопку «Сделать файлы», чтобы завершить сохранение.

Представленные декомпиляторы способы выполнить обратное преобразование большинства EXE-файлов, написанных на разных языках программирования. Как видите, в самом процессе, вне зависимости от выбранной программы, нет ничего сложного.

Exec — Выполнение кода, консоль запросов и не только! Промо

Незаменимый инструмент администратора БД и программиста:
Выполняйте произвольный код из режима 1С Предприятие; сохраняйте/загружайте часто используемые скрипты; выполняйте запросы с замером производительности запроса в целом и каждой из временных таблиц в частности, а также с просмотром содержимого временных таблиц; произвольным образом изменяйте любые объекты БД, редактируя даже не вынесенные на формы реквизиты и записывая изменения в режиме «ОбменДанными.Загрузка = Истина»; легко узнавайте ИД объектов БД; выполняйте прямые запросы к SQL с замером производительности и не только!

5 стартмани

использованная литература

  1. Мечниковский, Иероним; Хендрен, Лори (2002). «Декомпиляция байт-кода Java: проблемы, ловушки и подводные камни». В Хорспул, Р. Найджел (ред.). Конструирование компилятора: 11-я Международная конференция, сборник материалов / CC 2002. Springer-Verlag. С. 111–127. ISBN 3-540-43369-4.
  2. Майкрофт, Алан (1999). «Типовая декомпиляция». В Swierstra, S. Doaitse (ред.). Языки и системы программирования: 8-й Европейский симпозиум по языкам и системам программирования. Springer-Verlag. С. 208–223. ISBN 3-540-65699-5.
  3. )
  4. Роуленд, Дайан (2005). Закон об информационных технологиях (3-е изд.). Кавендиш. ISBN 1-85941-756-6.
  5. Чарнота, Бриджит; Харт, Роберт Дж. (1991). Правовая защита компьютерных программ в Европе: руководство к директиве ЕС. Лондон: Баттервортс Толли. ISBN 0-40600542-7.

decompiler

Главная / Инструменты / decompiler

Пакеты, которые пытаются преобразовать скомпилированные программы в исходный код.

Всего: 28

Имя Версия Описание Категория Веб-сайт
avaloniailspy 202.3cc092b .NET декомпилятор (порт ILSpy). decompiler
beebug 25.cddb375 Это инструмент, который можно использовать для проверки возможности эксплуатации сбоя программы. decompiler disassembler reversing
cafebabe 0.1.2 Java bytecode editor & decompiler. decompiler reversing
cfr 151 Ещё один Java декомпилятор. decompiler
dnspy 6.1.8 Отладчик .NET и редактор сборки. windows decompiler binary reversing
dotpeek 2021.1.3 Бесплатный декомпилятор .NET и обозреватель сборок. windows decompiler binary reversing
fernflower 485.e19aab6 Аналитический декомпилятор для Java. decompiler
ffdec 11.0.0 Открытый декомпилятор и редактор Flash SWF. decompiler binary misc
flasm 1.62 Дизассемблер для байт-кода SWF. reversing decompiler
gadgetinspector 6.ac7832d A byte code analyzer for finding deserialization gadget chains in Java applications. decompiler binary
hopper 4.8.2 Инструмент обратного проектирования, который позволяет дизассемблировать, декомпилировать и отлаживать ваши приложения. reversing disassembler decompiler binary
iaito 5.3.1 Qt and C++ GUI for radare2 reverse engineering framework reversing decompiler disassembler debugger
jadx 1.2.0 Инструменты командной строки и с графическим интерфейсом для создания исходного кода Java из файлов Android Dex и APK. decompiler reversing
jd-cli 1.2.0 Command line Java Decompiler. decompiler reversing
jd-gui 1.6.6 Автономная графическая утилита, которая отображает исходные коды Java файлов .class. decompiler reversing
jpexs-decompiler 14.4.0 JPEXS бесплатный декомпилятор Flash. decompiler
justdecompile 22018 Движок декомпиляции JustDecompile. windows decompiler binary reversing
luyten 0.5.4 Графический интерфейс с открытым исходным кодом декомпилятора Java для Procyon. decompiler misc
pcode2code 4.4de2193 Декомпилятор p-кода VBA. decompiler
procyon 0.6 Набор на Java инструментов метапрограммирования, сфокусированных на генерации кода и анализе. decompiler code-audit
python-uncompyle6 3.7.4 Декомпилятор между различными версиями Python. decompiler
r2cutter 1:1.12.0 Qt and C++ GUI for radare2 reverse engineering framework reversing decompiler disassembler debugger
r2ghidra 5.4.1 Deep ghidra decompiler integration for radare2 and r2cutter reversing decompiler disassembler debugger
radare2-cutter 1:1.12.0 Графический интерфейс на Qt и C++ для radare2 — платформы обратной инженерии. decompiler reversing disassembler debugger
recaf 2.20.3.2201.d13a3427 Современный редактор байткоода Java. decompiler reversing
recstudio 4.1 Кроссплатформенный интерактивный декомпилятор. decompiler reversing
retdec 1976.6a793d10 Перенаправляемый декомпилятор машинного кода, базируется на LLVM. decompiler reversing
snowman 0.1.3 Нативный (родной) декомпилятор C/C++. windows decompiler

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия — Simple UI (обновлено 14.11.2019)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector