eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: zds (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Софт, инструменты —› masm64
Посл.ответ Сообщение


Ранг: 462.8 (мудрец)
Статус: Участник
Only One!

Создано: 4 января 2014 00:51 New!
Цитата · Личное сообщение · #1

Господа, может есть у кого готовая рабочая сборка компилятора?
Заранее огромное спасибо!


Ранг: 988.8 (! ! !)
Статус: Участник

Создано: 4 января 2014 01:06 · Поправил: reversecode New!
Цитата · Личное сообщение · #2

ну так в гугле полно
например
--> Link <--
--> Link <--
--> Link <--


Ранг: 462.8 (мудрец)
Статус: Участник
Only One!

Создано: 4 января 2014 11:59 · Поправил: OnLyOnE New!
Цитата · Личное сообщение · #3

reversecode пишет:
ну так в гугле полно
например
--> Link <--
--> Link <--
--> Link <--


У меня все это есть. Проблема с заголовочными файлами и макросами. --> Тут <-- чувак выложил инклюды с либами. Но при подключении и попытке компиляции вылезает ошибка
Code:
  1. c:\masm64\macros\temphls.inc(960) : error A2008:syntax error : if
  2. c:\masm64\macros\temphls.inc(963) : error A2008:syntax error : J_POLY_COND
  3. c:\masm64\macros\temphls.inc(964) : fatal error A1008:unmatched macro nesting


т.е. макросы не работают. Я загребся рехтовать макросы и инклюды, думал может у когонить есть уже готовая рабочая сборка.

Ранг: 617.3 (!)
Статус: Участник

Создано: 4 января 2014 12:32 New!
Цитата · Личное сообщение · #4

Посмотри тут
http://japheth.de/WinInc.html


Ранг: 462.8 (мудрец)
Статус: Участник
Only One!

Создано: 4 января 2014 13:08 · Поправил: OnLyOnE New!
Цитата · Личное сообщение · #5

Vovan666 пишет:
http://japheth.de/WinInc.html


Спасибо. Но там нет макросов.
Мне макросы нужны для того чтобы собственный код х86 с малым гимороем партировать на х64.


Ранг: 630.4 (!)
Статус: Участник
CyberMonk

Создано: 5 января 2014 14:47 · Поправил: mak New!
Цитата · Личное сообщение · #6

temphls.inc и есть файл макросов, последняя доступная версия 1.2, вероятно там есть ошибки или ты упустил что-то у себя, автор пишет ...

Code:
  1. Стоимость старой версии Disassemble Help Library 1.5 100 р.
  2. Если вам нужна будет поддержка или быть может решение каких-то вопросов, то лучше обращайтесь за самой новой версией.
  3.  
  4. Стоимость платной версии 500 р.
  5. По вопросам приобретения новой версии библиотеки Disassemble Help Library 1.6, обращайтесь по аддрессу .
  6.  
  7. Системные требования. 
  8. Работа библиотеки проверялась на 64-битных операционных системах Windows 7 и Windows XP x64 Edition.
  9.  
  10. Новые опции в 1.6 версии
  11. Проведена оптимизация по скорости. Дизассемблер теперь работает существенно быстрее. Устранены ошибки из-за которых многопроходный ассемблер мог работать слишком медленно. Из последних 6 релизов это самая быстрая версия.
  12. К стандартным макросам добавлены циклы .while/.endw и .repeat/.until.
  13. Новые опции в 1.5 версии
  14. Система макросов в ассемблере, прежде всего это .if/.else/if/.endif, можно новые писать.
  15. Сами макросы являются ассемблируемыми CALLBACK-функциями. Обычно в ассемблерах макросы представляют сприпты для обработки текста, но воспроизводить всё это очень долго. Поэтому в EPICASM ассемблер используется как скриптовый язык, CALLBACK-функции пишутся на ассемблере и могут участвовать в обработке текста.
  16. Новые опции в 1.4 версии
  17. Функции ассемблирования исходников.
  18. Возможность использования макро-определений, для хранения которых используются специальные базы данных.
  19. Дизассемблер поддерживает все самые новые наборы инструкций. В платной версии добавлено несколько новых инструкций из групп LWP, RTM и HLE. 
  20. В комплект входит библиотека для управления базами данных dsmbase.dll версии 0.2. Она дополнена и улучшена новыми функциями.
  21. Прилагается простой ассемблерный транслятор  epicasm.exe, который использует библиотеку и генерирует бинарные файлы. Самое главное его отличие, поддержка эпиморфного синтаксиса, что делает его по настоящему новым ассемблером. В ассемблере обрабатываются директивы инициализации данных (db, dw, dd, dq), метки, константы и текстовые подстановки.


Есть такая утилита AdaptAsm вот --> Link <-- , конечно работает не идеально, но внушает идею автоконвертирования, это не так уж и трудно. Так как утилита не сработала в свое время конвертировал простым блокнотом и макросами там за 20 минут максимум, коды были длинные. Может поможет в настрое

Тебе нужен твой личный конвертер

Code:
  1. Converting existing 32-bit code to 64-bittop
  2.  
  3. Bringing together all the above considerations, this is what you need to do to convert existing 32-bit source code to 64-bit source.
  4. Change all CALLs to APIs to INVOKE. Do not change any CALLs to non-APIs.
  5. 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.
  6. 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, and RSP). This will keep your code shorter, and ensure that pointers to external data work properly. Remember also to use only RSI, RDI and RCX with your string instructions and repeat prefixes. See choice of registers.
  7. 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, and RSP).
  8. 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 and 64-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 PUSH EAX is regarded the same as PUSH RAX and vice versa).
  9. Ensure that structures, data sizes, and type indicators are correct for 64-bit use.
  10. Check that your JECXZ instructions are changed to JRCXZ if appropriate.
  11. 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.


Ранг: 315.6 (мудрец)
Статус: Участник
born to be evil

Создано: 5 января 2014 17:19 New!
Цитата · Личное сообщение · #7

OnLyOnE пишет:
код х86 с малым гимороем партировать на х64

с малым - не реально. начиная с стека-регистров на процедуры и заканчивая pushad/popad, если код чуть сложнее "hello world"


Ранг: 462.8 (мудрец)
Статус: Участник
Only One!

Создано: 8 января 2014 19:15 New!
Цитата · Личное сообщение · #8

Все.. перелез на фасм
Заколебал меня этот масм.
Господа. Если у кого пример рабочего кода сервиса на фасм х64?
Скинте плиз.
За ранее спасибо!


Ранг: 630.4 (!)
Статус: Участник
CyberMonk

Создано: 27 ноября 2014 13:16 New!
Цитата · Личное сообщение · #9

Не стал создавать новую тему, тут спрошу, может кто-то знает, что случилось с JWasm? Сайт мертв, последний релиз JWasm v2.12 pre конец 2013 года начало 2014

Ранг: 226.5 (наставник)
Статус: Участник

Создано: 27 ноября 2014 13:37 New!
Цитата · Личное сообщение · #10

автор уже так пропадал, возможно снова воскреснет через пол года
 eXeL@B —› Софт, инструменты —› masm64

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS