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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2018, 06:21   #1
Quneri
Новичок
Джуниор
 
Регистрация: 07.10.2018
Сообщений: 2
Вопрос asm x64 вопрос - как в готовом уже *.exe файле прописать свою строку и занести ее в регистр, например в rcx

Здравствуйте. Подскажите, как в готовом уже *.exe файле прописать свою строку и занести ее в регистр, например в rcx. Слышал, что можно через codecave (в конце программы пустое место), но не получается. Пробую через отладчик x64dbg.
Буду благодарен за Вашу помощь. Заранее спасибо.
Quneri вне форума Ответить с цитированием
Старый 07.10.2018, 11:43   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Вот и мне тоже хотелось бы знать - как можно было бы строку ( небольшую такую, символов на 200 ) - знести в регистр ?
digitalis вне форума Ответить с цитированием
Старый 07.10.2018, 20:52   #3
Quneri
Новичок
Джуниор
 
Регистрация: 07.10.2018
Сообщений: 2
По умолчанию

Есть публичный ключ RSA вида:
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQK BgQCHBKa2oE+uImbzShCPsHUUd3wP
WzCPXn4DBOq+DsyzvD1BgADN1dvBacZ2AWK TVxOuRUFmgT1FGPU1U/VI660RAQ/G
PMU9ptNBxdcy4kp1iovln0qOv5kAnQJDeue mpmJeYXiXfZnJIVMY1imjeHoS//gJ
HRdSh90xJLGCQ4LGOwIDAQAB
-----END PUBLIC KEY-----

в конце секции место есть, есть откуда делать jmp, проблема в том, что делаю в x64dbg (*.exe x64).
можете накидать примерный код на асме, как это реализовать?

Цитата:
Сообщение от digitalis Посмотреть сообщение
Вот и мне тоже хотелось бы знать - как можно было бы строку ( небольшую такую, символов на 200 ) - знести в регистр ?
Quneri вне форума Ответить с цитированием
Старый 07.10.2018, 22:11   #4
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

строку поместить не сможешь, ..а только указатель на неё.
в квадратных скобках указываются значения из памяти,
а указатели - без скобок. например:
Код:
mov  ecx,metka     ; отправить адрес метки в ECX
mov  ecx,dword[metka]     ; получить в ECX значение, из адреса ECX
это для фасма...
для тасм/масма, указатель получаешь через инструкцию LEA
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 07.10.2018, 22:15   #5
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Код:
org 100
jmp start

metka   db  "Hello World! И что хочешь, с маркером конца строки($) $"

start:  mov   dx,metka
         mov   ah,9
         int    21h
         ret
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 07.10.2018, 22:17   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от R71MT Посмотреть сообщение
для тасм/масма
Если мне не изменяет память, там было mov reg,offset label.
LEA для константного смещения не имеет особого смысла, я даже не помню есть ли такая мнемоника, давно это было...
waleri вне форума Ответить с цитированием
Старый 07.10.2018, 23:08   #7
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
там было mov reg,offset label.
точно... по сути офсет и переводится как смещение
фасм удобен тем, что разраб избавился от лишних мнемоник, типа офсет etc
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 07.10.2018, 23:51   #8
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Судя по всему, типичая проблема XYZ..
Не могу представить, для чего нужны эти странные действия.
Black Fregat вне форума Ответить с цитированием
Старый 08.10.2018, 08:13   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну, например, чтобы приложение для перевода денег переводила их на ваш счет, а старую строку нельзя менять, чтобы на экране отображалось исходное...
p51x вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Наложение штампа(оттиска) в готовом файле (XLS или PDF) kammet_it Общие вопросы по программированию, компьютерный форум 4 21.11.2017 21:52
изменить код asm x32 под asm x64 за вознаграждение Ecosasha Фриланс 2 28.11.2013 14:11
Delphi XE2 x64 asm написанная под x32 преобразование к x64 Ecosasha Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 26.11.2013 22:45
Нужно занести число в регистр Светлана1 Помощь студентам 2 16.11.2011 20:21
Как сохранить строку в регистр или переменную Demonidze Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.02.2009 19:52