Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2023, 13:27   #1
Gilgamesh9000
Новичок
Джуниор
 
Регистрация: 19.02.2023
Сообщений: 4
По умолчанию Декрипт неизвестного формата с известным ключем

Здравствуйте, есть проприетарный софт под Windows с базой зашифрованных файлов, есть к этим файлам база с ключами дешифрации. В своей процедуре софт называет процедуру unzip.

Задача раcшифровать файл в бинарник. Обычные архиваторы файл не воспринимают - нет нужных хеадеров архива.

Попытался запустить софт в ghidra, софт запускается в дебаггере, отрабатывает расшифровку, но как там найти дамп памяти куда он пишет результат дешифрованный я разобраться не смог. Тут я полный ноль. Единственное что получилось там найти - софт вроде как запрашивает виндовые CryptoAPI, функцию CryptDecrypt и вот такой кусок кода
В приложении два зашифрованных файла, требуемый 22765AK981.pak Decryption Keyword 871A3469
22765AK521.pak для сопоставления, Decryption Keyword 90907442
22765AK970.bin - пример требуемого расшифрованного результата
FlashWrite2.zip - софтина, предназначена для обновления эбу в автомобилях субару, можно запустить и скормить ей pak файлы, изменив расширение на pk2. После расшифровки она пытается непосредственно связаться с машиной и функционала сохранения расшифрованного файла там естественно нет.

Что посоветуете, в каком направлении двигаться? Есть минимальные навыки написания прикладных скриптов на python. Готов оплатить решение в разумных пределах, коммерческое использование не планируется и будет опубликовано в автомобильном сообществе drive2.

Код:
BOOL __cdecl FUN_00442580(BYTE *param_1,DWORD *param_2,BYTE *param_3,DWORD param_4) 
 
{ 
  BOOL BVar1; 
  HCRYPTKEY local_10; 
  HCRYPTPROV local_c; 
  HCRYPTHASH local_8; 
   
  local_c = 0; 
  local_8 = 0; 
  local_10 = 0; 
  if (((param_1 != (BYTE *)0x0) && (param_2 != (DWORD *)0x0)) && (param_3 != (BYTE *)0x0)) { 
    BVar1 = CryptAcquireContextW 
                      (&local_c,(LPCWSTR)0x0,L"Microsoft Base Cryptographic Provider v1.0",1, 
                       0xf0000000); 
    if (BVar1 == 1) { 
      BVar1 = CryptCreateHash(local_c,0x8003,0,0,&local_8); 
      if (BVar1 == 1) { 
        BVar1 = CryptHashData(local_8,param_3,param_4,0); 
        if (BVar1 == 1) { 
          BVar1 = CryptDeriveKey(local_c,0x6602,local_8,0,&local_10); 
          if (BVar1 == 1) { 
            BVar1 = CryptDecrypt(local_10,0,1,0,param_1,param_2); 
          } 
        } 
      } 
    } 
    if (local_10 != 0) { 
      CryptDestroyKey(local_10); 
    } 
    if (local_8 != 0) { 
      CryptDestroyHash(local_8); 
    } 
    if (local_c != 0) { 
      CryptReleaseContext(local_c,0); 
    } 
    return BVar1; 
  } 
  return 0; 
}
Изображения
Тип файла: jpg photo_5375258876863170403_y.jpg (16.7 Кб, 0 просмотров)
Тип файла: jpg photo_5375258876863170402_x.jpg (29.9 Кб, 15 просмотров)
Тип файла: jpg Снимок3.JPG (27.9 Кб, 15 просмотров)
Вложения
Тип файла: zip 22765AK970.zip (923.9 Кб, 1 просмотров)
Тип файла: zip 22765AK981.zip (1.98 Мб, 1 просмотров)
Тип файла: zip 22765AK521.zip (1.98 Мб, 1 просмотров)
Тип файла: zip FlashWrite2.zip (331.5 Кб, 1 просмотров)

Последний раз редактировалось Gilgamesh9000; 19.02.2023 в 13:31.
Gilgamesh9000 вне форума Ответить с цитированием
Старый 19.02.2023, 13:34   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Сообщение от Gilgamesh9000 Посмотреть сообщение
Что посоветуете, в каком направлении двигаться?
В сторону правил форума и УК РФ.
p51x вне форума Ответить с цитированием
Старый 19.02.2023, 14:04   #3
Gilgamesh9000
Новичок
Джуниор
 
Регистрация: 19.02.2023
Сообщений: 4
По умолчанию

В правилах я нашёл только один пункт который можно притянуть за уши "искать или предлагать услуги по взлому;"
А теперь вопрос, является ли декрипт файла в свободном доступе, ключем который лежит в свободном доступе взломом? На мой взгляд - нет
Gilgamesh9000 вне форума Ответить с цитированием
Старый 19.02.2023, 14:07   #4
Gilgamesh9000
Новичок
Джуниор
 
Регистрация: 19.02.2023
Сообщений: 4
По умолчанию

Смысл задачи - оценить содержимое файла обновления, перед заливкой его в ЭБУ в который его формально заливать нельзя. Я могу вычитать родной дамп из эбу сторонними средствами, и единственное что меня волнует - сравнение адресов данных в дампе. Не хочется залить обновление и окирпичить блок.
Gilgamesh9000 вне форума Ответить с цитированием
Старый 19.02.2023, 14:08   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

А теперь вопрос, является ли открытие вашей двери в свободном доступе, ломиком, который валяется в свободном доступе, взломом?. Ну или ключом, который у вас выпал и лежит в свободном доступе?

Цитата:
Сообщение от Gilgamesh9000 Посмотреть сообщение
Не хочется залить обновление и окирпичить блок.
Если это официальная прошивка и оф средства, то можете окирпичивать и подавать иск.
p51x вне форума Ответить с цитированием
Старый 19.02.2023, 14:11   #6
Gilgamesh9000
Новичок
Джуниор
 
Регистрация: 19.02.2023
Сообщений: 4
По умолчанию

Конечно нет, этож моя дверь (ЭБУ, автомобиль), могу с ней делать всё что захочу. Вобщем разговор не по существу, решать администрации форума и модераторам.
Gilgamesh9000 вне форума Ответить с цитированием
Старый 19.02.2023, 14:26   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Сообщение от Gilgamesh9000 Посмотреть сообщение
Конечно нет, этож моя дверь (ЭБУ, автомобиль), могу с ней делать всё что захочу.
Ну так разбирайте ЭБУ, что ж вы к программе и обеспечению лезете?
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование с симметричным ключем по гост 28147-89 mactepbeka Помощь студентам 1 20.05.2016 11:05
Использование GDI+ в делфи 7. Необходимо через GDI+ в делфи 7 получить из файла формата jpg файл формата bmp DenIvan Компоненты Delphi 7 27.02.2015 11:31
проблема с изменением формата даты при копировании из CSV формата в эксель mars56 Microsoft Office Excel 4 16.03.2010 09:50
Цезарь с ключем Karyuudo Помощь студентам 8 11.03.2008 20:59