Сейчас на форуме: jinoweb (+5 невидимых) |
eXeL@B —› Программирование —› Как перевести Hex в строковый вид |
Посл.ответ | Сообщение |
|
Создано: 08 января 2016 19:03 · Личное сообщение · #1 Проблема такая: Например в дампе есть байт "4E" в это буква "N" в кодировке ascii. При копировании в строке отображается опять буква "N", а мне надо что бы в edit отображалось как "4E" Конечная строка выводится с помощью SetDlgItemTextA P.S. Букву "N" я только для примера взял. Нужен универсальный код, чтоб hex*ы любых букв и символов можно было перевести в строковый вид. И всё это нужно проделать в OLLY, так как есть прога а исходника нет. Если можно с мнемониками инструкций. Cпасибо. |
|
Создано: 08 января 2016 19:19 · Личное сообщение · #2 |
|
Создано: 08 января 2016 19:19 · Личное сообщение · #3 |
|
Создано: 08 января 2016 19:43 · Поправил: dosprog · Личное сообщение · #4 |
|
Создано: 08 января 2016 21:04 · Личное сообщение · #5 |
|
Создано: 08 января 2016 21:14 · Поправил: tekton · Личное сообщение · #6 Надо чтоб на любом клнвертилось. Это типа кейгена будет. Там довольно всё просто. Рег ключь состоит как бы из двух частей. Первая часть статична, а во второй в виде hex байт записывается имя. Получается ключь вида WHGDF23652-54454B544F4E WHGDF23652- Первая часть Вторая часть 54454B544F4E Это имя в Hex TEKTON Эта часть потом заносится в реестр и высвечивается в эбауте проги. Пробовал и инглисш, и русиш... Думаю и другие языковые раскладки тоже подойдут. dosprog пишет: user32.wsprintfA Этой функой клеится строка из двух частей, а в эдит забрасывается SetDlgItemTextA |
|
Создано: 08 января 2016 21:27 · Поправил: dosprog · Личное сообщение · #7 |
|
Создано: 08 января 2016 21:41 · Поправил: -=AkaBOSS=- · Личное сообщение · #8 |
|
Создано: 08 января 2016 21:41 · Поправил: Kindly · Личное сообщение · #9 tekton пишет: Надо чтоб на любом клнвертилось. Это типа кейгена будет. ну если для кейгена, то для дельфи, например, такой велосипед: Code:
----- Array[Login..Logout] of Life |
|
Создано: 08 января 2016 21:48 · Поправил: tekton · Личное сообщение · #10 |
|
Создано: 08 января 2016 21:51 · Поправил: dosprog · Личное сообщение · #11 |
|
Создано: 08 января 2016 21:59 · Личное сообщение · #12 |
|
Создано: 08 января 2016 23:57 · Поправил: UniSoft · Личное сообщение · #13 tekton пишет: Нужен универсальный код, чтоб hex*ы любых букв и символов можно было перевести в строковый вид. Code:
ну или если именно байт нужен, то можно так: Code:
|
|
Создано: 09 января 2016 00:54 · Поправил: tekton · Личное сообщение · #14 UniSoft Спасибо. Подправил, всё работает вот код как я вписал (это по первому варианту. Который для строки) Code:
Код двоичного копирования и вставки Code:
|
|
Создано: 09 января 2016 01:13 · Поправил: -=AkaBOSS=- · Личное сообщение · #15 tekton, я ж дал уже код процедуры Code:
первый параметр - адрес буфера под строку второй - адрес исходных данных третий - длина исходных данных если с макросами непонятно, вот код после компиляции: Code:
в хексе Code:
tekton пишет: UniSoft почти работает. Но почему то сохраняется строка не правильно. UniSoft пишет: add cl, '0' tekton пишет: 004012A9 . 80C1 00 ADD CL,0 вместо символьной константы '0' (= 0x30) прибавляется тупо 0, потому и не работает |
|
Создано: 09 января 2016 01:16 · Личное сообщение · #16 |
|
Создано: 09 января 2016 01:41 · Поправил: dosprog · Личное сообщение · #17 |
eXeL@B —› Программирование —› Как перевести Hex в строковый вид |