eXeL@B —› Софт, инструменты —› Retargetable Decompiler |
Посл.ответ | Сообщение |
|
Создано: 27 января 2014 15:31 · Личное сообщение · #1 Вроде не было ещё. Features Handles all the commonly used file formats (ELF, PE). Currently supports the MIPS, ARM, and Intel x86 architectures. Can decompile to two output high-level languages: C and a Python-like language. Compiler and packer detection. Extraction and utilization of debugging information (DWARF, PDB). Signature-based removal of statically linked library code. Reconstruction of functions, high-level constructs, types, etc. Generation of call graphs, control-flow graphs, and various statistics. It is actively developed. Работает online: Попробовал на очень простом рандомном примере, скомпиленном в GCC: На дефолтных настройках обламывается на этапе data flow analysis =\ С другим простым примером справился, на выходе получился неплохой результат, похожий на рейсовский, но не рейсовский. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 27 января 2014 15:59 · Поправил: reversecode · Личное сообщение · #2 |
|
Создано: 27 января 2014 16:00 · Личное сообщение · #3 |
|
Создано: 28 января 2014 19:09 · Личное сообщение · #4 Отписал им пару багрепортов, довольно быстро и вежливо ответили, что C++ у них сейчас не в основном приоритете, мол попробуйте C версию файлов декомпильнуть. Так же говорят, что поправят эти баги в версии 1.6, радует, что они активно его пилят. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 28 января 2014 19:13 · Личное сообщение · #5 |
|
Создано: 10 октября 2015 14:23 · Поправил: reversecode · Личное сообщение · #6 обновился 5 октября New Version: 2.1 We are proud to inform you that we have made a new version of our retargetable decompiler! Among the main features of this release belong a new instruction-decoding algorithm, improved detection of C++ classes and functions, improved decompilation of programs using wide strings or functions from the Windows API, and improved annotations (comments) in the generated high-level language. Code:
| Сообщение посчитали полезным: 4kusNick, sendersu, Artem_N, t0ShA |
|
Создано: 25 августа 2016 11:00 · Поправил: reversecode · Личное сообщение · #7 плагин к иде они все так же к ихнему апи сервису привязали ? стяните кому не лень глянуть New Version: 2.2 We are proud to release a brand new version of the retargetable decompiler. Among its main features are a decompilation plugin for the IDA disassembler, implementation of a loader for all the supported file formats, and added support for decompilation of archives, object files, and files in the Intel HEX format. Code:
|
Ранг: 281.8 (наставник), 272thx Активность: 0.25↘0.01 Статус: Участник Destroyer of protectors |
Создано: 25 августа 2016 11:07 · Личное сообщение · #8 |
|
Создано: 25 августа 2016 11:19 · Личное сообщение · #9 |
Ранг: 281.8 (наставник), 272thx Активность: 0.25↘0.01 Статус: Участник Destroyer of protectors |
Создано: 25 августа 2016 13:05 · Личное сообщение · #10 reversecode пишет: да я читать умею, это было еще в первой версии, но все же в душе надеюсь что хотя бы большую часть кода перенесли в плагин а не все тупо по айпи сервису но для стянуть нужно региться, мне лень сниффер говорит, что на сервер отправляется exe, а затем принимается полный листинг. всё в онлайне. |
|
Создано: 25 августа 2016 14:00 · Личное сообщение · #11 |
|
Создано: 25 августа 2016 14:44 · Личное сообщение · #12 |
|
Создано: 12 декабря 2017 23:05 · Личное сообщение · #13 |
|
Создано: 12 декабря 2017 23:22 · Личное сообщение · #14 |
|
Создано: 13 декабря 2017 16:35 · Личное сообщение · #15 |
|
Создано: 13 декабря 2017 17:45 · Личное сообщение · #16 |
|
Создано: 13 декабря 2017 21:25 · Личное сообщение · #17 Проверил его в деле. Что хорошо оптимайзит/сворачивает: 1) Мертвый код 2) Математику Где есть ошибки: 1) Самомодифицирующийся код 2) Хитрая математика 3) Различные ассемблерные трюки. Вышеперечисленное приводит к неверной декомпиляции и соответственно декомпиленный код будет выдавать неверный результат или же приводить к ACCESS VIOLATION. Проверил на самописных примерах которые набросал в студии. На данном этапе для продакшена нет смысла использовать. | Сообщение посчитали полезным: Bronco |
|
Создано: 13 декабря 2017 21:56 · Поправил: Bronco · Личное сообщение · #18 |
|
Создано: 13 декабря 2017 22:40 · Личное сообщение · #19 что греха таить, нет и не будет замены хексрею единственное что у него сильнее по сравнению с рейсом, это ир+оптимизатор llvm но на одном нём никуда не выедешь еще народ пишет что мемори лик есть |
|
Создано: 17 декабря 2017 12:18 · Поправил: deniskore · Личное сообщение · #20 Bronco помню, что просил примеры, но не было времени. Проверил еще на косяки. Неверно декомпилит работу с флагами. В некоторых случаях в декомпилированном файле он вставляет вызов определенных ассемблерных команд, через asm вставку, но при работе с EFLAGS такого не происходит. Логика кода будет меняться и работать как нужно декомпиленный код не будет. Code:
Итого: 1) Ошибки при декомпиляции самомодифицирующегося кода (смотрите 27 комментарий для понимания о чем идет речь) 2) Ошибки при декомпиляции SSE2-SSE4.2 математика (при использовании intrinsic-ов в студии) 3) Ошибки при декомпиляции использования EFLAGS (чтение запись и затем использование результата) 4) Ошибка при декомпиляции asm трюков. 5) Ошибка при декомпиляции хитрых примеров с использованием SEH/VEH. (Декомпилер оптимизирует слишком агрессивно) На самом деле список ошибок можно расширить. Еще я не проверял ARM 32 битный, думаю там косяков будет прилично. | Сообщение посчитали полезным: Bronco, SReg |
|
Создано: 17 декабря 2017 14:55 · Личное сообщение · #21 deniskore пишет: 1) Ошибки при декомпиляции самомодифицирующегося кода. deniskore пишет: 4) Ошибка при декомпиляции asm трюков. Бред какой-то. Причем тут декомпиляция вообще? Вы случайно не пробовали Сишным компилятором программульку на Коболе или Фортране покомпилировать? Иль хотя бы исходники на Vbasic подсуньте!!! И что получается?... Попробуйте представить общественности исходный код на ЯВ, после трансляции которого (любым существующим в настоящее время компилятором) будет самомодифицирующийся код!!! Как нароете - можно выставлять претензии... | Сообщение посчитали полезным: shellstorm |
|
Создано: 17 декабря 2017 15:10 · Личное сообщение · #22 DrVB_5_6 пишет: Бред какой-то. Причем тут декомпиляция вообще? +1. Причем здесь какие то "трюки" если это декомпилятор, если ломается граф, значит нужно фиксить построение графа, если неверно восстанавливает какую то конструкцию следовательно нужно фиксить или добавлять паттерн для распознавания подобных конструкций. Касательно оптимизации здесь даже не смешно, причем декомпилятор если оптимизирует llvm, достаточно отключить оптимизацию и будет идти весь поток со всем трешем. Здесь можно сказать лишь емкое мда. |
|
Создано: 17 декабря 2017 15:41 · Поправил: Bronco · Личное сообщение · #23 shellstorm пишет: Причем здесь какие то "трюки" Code:
DrVB_5_6 пишет: Причем тут декомпиляция вообще? хм...а разве в проекте есть транслятор в асм? собственно задача топа обозначить возможности сабжа, и лучше чем на примерах способа нет. господа какашки оставте быдловатому хамлО, его и так хватает. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 17 декабря 2017 16:12 · Личное сообщение · #24 Bronco пишет: хм...а разве в проекте есть транслятор в асм? А у Вас с логикой проблем нет? Все почему-то думают, что как в довольно примитивном "Нех-Rays" что ни подсунь, он тебе какую-нибудь хрень выплюнет. Я ж в предыдущем посте написал: предоставьте исходник на ЯВ, а затем результат компиляции. Тогда и будем обсуждать проблемы декомпиляции. А то какой-нибудь клоун возьмёт NotePad и начинает затевать базар, что у этого поделия нет совсем функционала, который должен быть у обычной IDE. Bronco пишет: господа какашки оставте хамлу, его и так хватает. А это Вы о чем? Вроде пока ничего подобного (по крайней мере) в предыдущих 2-3 постах не наблюдалось! | Сообщение посчитали полезным: difexacaw |
|
Создано: 17 декабря 2017 16:18 · Личное сообщение · #25 Bronco пишет: Причем здесь какие то "трюки" Засуньте в рельсы хотя бы морфин и рельсы внезапно соснут, снимать обфускацию или заниматься девиртуализацией это вообще не задача декомпилятора, если хочется чего то странного, так исходники открыты и более того, они неплохо написаны, добавьте паттерны и будет распознавать странное. |
|
Создано: 17 декабря 2017 16:41 · Поправил: Bronco · Личное сообщение · #26 shellstorm пишет: Засуньте в рельсы хотя бы морфин и рельсы внезапно соснут, энджой, для языка общения который даже не третий, оборот речи очень даже не плохой по сабжу пока интересует оптимизация и трансляция псевдокода, де компиляцию в данном контексте воспринимаю не более, чем для комфорта чтения выхлопа на языке высокого уровня. ОпенСорс не спорю, но проект большой, и модули (та же llvm) заточены только под него. Вот вникать в сорцы глубже, времени пока нет. DrVB_5_6 пишет: А это Вы о чем? Да всё о том же. указать ошибку оппоненту, можно разными способами, но применять метод базарных торгов, не самый лучший выбор. ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 17 декабря 2017 16:48 · Поправил: deniskore · Личное сообщение · #27 DrVB_5_6 пишет: Бред какой-то. Причем тут декомпиляция вообще? Вы случайно не пробовали Сишным компилятором программульку на Коболе или Фортране покомпилировать? Иль хотя бы исходники на Vbasic подсуньте!!! И что получается?... Попробуйте представить общественности исходный код на ЯВ, после трансляции которого (любым существующим в настоящее время компилятором) будет самомодифицирующийся код!!! Как нароете - можно выставлять претензии... Вы вообще сабж "трогали"? Обьясняю для тех кто не понял, что имелось ввиду под самомодифицирующимся кодом. Есть софт у которого написан свой декриптор+распаковщик кода, так вот функции распаковки и модификации кода декомпилированы этим инструментом неверно, если я скопипастю код который он сгенерил, ничего работать не будет. Хекс-рейс на этом же софте отрабатывает нормально, с небольшими допилами кода. |
|
Создано: 17 декабря 2017 16:50 · Личное сообщение · #28 Bronco пишет: энджой, для языка общения который даже не третий, оборот речи очень даже не плохой Дуров со своим детищем сильно подтянул знания языка, иногда в падежах путаюсь, но это уже несущественно. Bronco пишет: ОпенСорс не спорю, но проект большой, и модули (та же llvm) заточены только под него. Нет, проект средненький и читается легко, касательно качества декомпилятора, это один из лучших паблик декомпиляторов и лучший среди открытых, как в плане выхлопа, так и в плане качества кода, а еще проект модульный, что очень удобно для того, чтобы тырить код в свой проект. Хейт в целом удивил, учитывая, что рельсы обламываются даже на простом коде и без ручного напильника на говнокоде работает чуть лучше чем никак. | Сообщение посчитали полезным: Bronco, r_e |
|
Создано: 23 марта 2019 07:59 · Личное сообщение · #29 retdec обновился до версии 3.3 В числе изменений пожалуй самое интересное, на мой взгляд: •Added basic support for decompilation of x86-64 binaries (previously, RetDec supported only 32b Intel x86). ----- Give me a HANDLE and I will move the Earth. | Сообщение посчитали полезным: mak |
eXeL@B —› Софт, инструменты —› Retargetable Decompiler |