2016-05-01 4 views
-3

У меня есть исполняемый файл, и я хочу переместить шестнадцатеричное значение. Это шестнадцатеричное значение является ключом к расшифровке, поэтому мне нужно переместить его для обеспечения безопасности.Изменить позицию шестнадцатеричного значения с помощью C++

C++ Код:

static DWORD s_adwEterPackKey[] = 
{ 
    45129401, 
    92367215, 
    681285731, 
    1710201, 
}; 

Hex значение:

¹ž°.oi..c˜›(y... 

Когда кто-то ищет текст, как "AVCEterPackManager" с HxD сможет найти ключ, так что я должен переместить его вниз , Вот изображение с фактическим шестиугольником: enter image description here

+2

Что значит «двигаться вниз»? Вы пытаетесь скрыть ключ? Имейте в виду, что безопасность через неясность в конечном итоге будет нарушена. – tangrs

+0

Возможно изменение любого места памяти до тех пор, пока память находится в пределах исполняемого файла. Возможно, трудно найти точное местоположение, поскольку код не загружается как абсолютные местоположения. Исполняемый файл загружается загрузчиком при запуске приложения. – jdweng

+0

Хм, вы правы, но не эссенциальный код - это всего лишь ключ к тому, что я хочу его переместить. –

ответ

1

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

Вместо того чтобы реализовать очень слабую криптографию (в вашем случае, очевидно, просто «security by obsurity»), вам определенно лучше использовать библиотеку для выполнения этой работы. Существует множество доступных алгоритмов и реализаций, которые будут безопасно шифровать ваши данные.

Смежные вопросы