[asm] Помогите переписать процедуру под x64
|
|
dolphin | Дата: Среда, 03.04.2013, 21:12 | Сообщение # 1 |
Администратор
Сообщений: 906
Статус: Offline
| Есть процедура Доступно только для пользователей
Проблема в том что на х64 она не работает, кто поможет с этим вопросом?
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
Волк-1024 | Дата: Четверг, 04.04.2013, 00:08 | Сообщение # 2 |
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
| Код прекрасно работает на Windows 8 Professional x64. Всё шифруется и дешифруется.
Доступно только для пользователей В чем собственно заключается проблема?
Pascal, C\C++, Assembler, Python
Сообщение отредактировал Волк-1024 - Четверг, 04.04.2013, 00:13 |
|
| |
Don_Diego | Дата: Четверг, 04.04.2013, 01:17 | Сообщение # 3 |
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
| Offtop
|
|
| |
Волк-1024 | Дата: Четверг, 04.04.2013, 01:21 | Сообщение # 4 |
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
| У меня тоже самое...
Pascal, C\C++, Assembler, Python
|
|
| |
dolphin | Дата: Четверг, 04.04.2013, 01:34 | Сообщение # 5 |
Администратор
Сообщений: 906
Статус: Offline
| Волк-1024, Проблеме в том что на 64-битном компиляторе не хочет компилироваться. На простой так же всё нормально. Просто наверно немного не так вопрос поставил
По теме синтаксиса
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
Волк-1024 | Дата: Четверг, 04.04.2013, 01:47 | Сообщение # 6 |
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
| Эмммм. под рукой нет x64 компилятора, но могу предположить, что нужно заменить регистры EAX, EDX на RAX и RDX, а Код procedure EncryptPass(SrcBuf: Pointer; BufLen: LongWord); assembler; заменить на Код procedure EncryptPass(SrcBuf: PInt64; BufLen: Int64); assembler; Не знаю, что насчет регистра CL(ECX)... Т.к на x64 ассемблере я почти не кодил...
Pascal, C\C++, Assembler, Python
Сообщение отредактировал Волк-1024 - Четверг, 04.04.2013, 01:50 |
|
| |
dolphin | Дата: Четверг, 04.04.2013, 01:59 | Сообщение # 7 |
Администратор
Сообщений: 906
Статус: Offline
| Волк-1024, и на том спасибо, буду пробовать
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
dolphin | Дата: Пятница, 03.05.2013, 11:01 | Сообщение # 8 |
Администратор
Сообщений: 906
Статус: Offline
| Актуально!
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
Волк-1024 | Дата: Пятница, 03.05.2013, 16:36 | Сообщение # 9 |
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
| Спокойно компилируется в Lazarus'е x64, если добавить перед asm деррективу {$ASMMODE intel}
-------------------------------------------------------------------------- Ан нет. Там же ведь идет смешение 32 и 16 битного кода... Еще кстати функция не будет шифровать правильно данные, если длина ключа больше чем размер данных в TXorData Я думаю, чтобы не заморачиваться на asm лучше написать это дело на Delphi...
Pascal, C\C++, Assembler, Python
Сообщение отредактировал Волк-1024 - Пятница, 03.05.2013, 17:33 |
|
| |