• XSS.stack #1 – первый литературный журнал от юзеров форума

Реверс странного .exe (компилятор Матлаб)

пробовать извлечь матлабовские исходники из шифрованных AESом файлов, отредактировать их и собрать проект обратно
Прогнать бы апи монитором софт, посмотреть как он читает, какие апи используются затем, может быть используется апи винды для аеса - тогда будет гораздо проще дешифровать
 
У матлаба случайно нет средств отладки? Мб при помощи них что то можно сделать
 
А т.к. некоторые люди зачем-то хотят скрыть свои исходники, то MCR шифрует эти файлы AES'ом, но расшифровывает их только в ОЗУ перед загрузкой в интерпретатор. Как это происходит - пока что дело темное )
пробовал запускать программу в дебаггере?
попробуй OllyDbg, это могучая вещь. теоретически можно будет остановить выполнение программы сразу после расшифровки файлов и достать исходный код из оперативы.
 
1740318571225.png

Если у меня будет время - постараюсь ради интереса полазить, мне кажется стоит копать во взаимодействие с рантаймом матлаба
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Посмотреть вложение 104266
Если у меня будет время - постараюсь ради интереса полазить, мне кажется стоит копать во взаимодействие с рантаймом матлаба
Это ошибка из-за того что runtime libs не установлены. Они тут выложены https://www.georadar-expert.ru/download/mcr_installer_7_8.exe
Сегодня чуть по-позже напишу продолжение поста касаемо изучения рантайма.
 
Это ошибка из-за того что runtime libs не установлены.
Да я понял это, сижу копаюсь в процессе, не много вахуе от 10 окон
Нашел вот такое
1740321801056.png
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Продолжение.
В общем, в предыдущем сообщении остановились на том, что нужно расшифровывать .m файлы.
Если открыть классический файл при помощи текстового редактора - мы должны видеть подобный текст программы
edit_43a.gif

Файл же, извлеченный из кеша MCR - выглядит так
mcr1.jpg


Гуглим строку V1MCC4000MEC1000MCR1000x и находим 2 версии содержания этого файла.
1 версия - что матлаб при сборке .exe транслятор генерирует так называемый p-код, расширение .p . И этот p-код далее помещается в фейковый m файл.
2 версия - в m-файле содержится упрощенный исходник программы (убраны комментарии, названия переменных и т.д.), который закрыт AES

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

Был найден некий древний софт, который позволяет снять шифрование с файлов, но создан он для более новой версии рантайма - 7.11 (а у нас 7.8).
Описание выглядит так
+++----------------------------------+++
Matlab Decompiler - Experimental Release
Tested on v7.11
Copy mclmcr.dll into matlab run time
directory and replace the original.
After this, every compiled .m file will
be decompiled by .mw extention in the
run time and will be created beside it's
.m file
Good Luck and Enjoy !
Crack Master
19/11/2013

+++----------------------------------+++
кряк -библиотеку залил сюда
http://**************************************************************/d/2K5hQNHBIaypxrJPIMbHjT
осторожно - virustotal ругается на вирус в этом файле, кряк может быть фейковым!
т.е. подменяем некую библиотеку mclmcr.dll в рантайм-софте матлаба на "патченую", после чего запускаем нашу программу - и магический крэк создает в папке кеша помимо шифрованых файлов, еще и декодированные с расширением .mw
Соответствует ли это правде - пока не получилось проверить, не могу найти дистриб матлаба с MCR 7.11 версии - пока в процессе поиска.
К тому же не понятно, что имеет ввиду автор крека под версией 7.11 - то ли версию матлаба, то ли MCR. Варианты такие
Код:
R14       - Matlab 7.0   - MCR 7.0  - compiler 4.0  - mclmcrrt70.dll
R14SP1    - Matlab 7.0.1 - MCR 7.1  - compiler 4.1  - mclmcrrt71.dll
R14SP2    - Matlab 7.0.4 - MCR 7.2  - compiler 4.2  - mclmcrrt72.dll
R14SP3    - Matlab 7.1   - MCR 7.3  - compiler 4.3  - mclmcrrt73.dll
R2006a    - Matlab 7.2   - MCR 7.4  - compiler 4.4  - mclmcrrt74.dll
R2006b    - Matlab 7.3   - MCR 7.5  - compiler 4.5  - mclmcrrt75.dll
R2007a    - Matlab 7.4   - MCR 7.6  - compiler 4.6  - mclmcrrt76.dll
R2007b    - Matlab 7.5   - MCR 7.7  - compiler 4.7  - mclmcrrt77.dll
R2008a    - Matlab 7.6   - MCR 7.8  - compiler 4.8  - mclmcrrt78.dll
R2008b    - Matlab 7.7   - MCR 7.9  - compiler 4.9  - mclmcrrt79.dll
R2009a    - Matlab 7.8   - MCR 7.10 - compiler 4.10 - mclmcrrt710.dll
R2009b    - Matlab 7.9   - MCR 7.11 - compiler 4.11 - mclmcrrt711.dll
R2009bSP1 - Matlab 7.9.1 - MCR 7.12 - compiler 4.12 - mclmcrrt712.dll
R2010a    - Matlab 7.10  - MCR 7.13 - compiler 4.13 - mclmcrrt713.dll
R2010b    - Matlab 7.11  - MCR 7.14 - compiler 4.14 - mclmcrrt714.dll
R2011a    - Matlab 7.12  - MCR 7.15 - compiler 4.15 - mclmcrrt715.dll
R2011b    - Matlab 7.13  - MCR 7.16 - compiler 4.16 - mclmcrrt716.dll
R2012a    - Matlab 7.14  - MCR 7.17 - compiler 4.17 - mclmcrrt717.dll
В идеале, нужно будет сравнить оригинальную библиотеку из с патченной, посмотреть чем они отличаются, после чего внести такие же изменения в либу более старой, нужной нам версии 7.8 и получить рабочий декодер.

Либо с нуля разбирать вызовы в этой либе используя какой-то дебаггер.
Тут я попрошу помощи и совета - чем это проще сделать? IDA? Olly?
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Возможно это вообще фейковый крэк, т.к. virustotal ругается на наличие Trojan:Win32/Zpevdo.B внутри этой DLLки.
Оригинальный файл не закрыт энигмой.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
В идеале, нужно будет сравнить оригинальную библиотеку из с патченной, посмотреть чем они отличаются, после чего внести такие же изменения в либу более старой, нужной нам версии 7.8 и получить рабочий декодер.
Если нужно сравнить файлы то используй ida pro + bindiff

Там не сложно. Просто сохраняешь .idb файлы обработанные идой и загружаешь их в bindiff для сравнения.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Если нужно сравнить файлы то используй ida pro + bindiff

Там не сложно. Просто сохраняешь .idb файлы обработанные идой и загружаешь их в bindiff для сравнения.
Спасибо большое! Но тут есть 2 сложности
1) пока не могу найти матлаб нужной версии чтобы получить "исходную" либу
2) патченная либа закрыта криптором энигма.

У кого-нибудь не завалялся MATLAB 7.8 R2009a?
Если тебе чтобы глянуть либу - то не эта версия нужна.
Прога собрана с помощью compiler runtume 7.8 - это Matlab версии 7.6, R2008a .
Патченая либа собрана непонятно на чем, то ли там runtime ver 7.11 - матлаб 7.9 r2009b, то ли наоборот используется версия matlab 7.11 r2010b с рантаймом версии 7.14.
В любом случае с этими матлабами полная ж.па, пока не получается найти на торрентах :(
 
К сожалению бюджета чтобы "обратиться к профессионалам" или купить готовый софт у меня нет, поэтому приходится разбираться.

Ну это не всегда минус)

забить болт и вбить лицензию

Fixed.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Нашел R2008b, буду ковырять
Сможешь куда-нибудь залить дистриб или кинуть ссылку на скачивание/торрент?
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх