Декомпиляция exe-файлов

Related Repositories

  • retdec-idaplugin — Embeds RetDec into IDA (Interactive Disassembler) and makes its use much easier.
  • retdec-r2plugin — Embeds RetDec into Radare2 and makes its use much easier.
  • retdec-regression-tests-framework — A framework for writing and running regression tests for RetDec and related tools. This is a must if you plan to contribute to the RetDec project.
  • retdec-regression-tests — A suite of regression tests for RetDec and related tools.
  • retdec-build-system-tests — A suite of tests for RetDec’s build system. This can also serve as a collection of demos on how to use RetDec libraries.
  • vim-syntax-retdecdsm — Vim syntax-highlighting file for the output from the RetDec’s disassembler ( files).

Use

Please, ensure that you reading instructions corresponding to the used RetDec version. If unsure, refer to the file in the installation.

Linux

  1. After , install the following packages via your distribution’s package manager:

  2. To decompile a binary file named , run

    For more information, run with .

FreeBSD (Experimental)

  1. There are currently no pre-built «ports» packages for FreeBSD. You will have to build and install the decompiler by yourself. The process is described below.

  2. To decompile a binary file named , run

    For more information, run with .

Use of RetDec libraries

As of RetDec version 4.0 you can easily use various RetDec libraries in your projects — if they are build with CMake. RetDec installation contains all the necessary headers, libraries, and CMake scripts.

If you installed RetDec into a standard installation location of your system (e.g. , ), all you need to do in order to use its components is:

find_package(retdec 4.0 REQUIRED
   COMPONENTS
      <component>
      
)
target_link_libraries(your-project
   PUBLIC
      retdec::<component>
      
)

If you did not install RetDec somewhere where it can be automatically discovered, you need to help CMake find it before is used. There are generally two ways to do it (pick & use only one):

  1. list(APPEND CMAKE_PREFIX_PATH ${RETDEC_INSTALL_DIR})
  2. Set the path to installed RetDec CMake scripts to :

    set(retdec_DIR ${RETDEC_INSTALL_DIR}/share/retdec/cmake)

See the Repository Overview wiki page for the list of available RetDec components, or the retdec-build-system-tests for demos on how to use them.

Значит я могу взять исходники и сделать свою Elma BPM?

— нет этого сделать не получится

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

Вывод: это делать бессмысленно — вы больше потратите времени чтобы разобраться и собрать свою копию чем сделать заново

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

Украсть не получится — понятно

— тогда может хотя бы взломать активацию (сделать генератор ключей)?

* Забегая вперед —  тоже не получится )

В Elma BPM используется механизм односторонних функций — пара связанных функций

  • одна шифрует в одну сторону
  • другая в обратную

а в наличии только последняя.

  1. Представьте что вы пропустили лист бумаги через шредер (измельчитель бумаги)
  2. И теперь представьте механизм превращающий из мусора лист бумаги без потери информации… (у вас именно такой механизм)
  3. А теперь вам предстоит подобрать нужный шредер — удачи)

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

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

Как его использовать на примере 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. Добавить функционал который требуется ( например импорт справочников, логику придется придумать самостоятельно)

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

Build in Docker

Docker support is maintained by community. If something does not work for you or if you have suggestions for improvements, open an issue or PR.

Build Image

Building in Docker does not require installation of the required libraries locally. This is a good option for trying out RetDec without setting up the whole build toolchain.

To build the RetDec Docker image, run

This builds the image from the master branch of this repository.

To build the image using the local copy of the repository, use the development Dockerfile, :

Run Container

If your is not 1000, make sure that the directory containing your input binary files is accessible for RetDec:

Now, you can run the decompiler inside a container:

Note: Do not modify the part is. You only need to change . Output files will then be generated to .

Инструктор. Прототип инструмента создания быстрых пользовательских инструкций

Прототип дружелюбного и эффективного инструмента для написания пользовательских экспресс-инструкций.
Задействована штатная утилита Windows, о существовании которой многие не знают и которая умеет делать огромную работу по логированию действий и снятию скриншотов на всех ПК с Windows (начиная с версии Win7).

«Инструктор» не требует никакой установки и дополнительных библиотек!
Это означает, что инструмент будет работать и на домашнем ПК и на «чужом ноутбуке» и на терминальном win-сервере у заказчика, где ваши права сильно ограничены.
Вы просто подключаете легкую файловую базу 1С и получаете инструмент по снятию скриншотов с интересной функциональностью…

1 стартмани

Delphi Decompiler

Текущая версия: 1.7 (сборка 929) бета версияДата последнего обновления: 24 Апреля 2014Поддерживаемые форматы файлов: EXE, DLL, BPL, DCU

История изменений

Версия 1.7 сборка 929 (24.04.2014)
 * Исправлены критические ошибки в DCUDumperВерсия 1.6 сборка 911 (23.04.2014)
 * Добавлена декомпиляция DCU для Delphi XE-X5Версия 1.5 сборка 888 (24.07.2012)
 * Исправлены критические ошибки при дампировании програм скомпилированных в Delphi 2010,XE и XE2
 * Исправлены мелкие ошибки в окне «Select Process»Версия 1.4 сборка 808 (19.07.2012)
 * Исправлена критическая ошибка в получении списка процессов в окне «Select Process»
 + Добавлено определение программ скомпилированных в Delphi XE2Версия 1.3 сборка 777 (18.07.2012)
 * Данная версия предназначена только для тестирования
 + Частичная поддержка Delphi XE and Delphi XE2
 + Полная поддержка декомпиляции DCU для Delphi XE и Delphi XE2
 + Полный рефакторинг интерфейса программы
 — Удалена поддержка языков, теперь только английский язык
 * Исправлено много ошибок в окне «Select Process»
 + Добавлены привилегии отладки
 * Исправлено много других ошибокВерсия 1.1 сборка 211 (26.03.2010)
 * Исправлено определение программ откомпилированных в Delphi 7 (cпасибо GPcH)
 + Добавлена возможность перетаскивать файлы на главное окно программы (drag & drop)Версия 1.1 сборка 195 (04.03.2010)
 + Доработан DSF редактор
 * Исправлено исчезновение DSF редактора при парсинге
 + В DSF редакторе добавлена поддержка Delphi 2007, 2009, 2010 (пока работает только для парсинга .bpl)
 * Оптимизирован код для отрисовки ассемблерного кода
 * Полная реконструктизация проекта для ускорения работы по выпечке сборок и последующего тестированияВерсия 1.1 сборка 191 (08.02.2010)
 + Доработан PE редактор
 + Доработано окно «Настройки»
 + Добавлена возможность изменения шрифтов:
   — в DFM редакторе
   — в списках ListView
   — в дизассемблере
 * уменьшена задержка таймера на окно заставкиВерсия 1.1 сборка 187
 + исправлен PE редактор
 + добавлена возможность дампирования проектов Delphi 2007
 + добавлена возможность дампирования проектов Delphi 2009
 + добавлена возможность дампирования проектов Delphi 2010Версия 1.1 сборка 180
 + присвоен статус «бета»Версия 1.1 сборка 177
 + Переписан движок декомпиляции DCU
 + Переписан движок анализа EXE
 + Новый формат doi и dsf
 + Полностью изменен интерфейс
 + Возможность полноценного сохранения проекта (полноценная загрузка проекта на стадии доработки)
 + полноценная поддержка программ написанных на Delphi 2 — 7

Как декомпилировать 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-файлов, написанных на разных языках программирования. Как видите, в самом процессе, вне зависимости от выбранной программы, нет ничего сложного.

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

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.

Извлечение и просмотр внедренного исходного кодаExtract and view the embedded source code

Исходные файлы, внедренные в файл символов, можно извлечь с помощью команды Извлечь исходный код в контекстном меню окна Модули.You can extract source files that are embedded in a symbol file using the Extract Source Code command in the context menu of the Modules window.

Извлеченные исходные файлы добавляются в решение как прочие файлы.The extracted source files are added to the solution as miscellaneous files. В Visual Studio функция «Прочие файлы» по умолчанию отключена.The miscellaneous files feature is off by default in Visual Studio. Чтобы включить эту функцию, установите флажок Инструменты > Параметры > Среда > Документы > Показывать прочие файлы в Обозревателе решений.You can enable this feature from the Tools > Options > Environment > Documents > Show Miscellaneous files in Solution Explorer checkbox. Без включения этой функции вы не сможете открыть извлеченный исходный код.Without enabling this feature, you won’t be able to open the extracted source code.

Извлеченные исходные файлы отображаются в разделе прочих файлов в Обозревателе решений.Extracted source files appear in the miscellaneous files in Solution Explorer.

decompiler

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

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

Всего: 27

Имя Версия Описание Категория Веб-сайт
avaloniailspy 172.32ccf9e .NET Decompiler (port of ILSpy) decompiler
beebug 25.cddb375 Это инструмент, который можно использовать для проверки возможности эксплуатации сбоя программы. decompiler disassembler reversing
cafebabe 0.1.2 Java bytecode editor & decompiler. decompiler reversing
cfr 150 Ещё один Java декомпилятор. decompiler
dnspy 6.1.7 .NET debugger and assembly editor. windows decompiler binary reversing
dotpeek 2020.2.1 Free .NET Decompiler and Assembly Browser. 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.5.29 Reverse engineering tool that lets you disassemble, decompile and debug your applications. reversing disassembler decompiler binary
jadx 1.2.0 Инструменты командной строки и с графическим интерфейсом для создания исходного кода Java из файлов Android Dex и APK. decompiler reversing
jd-cli 1.1.0 Command line Java Decompiler. decompiler reversing
jd-gui 1.6.6 Автономная графическая утилита, которая отображает исходные коды Java файлов .class. decompiler reversing
jpexs-decompiler 12.0.1 JPEXS бесплатный декомпилятор Flash. decompiler
justdecompile 22018 The decompilation engine of JustDecompile. windows decompiler binary reversing
luyten 0.5.4 Графический интерфейс с открытым исходным кодом декомпилятора Java для Procyon. decompiler misc
pcode2code 4.4de2193 VBA p-code decompiler. decompiler
procyon 0.5.36 Набор на 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.0.0.r16.gb5b89227 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.17.4.2103.f3075e76 Современный редактор байткоода Java. decompiler reversing
recstudio 4.1 Кроссплатформенный интерактивный декомпилятор. decompiler reversing
retdec 1900.6ed327e3 Перенаправляемый декомпилятор машинного кода, базируется на LLVM. decompiler reversing
snowman 0.1.3 Нативный (родной) декомпилятор C/C++. windows decompiler

Универсальная учетная система с конструктором документов и справочников в режиме 1С: Предприятие

Заголовок статьи звучит фантастично, но это не шутка. Занимаясь внедрениями, я часто сталкивался с ситуацией, когда надо было к типовой конфе приделать простенький модуль учета чего-нибудь, не специфичного для самой конфы. Например в УТ учет материалов в эксплуатации. Модуль обычно состоял из пары справочников (2-3), 3-х документов и регистра или пары регистров. Однажды подобные пристройки понадобились одновременно на 3 проектах. Скучно делать одинаковую работу, и я подумал, а что, если сделать универсальный инструмент, в котором пользователь сам сможет нарисовать себе справочники, реквизиты к ним, документы и движения. Т.е. конструктор полноценных документов в пользовательском режиме. Это оказалось не так сложно — все дело в подходящей архитектуре данных.

1 стартмани

Source code

Branches

Git source control manager supports multiple code branches. We use two main branches.

  • — for released «stable» versions
  • — for newest changes from developers — «nightly» version is released from this branch

You can switch to branch with following git command:

Ant

If you do not have Netbeans, you can build source code also with Apache Ant.
After installing Ant it is good to put it into your PATH variable.
Open up commandline and navigate to sources directory.
To run application, execute task «run» by entering this command:

To only build, execute build task:

For creating EXE, Installer and ZIP version, there exist Ant tasks «exe»,»installer»,»release». These tasks require additional software installed:

You must configure installation path of these tools in tools.properties file, which could look like this for windows:

Building libraries

There are few libraries which need to be built too. These libraries are placed in «libsrc» directory.

  • FFDec_lib — core of decompilation, SWF parsing, exporting
    This library is built automatically with main project, but can be build also separately with its own Ant script.
  • jpacker — used for compression of JavaScript Canvas scripts (Netbeans/Ant project)
  • jpproxy — proxy part of FFDec (Netbeans/Ant project)
  • jsyntaxpane — code editor (Netbeans/Apache Maven project)
  • LZMA — used for SWF compression (Netbeans/Ant project)
  • nellymoser — used for Nelly Moser sounds decoding (Netbeans/Ant project)
  • Swf2Exe — Stub for «Save to EXE» feature (Delphi 7 Project)
  • ttf — used for TTF font export (Netbeans/Ant project)
  • gnujpdf — used for PDF export (Netbeans/Ant project)

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

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

5 стартмани

Декомпиляция APK онлайн

  • Предисловие
  • Что такое декомпиляция
  • Декомпилятор APK файлов онлайн
    • Онлайн сервис APK Decompilers
    • Онлайн сервис Javadecompilers
    • Онлайн сервис APK-Deguard
  • Выводы

Декомпилятор пытается перевести скомпилированный бинарный файл обратно в некое подобие исходного кода. Качество данной операции напрямую зависит от особенностей языка программирования исходника.

Для языка программирования Java существует большое количество декомпиляторов. Байт-код Java содержит много информации. Это облегчает декомпилятору восстанавливать изначальный код до состояния, пригодного к повторной компиляции.

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

Как вы знаете, Андроид-приложения как правило пишут на Java. С момента выхода самой первой версии Андроид перед программистами стояла задача — не только компилировать из файлов Java в APK файл для установки его в Android-устройство, но и произвести обратное действие, т.е. декомпилировать файл APK.

Ответ простой — для того чтобы в первую очередь посмотреть, как работает то или иное Android-приложение, ну и конечно изменить если требуется. При декомпиляции APK-файла (если он не был подвергнут предварительной обфускации) вы получаете полный комплект Java файлов с исходным кодом.

Большинству нужно именно просмотреть содержимое и для того чтобы это сделать на компьютере нужно установить много различных инструментов. Требуется наличие установленной Java-машины, Android SDK и таких инструментов как: JavaDecompiler, dex2jar и т.д. На самом деле это хоть и сложная, но самая правильная дорога, увы требующая от пользователя некоторых знаний и навыков, ну и конечно возни.

Да, конечно. С развитием облачных технологий появились бесплатные онлайн-сервисы о которых я сейчас расскажу.

Декомпиляция APK онлайн с Javadecompilers

Начнем наш обзор с онлайн сервиса Javadecompilers. Данный инструмент основан на оффлайн версии декомпилятора Jadx.

1. Заходим на сайт Javadecompilers нажимаем кнопку «Обзор» и выбираем необходимое приложение.

2. Нажимаем на кнопку «Upload and Decompile».

Javadecompilers

3. Через несколько минут (в зависимости от размера приложения) будет отображен результат, который можно скачать на компьютер нажав на кнопку «Save».

Javadecompilers

4. Вы также можете просмотреть все файлы находящиеся в директориях и скачать каждый по отдельности.

Javadecompilers

Кроме этого на сайте есть и другие инструменты. В целом сайт очень даже неплох. Однозначно в закладки!

Декомпиляция APK онлайн с APK-Deguard

Еще один интересный онлайн сервис называется APK-Deguard. Работает по тому же принципу. Заходим, загружаем на сайт необходимый файл и нажимаем на кнопку «Upload».

APK-Deguard

Вот как выглядит декомпилированный APK-файл на сайте.

APK-Deguard

Онлайн-сервис APK-Deguard, как и предыдущий сайт, позволяет скачать исходники. В формате txt, zip и apk.

APK-Deguard

Есть ограничение на максимальный размер загружаемого приложения. Размер файла не должен превышать 16мб. Сервис не плохой и вполне юзабельный, уже давно добавлен в закладки.

Декомпилятор APK Decompilers

Ну и напоследок в двух словах про сервис APK Decompilers. Коротко, потому что особенно не о чем и рассказывать, сайт для декомпиляции APK файлов.

APK Decompilers

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

Выводы

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

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

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

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

1 стартмани

Создание исходного кодаGenerate source code

Если при выполнении отладки исходный код недоступен, в Visual Studio отображается документ Исходный код не найден, а если отсутствуют символы для сборки, отображается документ Символы не загружены.When you’re debugging and no source code is available, Visual Studio shows the Source Not Found document, or if you don’t have symbols for the assembly, the No Symbols Loaded document. Оба документа имеют параметр Декомпилировать исходный код, который создает код C# для текущего расположения.Both documents have a Decompile source code option that generates C# code for the current location. Созданный код C# можно использовать так же, как любой другой исходный код.The generated C# code can then be used just like any other source code. Можно просматривать этот код, проверять переменные, устанавливать точки останова и т. д.You can view the code, inspect variables, set breakpoints, and so on.

Символы не загруженыNo symbols loaded

На следующем рисунке показано сообщение Символы не загружены.The following illustration shows the No Symbols Loaded message.

Исходный код не найденSource not found

На следующем рисунке показано сообщение Исходный код не найден.The following illustration shows the Source Not Found message.

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
Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий