Вы можете написать серверное приложение (будет работать облачная функция), в котором хранятся секреты. Клиенты звонят вашей конечной точке с какой-либо формой идентификатора, и вы возвращаете токен доступа. Если у ваших пользователей есть браузер, они могут авторизоваться каждый раз; в противном случае вам нужно будет запросить токен обновления, который вы храните, и использовать его для создания AT.
Декомпилятор шестнадцатеричных лучей является большим инструментом, но код будет довольно трудно прочитать, и необходимо будет провести много времени для инженерного анализа целого DLL.
Вы могли бы также хотеть взглянуть на OllyDbg, который является 32-разрядным ассемблерным отладчиком анализа уровня. Это используется для анализа двоичного кода в сценариях, где у Вас нет исходного кода. Это - отладчик легкого веса. OllyDbg является условно-бесплатным программным обеспечением, таким образом, можно загрузить и использовать его бесплатно..!!
Посещение OllyDbg является домашней страницей здесь
PS: Назад в дневных взломщиках, используемых SoftICE от NuMega для отладки в исполняемый файл и, захватите снимок в значениях регистров. SoftICE был усовершенствованным отладчиком. Это был определенно любимый инструмент для взломщиков. Я не знаю о настоящем положении продукта. Сайт NuMega не имел никакой информации об этом. Я, возможно, пропустил его, но я не мог найти его. Я рекомендую, чтобы Вы достали версию (4.0x) прежней версии SoftICE и применили патч WindowsXP для SoftICE. Работа с SoftICE является чем-то вроде "опыта".
Далее читайте: инвертирование: секреты инженерного анализа Eldad Eilam
Я не знаю точной ситуации, которую Вы имеете, и сколько функциональности DLL реализует для Вашего приложения. Но я утверждал бы, что в большинстве случаев будет лучше переписать недостающий DLL на основе известной функциональности.
Это особенно верно, если у Вас есть некоторая документация для него.
Попытка перепроектировать двоичный код к ассемблеру, затем к C++ и затем попытаться изменить его для обеспечения существующей функциональности будет в большинстве случаев к трудоемкому, и возможно даже невозможна.
Необходимо сделать это как игра, и взломщики приложения делают: Используйте дизассемблер и взломайте Ассемблерный код.
Если Ваше небольшое изменение должно отредактировать некоторый текст или пропускать некоторые стандартные программы, Вы могли бы использовать Hex-редактор или дизассемблер, но Вы не сможете видеть исходный код C++, и даже если Вы находите инструмент, который возвращает DLL в код, все имена переменной закончились бы, и это будет большая путаница.
Немного в зависимости от Вашей ситуации я сохранил бы DLL прежней версии/двоичный как есть и записал бы обертке DLL, который изменит и/или добавит любое дополнительное поведение.
Идея состоит в том, чтобы агрегировать старую функциональность в новом DLL, который импортирует старый.
Вы наклоняетесь, возвращают суть животному и даже если Вы могли Вы иметь мертвое животное :P
ЕСЛИ это было сделано в .NET, почему бы не использовать dotNet Reflector.