Сейчас на форуме: vsv1, _MBK_ (+3 невидимых)

 eXeL@B —› Вопросы новичков —› FASM или MASM?
<< . 1 . 2 . 3 . >>
Посл.ответ Сообщение

Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 17 октября 2007 16:42
· Личное сообщение · #1

посоветуйте, пожалуйста, какой Ассемблер использовать...
скажите, на чем пишите вы...

я никак не могу сделать выбор: МАСМ32 или ФАСМ....
пишу под Win32

испробовал уже и МАСМ и ФАСМ...

Читал статью Криса Касперски, там он назвал ФАСМ "игрушечным", поскольку он не поддерживает генерацию отладочной информации... и вообще, видно ему ФАСМ не нравится...

мне ФАСМ нравится тем, что мало весит, имеет свою простую среду...
позволяем писать под разные ОСЬки...

но... на ВАСМе большинство примеров, вроде, с помощью МАСМ32...

большинство пишет на МАСМе...

RadASM и WinASM, AsmEdit написаны на МАСМ...

много информации по МАСМу... вообще он очень популярный...

по ФАСму мало документаций...
вроде серьезных проектов не написанно на нем...
когда прогу, написанную на ФАСМе, мой PEiD пишет "Nothing found", а вот когда на МАСМе - "MASM32/TASM32" - обидно

он, вроде, стает все более и более популярным

все-таки скажите, кто и что думает об этих двух Ассемберах=)




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 18 октября 2007 20:01
· Личное сообщение · #2

Necromancer13 пишет:
1. PEiD пишет "MASM32/TASM32" при анализе файла на МАСМЕ, и "Nothing Found", если на ФАСМе;

Ну замути сигнатурку в PEiD, чтобы FASM писал... В чём проблема?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 18 октября 2007 20:16
· Личное сообщение · #3

Isaev пишет:
Ну замути сигнатурку в PEiD, чтобы FASM писал... В чём проблема?

в общем случае не получится

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...




Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 18 октября 2007 20:42
· Личное сообщение · #4

tnt17, подключить файлы с %fasminc%\api могу и я, мне хотелось импортировать все самому - так интереснее...
но мне уже помогли с этим вопросом на форуме ФАСМа)

жаль, а мне бы эту сигнатуру очень нужно....


и помогите, плоиз с этой прогой: (тут должен быть макрос, который позволяет использовать MessageBox просто указав какую строку вывести...)

format PE GUI 4.0
entry start
include '%fasminc%\win32a.inc'
section '.data' data readable writeable
Caption db ' ',0
section '.code' code readable writeable executable
start:
jmp next
macro WriteMessage mess
{
local behind
push MB_OK
push Caption
call behind
db mess,0
behind:
push 0
call [MessageBox]
}
next:
WriteMessage 'test string!'
invoke ExitProcess,0
section '.idata' readable writeable
library user32,'user32.dll',
kernel32,'kernel32.dll'
import user32,
MessageBox,'MessageBoxA'
import kernel32,
ExitProcess,'ExitProcess'




Ранг: 61.7 (постоянный)
Активность: 0.050
Статус: Участник
я

Создано: 18 октября 2007 20:55
· Личное сообщение · #5

Necromancer13 пишет:
жаль, а мне бы эту сигнатуру очень нужно....


А я вот что нашел в своих сигнатурах

[6A ?? FF 15 ?? ?? ?? ?? A3] - FASM 1.3x

push $XXXXXXXX ; push 0 ?
call [$XXXXXXXX] ; GetModuleHandle ?
mov [$XXXXXXXX],eax ; mov [hInstance],eax ?

И причем все мои проги на фасме так и детектит ибо это первое, что пишу в коде =)



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 18 октября 2007 20:58
· Личное сообщение · #6

Bagie, а с программой не поможешь?.. похоже, я плохо понял, как макросы писать...

у меня есть такая тоже сигнатура, но мои проги не находит... может приаттачь свою - я поверю;)




Ранг: 61.7 (постоянный)
Активность: 0.050
Статус: Участник
я

Создано: 18 октября 2007 21:27 · Поправил: BaGiE
· Личное сообщение · #7

format PE GUI 4.0 at ImageBase

include '%fasminc%\win32a.inc'

ImageBase = 0x400000

macro __write_msg msg
{
local .f
push 0
push ImageBase + rva MessageBox + 10
call .f
db msg,0
.f: push 0
invoke MessageBox,
}

section '.text' code readable executable

entry $

__write_msg ':-]'
retn

section '.idata' import readable writeable

library user32,'USER32.DLL'

import user32,MessageBox,'MessageBoxA'


Вот скомпиль и погляди что и как ;)



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 18 октября 2007 21:36
· Личное сообщение · #8

ахаха
мне PEiD показал "UPolyX v0.5 *"
хихи....


BaGiE? ты меня нарочно хотел запутать?

ImageBase туда добавил...

я вот чуть изменил.. все работает, спасибо))


format PE GUI 4.0

include '%fasminc%\win32a.inc'


macro __write_msg msg
{
local .f1,.f2
push 0
push MessageBox + 10
call .f2
db msg,0
.f2: push 0
invoke MessageBox,
}

section '.text' code readable executable

entry $

__write_msg ''
retn

section '.idata' import readable writeable

library user32,'USER32.DLL'

import user32,
MessageBox,'MessageBoxA'


только зачем было так запутывать...




Ранг: 61.7 (постоянный)
Активность: 0.050
Статус: Участник
я

Создано: 18 октября 2007 21:58 · Поправил: BaGiE
· Личное сообщение · #9

Necromancer13 пишет:
мне PEiD показал "UPolyX v0.5 *"

Удали все эти сигнатуры лучше =))))

Necromancer13 пишет:
только зачем было так запутывать...

это следы моих экспериментов)) и я фасм сижу вспоминаю ибо давно не кодел =(



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 18 октября 2007 22:03
· Личное сообщение · #10

>> это следы моих экспериментов)) и я фасм сижу вспоминаю ибо давно не кодел =(
Ужас! Кодить надо!;)




Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 18 октября 2007 22:15
· Личное сообщение · #11

BaGiE пишет:
[6A ?? FF 15 ?? ?? ?? ?? A3] - FASM 1.3x

это не верная сигнатура, для общего случая, так как я могу легко написать что-то типа:
entry $
call $+5
pop ebx
xor eax,eax
и так далее...

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...




Ранг: 51.5 (постоянный), 16thx
Активность: 0.040.01
Статус: Участник

Создано: 18 октября 2007 22:17 · Поправил: mushr00m
· Личное сообщение · #12

BaGiE нопесал:
push $XXXXXXXX ; push 0 ?


да ентрипоинт может начинаться хоть таким мусором
pusha
xor eax, eax
mov eax, ebx
один хрен)
тогда первые байты будут: 60 31 C0 89 D8 ... вот и пишите сигну...

адд: тнт17 опередил)



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 18 октября 2007 22:45
· Личное сообщение · #13

кто-то дайты нормальные сигнатуры плиз, а то мой PEiD фигню всякую находит



Ранг: 51.5 (постоянный), 16thx
Активность: 0.040.01
Статус: Участник

Создано: 18 октября 2007 22:50
· Личное сообщение · #14

Necromancer13 нопесал:
дайты нормальные сигнатуры плиз


неужели из двух вышеприведённых постов не ясно, что НЕТУ СИГНАТУРЫ у фасма)



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 18 октября 2007 22:57
· Личное сообщение · #15

А это для ФАСМа плохо или хорошо?

выходит, что МАСМ всегда "пишет" эту сигнатуру в исполняемый файл,
а в ФАСМе это можно контроллировать....
это ведь хорошо...

или я не так понял?




Ранг: 61.7 (постоянный)
Активность: 0.050
Статус: Участник
я

Создано: 18 октября 2007 23:11
· Личное сообщение · #16

tnt17 пишет:
это не верная сигнатура, для общего случая, так как я могу легко написать что-то типа:

ессно %) я же сказал что я так обычно проги начинаю, но остальные как хотят, так и пишут =)) хотя сигнатуру не я придумал а просто я когда тыкал пеид свои проги - почти у всех высветилось FASM 1.3x * =)))



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 18 октября 2007 23:32
· Личное сообщение · #17

BaGiE,
ыыыыы... а я стандартно их начинаю;)

format PE GUI 4.0
entry start
include '%fasminc%\win32a.inc'

section '.data' data readable writeable
.............
section '.code' code readable writeable executable
start:
.........
section '.idata' import data readable writeable
........



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 19 октября 2007 00:16
· Личное сообщение · #18

Ы... просто интерено узнать...:
меньше весят программы, написанные на FASM или на MASM?



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 19 октября 2007 00:35
· Личное сообщение · #19

и еще:
подскажите, плиз, как создать меню (на ФАСМ) не с использованием
LoadMenu, а mov [wc.lpszMenuName]...

а то не выходит...




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 19 октября 2007 00:36
· Личное сообщение · #20

Necromancer13 пишет:
меньше весят программы, написанные на FASM или на MASM?

при создании функциональной программы её "вес" в килобайтах роли не играет - это уже не poc-tiny-pe
так что когда прога уже весит несколько десятков килобайт, с учётом выравнивания файла, разница в размере нивелируется.
качество ассемблерного кода зависит от программиста.

-----
EnJoy!





Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 19 октября 2007 00:41
· Личное сообщение · #21

Necromancer13
board.flatassembler.net/ тут очень много семплов. учись по ним.

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...




Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 19 октября 2007 04:52
· Личное сообщение · #22

>при создании функциональной программы её "вес" в килобайтах роли не играет - это уже не poc-tiny-pe
>так что когда прога уже весит несколько десятков килобайт, с учётом выравнивания файла, разница в >размере нивелируется.
>качество ассемблерного кода зависит от программиста.

а... ну да...


tnt17, ладно, буду мотреть, только с моим Нетом (скорость 24 КБит/сек:s10 будет полчаса грузиться



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 19 октября 2007 05:16
· Личное сообщение · #23

кстати, а есть хорошая подсветка синтаксиса ФАСМа? а то все для МАСМ да ТАСМ...
это, конечно, очень хорошо, что есть FASMW, но мне он как-то не очень нравится
RadASM тоже глючит... я его под ФАСМ настроил по статье с CrackL@B'а, но он при колспиляции еще и линкует непонятно зачем и пишет, что линковщик не найден... с WinASM почти то же...

слышал, что есть FRESH специально под ФАСМ, но скачать не смог, на flatassembler.net он почему-то недоступен...

у кого есть, приаттачьте, пожалуйста...



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 19 октября 2007 06:09
· Личное сообщение · #24

ой, все, о меню нашел, только не на board.flatassembler.net, а в туториалах ICZELIONа на ФАСМ...




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 19 октября 2007 07:31
· Личное сообщение · #25

слей и прочитай FASM Add-In 1.60 Russian help http://www.winasm.net/ind=downloads&op=entry_view&iden=168
узнаешь, как использовать WinAsm Studio + FASM

-----
EnJoy!





Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 19 октября 2007 07:34
· Личное сообщение · #26

Necromancer13 пишет:
А это для ФАСМа плохо или хорошо?

чем это для него может быть хорошо или плохо? асм - это сила! а прямые руки и асм - это силища! так что фасм, масм - не суть, а сигнатуры для асм компиляторов - вообще имхо не нужный изврат. так что учите ассемблер, а не фишки компиляторов..

-----
invoke OpenFire





Ранг: 61.7 (постоянный)
Активность: 0.050
Статус: Участник
я

Создано: 19 октября 2007 14:18
· Личное сообщение · #27

Ice-T пишет:
фишки компиляторов

без них тоже никуда ;)



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 20 октября 2007 04:41
· Личное сообщение · #28

>без них тоже никуда ;)
ну наверно...



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 20 октября 2007 04:58
· Личное сообщение · #29

Jupiter, я скачивал это уже... у меня не получилось все-равно это нормально сделать... - подсветки не было и т.п....



Ранг: 9.8 (гость)
Активность: 0.020
Статус: Участник

Создано: 21 октября 2007 16:00
· Личное сообщение · #30

кстати, BaGiE, твоя программа:

format PE GUI 4.0 at ImageBase

include '%fasminc%\win32a.inc'

ImageBase = 0x400000

macro __write_msg msg
{
local .f
push 0
push ImageBase + rva MessageBox + 10
call .f
db msg,0
.f: push 0
invoke MessageBox,
}

section '.text' code readable executable

entry $

__write_msg ':-]'
retn

section '.idata' import readable writeable

library user32,'USER32.DLL'

import user32,MessageBox,'MessageBoxA'



почему именно push ImageBase + rva MessageBox + 10

почему +10 ?




Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 22 октября 2007 08:57
· Личное сообщение · #31

BaGiE пишет:
без них тоже никуда ;)

ну без них то можно нопесать программу, а вот без знанея ассемблера врядле.. мне вод стремно очень было заюзоть в масме .IF или .WHILE, пока я не напесал хоть одну более-менее нормальную программу на чистом асме.. просто потом, конечно, когда много пишешь, без фишек сложно, но нужно знать (видеть прямо в коде, а не в отладчеке) во что эти вставки превращаюцо

-----
invoke OpenFire



<< . 1 . 2 . 3 . >>
 eXeL@B —› Вопросы новичков —› FASM или MASM?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати