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

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


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

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

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

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

Ранг: 40.3 (посетитель)
Статус: Участник

Создано: 12 июля 2016 23:58 New!
Цитата · Личное сообщение · #1

Задавал этот вопрос на WASM.RU, но там глухо, так что попытаю счастья здесь. Если кто юзал ваткомовский ассемблер, подскажите, способен ли он работать со структурами или только одна видимость? Объясняю ситуацию. Компилю нижеследующий тестовый код:
Code:
  1. .386
  2. .MODEL FLAT
  3. IDEAL
  4.  
  5. STRUC MyType
  6.          Field1 dd ?
  7.          Field2 db ?
  8. ENDS
  9.  
  10. SEGMENT _DATA DWORD
  11.  
  12. MyVar MyType <1,1>
  13.  
  14. ENDS
  15.  
  16. SEGMENT CODE PARA
  17.  
  18. PROC TestProc
  19.          movzx   eax, [MyVar.Field2]
  20.          ret
  21. ENDP
  22.  
  23. ENDS
  24.  
  25. PUBLIC TestProc
  26.  
  27. END
, подключаю изготовленный объектник к проекту на Делфи… и получаю шиш с маслом: после генерации экзешника в map-файле переменная отсутствует, а дизасм показывает, что она находится по адресу 00000004, т.е. смещение поля в структуре транслятор обработал правильно, а саму переменную почему-то забыл. При компиляции этого же кода TAsm'ом, адрес получается валидным. Если же написать просто "MyType <1,1>" или "MyType {}", то вообще происходит выход с зксцепшном по AV. Может есть какой-нибудь нюанс, очень уж мне понравился этот транслятор – в режиме эмуляции 'Ideal', синтаксис действительно идеальный в отличие от самого TAsm'а. Очень будет обидно, если фичи фейковые, а о копании в потрохах TAsm'а я даже думать боюсь.

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

Создано: 2 апреля 2017 20:28 New!
Цитата · Личное сообщение · #2

difexacaw пишет:
Фасм же стал популярен из за сего компиля --> Link <--

Не знаю - меня фасм привлёк в первую очередь тем, что в нём намного проще делать x64 - крошечный SDK, ни от чего (либов, системы, процессора и т. д.) не зависящий, в отличие от масм. И не только x64, с тем же юникодом гораздо удобней, также секции/релоки и прочие параметры PE можно прям в исходнике крутить.

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

Создано: 2 апреля 2017 21:16 · Поправил: dosprog New!
Цитата · Личное сообщение · #3

FalseMaster пишет:
В каком смысле: привить чистоплотность некой прожке или сорцы позырить?

Да хорошо бы как-то оформить эту концепцию в виде утилиты, имеющей конфигурационный скрипт для разных программ.
А так-то каждый раз в коде ковыряться оно невдобняк.
Смутно представляю детали реализации, сорри.



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

Создано: 2 апреля 2017 21:28 · Поправил: difexacaw New!
Цитата · Личное сообщение · #4

elch

А есчо есть апликухи для автоматической разработки, тогда вы скажите что это есчо более удобно. Тут смысл в другом, человек который хочет знать всё досконально и иметь какой то скул рад непонятностям и проблемам, так это причина разобраться. Такова идеология асма/ll-коденга. Человек которые хочет понять суть ничего не упрощает. Ну и я не просто так упомянул выше пурик - это кроссплатформ нэйтив компиль с инлайн фасм. Идеальный выбор.

Ранг: 40.3 (посетитель)
Статус: Участник

Создано: 3 апреля 2017 07:30 New!
Цитата · Личное сообщение · #5

dosprog
>Да хорошо бы как-то оформить эту концепцию в виде утилиты…
Меня такая мысля посещала, но я её забраковал, т.к. по здравому размышлению отредактировать (иногда в основном копипастой) небольшой текстовый файл куда быстрее, проще и гибше, чем городить огороды с заполнением полей и крыженьем чекбоксов в гуе. К тому же некоторые инклюды помимо функций работы с реестром содержат патчи разной степени тяжести, да и условия загрузки конфига могут быть неординарными. В душе… кхм… не представляю, какой должна быть унифицированная форма диалога для генерации кода из вложения.

elch, difexacaw
Ребятушки, а не могли бы вы вместо прений пособить в моей просьбе?

{ Атач доступен только для участников форума } - WinWord.inc.zip

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

Создано: 3 апреля 2017 12:55 · Поправил: dosprog New!
Цитата · Личное сообщение · #6

Так а в чём пособлять-то?

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

Создано: 3 апреля 2017 13:36 · Поправил: elch New!
Цитата · Личное сообщение · #7

Пособить особо не могу, т. к. с паскалем вообще не дружу. Ради интереса попробовал собрать в фасме coff c TestProc и приделать его к tasm'скому exe - вроде работает. Может, чем поможет, хз.

{ Атач доступен только для участников форума } - TestProc.rar

Ранг: 40.3 (посетитель)
Статус: Участник

Создано: 3 апреля 2017 21:40 · Поправил: FalseMaster New!
Цитата · Личное сообщение · #8

dosprog
>Так а в чём пособлять-то?
В тестах, батенька, в тестах.

elch
>с паскалем вообще не дружу
Ну и замечательно, ибо с паскалем всё пучком и даже лучше. А мне надобно выявить косяки в работе пропатченного TAsm'a, дабы не наступать в дальнейшем на свои же грабли.
<< . 1 . 2 .
 eXeL@B —› Софт, инструменты —› WAsm и структуры

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

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