Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 22
1

LKF, шифрование, реверс-инженеринг(?): переписать .exe-шник под Linux

25.03.2016, 21:40. Показов 2788. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, уважаемые форумчане. Помогите начинающему программисту (т.е. мне)) ).

Упорно искал хоть сколько подходящий специализированный раздел - не нашел, потому пишу сюда (если такой раздел все же существует, прошу перенести тему туда).

Итак, к сути дела:

Существует специальный отечественный стандарт аудиокниг (.lkf) про который мы знаем только: " с применением трехпроходного поточного блочного шифрования содержимого MP3 файлов по алгоритму XXTEA с длиной ключа криптозащиты 128-бит " (взято из ТЗ на создание прибора для воспроизведения этих самых книг).
Также имеется программа (бинарник), написанная неизвестно кем, неизвестно на каком ЯП под Винду, умеющая расшифровывать этот формат до обычного .mp3.
Также имеется прошивка вышеозначенного прибора, в которой есть некие 128-битные ключи, полагаю, это и есть ключи дешифровки файлов для воспроизведения.

Задача: написать функцию для дешифровки этого формата. Под консоль в Linux на PHP.

Казалось бы, чего страдать фигней, почему бы не юзать готовое решение под тем же вайном (скрипт вполне работает)? Да потому, что у готовой программы графический интерфейс с ручным добавлением файлов через стандартный проводник... Да, в Винде можно просто забить в поиск *.lkf и она найдет все нужные файлы, но под вайном такое не прокатит...
И да, 80% процесса приведения этих книг в юзабельное состояние мною уже автоматизированно, эта дешифровка - последний этап, который приходится каждый раз проделывать вручную...

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

Заранее спасибо за помощь.

P.S. Я не нашел в Сети ни намека на автора этого скрипта... Единственное, что известно, раньше всего файл был загружен на RGhost (30 сентября 2012 года) анонимным пользователем.
Вложения
Тип файла: 7z Firmware_without_sounds.7z (2.31 Мб, 21 просмотров)
Тип файла: 7z LKF2MP3.7z (385.7 Кб, 36 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2016, 21:40
Ответы с готовыми решениями:

Реверс инженеринг
Посоветуйте декомпилятор .NET (желательно VB.NET) с деобфусификатором. Чтобы можно было...

Строка формата для wsprintf, её параметры (реверс инженеринг)
Предисловие: Собственно, есть игра, которая не поддается взлому через ArtMoney. В надежде, что...

Проект под Win32 Release (exe-шник, который работает на любом ПК)
Использую IDE Visual C++ 2010, cкомпилировал проект под Win32 Release. Появился в папке Realease...

Переписать программу под linux
переделать помощью mutex... #include <stdio.h> #include <windows.h> HANDLE hEvent1,...

10
Модератор
Эксперт NIX
8426 / 3260 / 105
Регистрация: 24.05.2011
Сообщений: 14,462
Записей в блоге: 8
26.03.2016, 11:10 2
Цитата Сообщение от didim99 Посмотреть сообщение
Да, в Винде можно просто забить в поиск *.lkf
А в линухе нельзя?
Bash
1
find . *.lkf -i
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 22
26.03.2016, 13:55  [ТС] 3
Видимо, вы невнимательно читали...

Программа работает только под Wine, а там проводник, наверное, из 2000 Винды и в нем не предусмотрен поиск.
Передать же программе пути к файлам в виде аргументов при ее запуске невозможно, т.к. интерфейс у нее графический.
0
Кандёхаем веселее!
296 / 328 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
26.03.2016, 22:20 4
Кроме реверса остаётся ещё вариант сделать макрообёртку. Ну, и конечно, разобраться с алгоритмом и переписать самому. Или там ваще всё сложно?
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 22
26.03.2016, 23:34  [ТС] 5
Цитата Сообщение от MLPMan Посмотреть сообщение
вариант сделать макрообёртку
Это как?
Цитата Сообщение от MLPMan Посмотреть сообщение
разобраться с алгоритмом и переписать самому
Да вот сегодня пол дня разбирался с ним... Если верить описанию, задача сводится к дешифровке алгоритмом XXTEA по ключу, который вроде есть в прошивке. Нашел даже реализацию этого алгоритма на PHP: http://vlunnp.ru/php7.pdf , но не понимаю, как применить ключ (алгоритм работает с текстовыми паролями, а у меня HEX-число).
0
Кандёхаем веселее!
296 / 328 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
26.03.2016, 23:45 6
Цитата Сообщение от didim99 Посмотреть сообщение
Это как?
Ну типа бот, сам запустит прогу, и будет кликать нужные кнопки в зависимости от своих параметров.

Цитата Сообщение от didim99 Посмотреть сообщение
алгоритм работает с текстовыми паролями, а у меня HEX-число
Наверняка берёт коды символов или какой-то хеш, смотрите код.
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 22
27.03.2016, 22:59  [ТС] 7
Цитата Сообщение от MLPMan Посмотреть сообщение
Ну типа бот, сам запустит прогу, и будет кликать нужные кнопки
А вот тут можно поподробнее? Это будет работать через Вайн? Как оно будет искать файлы через его проводник?
0
Кандёхаем веселее!
296 / 328 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
28.03.2016, 06:13 8
Не знаю, как через вайн, но через виртуалку точно, и так, наверно, даже можно будет лазить в других окнах в процессе.

Надо найти процесс, дескрипторы его окна и нужных интерактивных элементов. И можно будет управлять, отправляя им сообщения. Скорее всего, понадобится и обратная связь, отслеживание ответов проги.
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 22
28.03.2016, 10:06  [ТС] 9
Цитата Сообщение от MLPMan Посмотреть сообщение
но через виртуалку точно
Виртуалка не катит. Надо либо через Вайн, либо полностью под Линукс. Через виртуалку я и вручную могу, благо там всего 5 кликов, но это не удобно, держать ВМ чисто под одну софтину.
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 22
06.05.2017, 02:17  [ТС] 10
Не уверен, что стоит продолжать в той же теме (если что, модеры, перенесите, плиз).

Спустя год вновь возвращаюсь к данной затее, появились некоторые новые данные и задача несколько упростилась.

Мне удалось декомпилировать данный исполняемый файл до исходников на C#, так же удалось заставить полученные исходники работать в рамках Microsoft Visual Studio. Однако, вопрос о работе программы в Linux остается открытым. Из того, что я понял, собрать именно из C# под Linux не получится в принципе. Насколько реально из этого кода собрать консольное приложение для Linux (достаточно, чтобы оно конвертировало единичные файлы по команде из консоли)?

Рабочий проект из VS прилагаю.
Всем заранее спасибо.
Вложения
Тип файла: 7z Source2.7z (31.3 Кб, 30 просмотров)
0
0 / 1 / 0
Регистрация: 12.01.2019
Сообщений: 1
13.01.2019, 06:06 11
Ответ на тему LKF, шифрование, реверс-инженеринг(?): переписать .exe-шник под Linux

HTML5
1
https://www.cyberforum.ru/dump/thread1694873.html#post10406267
тупо переделал готовый dotnet оттуда для коммандной строки
бо ни разу не программист, написал для себя так что не взыщите

В linux под mono пашет

может кому пригодится
Вложения
Тип файла: zip lkf2mp3.zip (1.1 Кб, 21 просмотров)
1
13.01.2019, 06:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2019, 06:06
Помогаю со студенческими работами здесь

Как переписать клиент-сервер Windows под linux?
написала программу клиент-сервер в VS под Windows. как сделать чтобы она запускалась и под linux? ...

Компиляция python в exe под linux
У меня стоит ubuntu. Как скомпилировать python в exe файл для windows? Я пробовал компилировать с...

Сборка .exe из скрипта .py из под Linux'a (Python 2.7)
Здравствуйте, перерыл гугл в поисках сборщика .exe для скрипта .py Хочу сделать небольшую...

dll в exe шник c++
доброго времени суток ! имеется исходный код на msvs dll и exe шника если взять все функции из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru