IPB

Здравствуйте, гость ( Вход | Регистрация )

 Правила форума Правила оформления головоломок (Обязательно прочтите перед созданием тем!)
> Обход проверки CRC, Снятие или обход проверки целостности файла.
миха04
сообщение 24.12.2016, 21:17 · Быстрая цитата
Сообщение #1


Энтузиаст
********

Группа: Модераторы
Сообщений: 338
Регистрация: 17.8.2011
Из: Россия, Камышин
Пользователь №: 14987



Программа Simplify3D-3.1.1
Ссылка на скачивание https://yadi.sk/d/h-e-TSq5zq7rY

Суть дела такова - ресурсы находятся в ж-к строках файла Simplify3D.exe. Даже при простом сохранении в Radialix, без всякого перевода, программа становится неработоспособной, выдавая сообщение "Установленные файлы повреждены. Переустановите приложение". Попытка правки в WinHex вызывает то же самое окно. Возникло подозрение, что при запуске идёт проверка CRC или целостности файла. Пробовал использовать уроки от Solenij и Leserg по снятию проверки, но ничего не добился. Видимо не там копаю или не так. Использовал OllyDBG, однако она для меня до сих пор тёмный лес. Если есть желание разобраться, то прошу помочь. Самому интересно - как бороться с подобными штуками.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 2)
leserg73
сообщение 5.1.2017, 16:50 · Быстрая цитата
Сообщение #2


Эцилопп
*******

Группа: Пользователи
Сообщений: 83
Регистрация: 13.8.2008
Пользователь №: 9271



Здравствуйте!

Посмотрел я на Вашу проблему. Там все намного сложнее, как может показаться на первый взгляд. Конечно, я могу ошибаться, т.к. опыта по решению таких задач у меня не много. Но помимо хеша, а проверятся именно целостность SHA-1, выполняется проверка имени самого исполняемого файла, а также SHA-1 файла Interface.dll и Common.dat. Банальный обход этих проверок (типа замена условных переходов на безусловные) не дает положительного результата: сразу после запуска программа закрывается. Где-то и как-то (я не смог это определить) выполняется еще какая-то неявная проверка. То кто ломал программу, по-моему, также не стал заморачиваться с этим вопросом. Еще с самого начал меня удивил тот факт, что исходный файл Interface.dll нужно переименовать в Interface.dl1, а на его место скопировать файл из архива аптечки. Я сначала не придал этому значения и попросту выполнил замену указанного файла. В итоге программа не запустилась и я решил, что она недоломана. Потом еще раз прочитал инструкцию и сделал, как написано. Только тогда программа заработала. Позже, когда я начал копать файл Simplify3D.exe, стало понятно зачем нужно было оставить оригинальный файл Interface.dll в Interface.dl1. Поэтому у меня родилась идея провернуть такую же фишку с файлом Simplify3D.exe. Я сделал его копию, переименовал в Simplify3D.ex1 и поместил в каталог установки программы, по аналогии с файлом Interface.dll. Затем с помощью отладчика внес небольшие изменения в Simplify3D.exe, чтобы при его запуске выполнялась проверка файла с именем Simplify3D.ex1. В итоге, теперь с полученным файлом можно делать, что угодно, в том числе и локализовать. Правда я не знаю, как такое решение отразится на функциональности приложения в целом, т.к. не владею оборудованием, для которого предназначена эта программа.

Файлы смотрите в ЛС. В проекте перевода кодировку строк укажите UTF-8. Также склоняюсь к мысли, что безопасней сделать разделение строк по ссылкам и не переводить их все подряд. Также более тщательно проводите отладку перевода, с максимально-возможной проверкой всех функций программы.

Я проверил запуск программы на системах Windows 8 и 10 в виртуальном окружении. Работу на реальных системах не проверял. В принципе, если я не ошибся, то программа должна работать. Если нет, то она выдаст знакомое Вам уведомлении о повреждении файлов установки. Также это уведомление будет выдано, если имя исполняемого файла будет отличаться от Simplify3D.exe. Поэтому будьте внимательны. По умолчанию в настройках проекта перевода для имени локализованного файла указано добавление суффикса согласно локали перевода, например Simplify3D_RUS.exe. При попытке запуска файла с таким именем вы получите сообщение об ошибке. Поэтому локализацию лучше делать в отдельном каталоге, а для проверки и отладки копировать локализованный файл в каталог установки.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
миха04
сообщение 5.1.2017, 21:24 · Быстрая цитата
Сообщение #3


Энтузиаст
********

Группа: Модераторы
Сообщений: 338
Регистрация: 17.8.2011
Из: Россия, Камышин
Пользователь №: 14987



Спасибо, буду пробовать.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение

Тема закрытаНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 26.5.2017, 2:52