Ранг: 462.8 (мудрец), 468thx Активность: 0.28↘0 Статус: Участник Only One!
Создано: 04 января 2014 11:59 · Поправил: OnLyOnE · Личное сообщение · #3
reversecode пишет: ну так в гугле полно например --> Link <-- --> Link <-- --> Link <--
У меня все это есть. Проблема с заголовочными файлами и макросами. --> Тут <-- чувак выложил инклюды с либами. Но при подключении и попытке компиляции вылезает ошибка
temphls.inc и есть файл макросов, последняя доступная версия 1.2, вероятно там есть ошибки или ты упустил что-то у себя, автор пишет ...
Code:
Стоимость старой версии Disassemble Help Library1.5100 р.
Если вам нужна будет поддержка или быть может решение каких-то вопросов, то лучше обращайтесь за самой новой версией.
Стоимость платной версии 500 р.
По вопросам приобретения новой версии библиотеки Disassemble Help Library1.6, обращайтесь по аддрессу .
Системные требования.
Работа библиотеки проверялась на 64-битных операционных системах Windows 7 и Windows XP x64 Edition.
Новые опции в 1.6 версии
Проведена оптимизация по скорости. Дизассемблер теперь работает существенно быстрее. Устранены ошибки из-за которых многопроходный ассемблер мог работать слишком медленно. Из последних 6 релизов это самая быстрая версия.
К стандартным макросам добавлены циклы .while/.endw и .repeat/.until.
Новые опции в 1.5 версии
Система макросов в ассемблере, прежде всего это .if/.else/if/.endif, можно новые писать.
Сами макросы являются ассемблируемыми CALLBACK-функциями. Обычно в ассемблерах макросы представляют сприпты для обработки текста, но воспроизводить всё это очень долго. Поэтому в EPICASM ассемблер используется как скриптовый язык, CALLBACK-функции пишутся на ассемблере и могут участвовать в обработке текста.
Новые опции в 1.4 версии
Функции ассемблирования исходников.
Возможность использования макро-определений, для хранения которых используются специальные базы данных.
Дизассемблер поддерживает все самые новые наборы инструкций. В платной версии добавлено несколько новых инструкций из групп LWP, RTM и HLE.
В комплект входит библиотека для управления базами данных dsmbase.dll версии 0.2. Она дополнена и улучшена новыми функциями.
Прилагается простой ассемблерный транслятор epicasm.exe, который использует библиотеку и генерирует бинарные файлы. Самое главное его отличие, поддержка эпиморфного синтаксиса, что делает его по настоящему новым ассемблером. В ассемблере обрабатываются директивы инициализации данных (db,dw,dd,dq), метки, константы и текстовые подстановки.
Есть такая утилита AdaptAsm вот --> Link <-- , конечно работает не идеально, но внушает идею автоконвертирования, это не так уж и трудно. Так как утилита не сработала в свое время конвертировал простым блокнотом и макросами там за 20 минут максимум, коды были длинные. Может поможет в настрое
Тебе нужен твой личный конвертер
Code:
Converting existing 32-bit code to 64-bittop
Bringing together all the above considerations,this is what you need to do to convert existing 32-bit source code to 64-bit source.
Change all CALLs to APIs to INVOKE. Do not change any CALLs to non-APIs.
If you have used PUSH to send parameters to an API in your 32-bit source, change this to ARG. Do not use ARG for any other PUSHes.
Change all the 32-bit general purpose registers used as pointers (that is, within square brackets) to their 64-bit counterparts (RAX,RBP,RBX,RCX,RDX,RDI,RSI,andRSP).This will keep your code shorter,and ensure that pointers to external data work properly. Remember also to use only RSI,RDIandRCX with your string instructions and repeat prefixes. See choice of registers.
Ensure that registers which contain system handles and other values provided by the system are changed to their 64-bit counterparts (RAX,RBP,RBX,RCX,RDX,RDI,RSI,andRSP).
Adjust all other registers use as required. Generally for other use, the existing registers will work perfectly well, but do not mix the use of 32-bit and64-bit registers because of zero-extension of results. There is no need to change PUSHes and POPs of registers. These changes are done automatically by GoAsm because the opcodes are the same (for example PUSHEAX is regarded the same as PUSHRAXand vice versa).
Ensure that structures,data sizes,and type indicators are correct for 64-bit use.
Check that your JECXZ instructions are changed to JRCXZif appropriate.
Since 64-bit tends to be a little larger than 32-bit code, when you re-assemble your code using the /x64 switch, you may find that some short jumps have to be re-organised.
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube
OnLyOnE пишет: код х86 с малым гимороем партировать на х64 с малым - не реально. начиная с стека-регистров на процедуры и заканчивая pushad/popad, если код чуть сложнее "hello world"
----- От многой мудрости много скорби, и умножающий знание умножает печаль
Не стал создавать новую тему, тут спрошу, может кто-то знает, что случилось с JWasm? Сайт мертв, последний релиз JWasm v2.12 pre конец 2013 года начало 2014
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube