![]() |
eXeL@B —› Вопросы новичков —› FASM или MASM? |
<< . 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 17 октября 2007 16:42 · Личное сообщение · #1 посоветуйте, пожалуйста, какой Ассемблер использовать... скажите, на чем пишите вы... я никак не могу сделать выбор: МАСМ32 или ФАСМ.... пишу под Win32 ![]() испробовал уже и МАСМ и ФАСМ... Читал статью Криса Касперски, там он назвал ФАСМ "игрушечным", поскольку он не поддерживает генерацию отладочной информации... и вообще, видно ему ФАСМ не нравится... мне ФАСМ нравится тем, что мало весит, имеет свою простую среду... позволяем писать под разные ОСЬки... но... на ВАСМе большинство примеров, вроде, с помощью МАСМ32... большинство пишет на МАСМе... RadASM и WinASM, AsmEdit написаны на МАСМ... много информации по МАСМу... вообще он очень популярный... по ФАСму мало документаций... вроде серьезных проектов не написанно на нем... когда прогу, написанную на ФАСМе, мой PEiD пишет "Nothing found", а вот когда на МАСМе - "MASM32/TASM32" - обидно ![]() он, вроде, стает все более и более популярным все-таки скажите, кто и что думает об этих двух Ассемберах=) ![]() |
|
Создано: 18 октября 2007 20:01 · Личное сообщение · #2 |
|
Создано: 18 октября 2007 20:16 · Личное сообщение · #3 |
|
Создано: 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' ![]() |
|
Создано: 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 ? И причем все мои проги на фасме так и детектит ибо это первое, что пишу в коде =) ![]() |
|
Создано: 18 октября 2007 20:58 · Личное сообщение · #6 |
|
Создано: 18 октября 2007 21:27 · Поправил: BaGiE · Личное сообщение · #7 format PE GUI 4.0 at ImageBase
Вот скомпиль и погляди что и как ;) ![]() |
|
Создано: 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' только зачем было так запутывать... ![]() ![]() |
|
Создано: 18 октября 2007 21:58 · Поправил: BaGiE · Личное сообщение · #9 |
|
Создано: 18 октября 2007 22:03 · Личное сообщение · #10 |
|
Создано: 18 октября 2007 22:15 · Личное сообщение · #11 |
|
Создано: 18 октября 2007 22:17 · Поправил: mushr00m · Личное сообщение · #12 |
|
Создано: 18 октября 2007 22:45 · Личное сообщение · #13 |
|
Создано: 18 октября 2007 22:50 · Личное сообщение · #14 |
|
Создано: 18 октября 2007 22:57 · Личное сообщение · #15 |
|
Создано: 18 октября 2007 23:11 · Личное сообщение · #16 tnt17 пишет: это не верная сигнатура, для общего случая, так как я могу легко написать что-то типа: ессно %) я же сказал что я так обычно проги начинаю, но остальные как хотят, так и пишут =)) хотя сигнатуру не я придумал а просто я когда тыкал пеид свои проги - почти у всех высветилось FASM 1.3x * =))) ![]() |
|
Создано: 18 октября 2007 23:32 · Личное сообщение · #17 |
|
Создано: 19 октября 2007 00:16 · Личное сообщение · #18 |
|
Создано: 19 октября 2007 00:35 · Личное сообщение · #19 |
|
Создано: 19 октября 2007 00:36 · Личное сообщение · #20 Necromancer13 пишет: меньше весят программы, написанные на FASM или на MASM? при создании функциональной программы её "вес" в килобайтах роли не играет - это уже не poc-tiny-pe так что когда прога уже весит несколько десятков килобайт, с учётом выравнивания файла, разница в размере нивелируется. качество ассемблерного кода зависит от программиста. ----- EnJoy! ![]() |
|
Создано: 19 октября 2007 00:41 · Личное сообщение · #21 |
|
Создано: 19 октября 2007 04:52 · Личное сообщение · #22 >при создании функциональной программы её "вес" в килобайтах роли не играет - это уже не poc-tiny-pe >так что когда прога уже весит несколько десятков килобайт, с учётом выравнивания файла, разница в >размере нивелируется. >качество ассемблерного кода зависит от программиста. а... ну да... tnt17, ладно, буду мотреть, только с моим Нетом (скорость 24 КБит/сек:s10 ![]() ![]() ![]() |
|
Создано: 19 октября 2007 05:16 · Личное сообщение · #23 кстати, а есть хорошая подсветка синтаксиса ФАСМа? а то все для МАСМ да ТАСМ... это, конечно, очень хорошо, что есть FASMW, но мне он как-то не очень нравится ![]() RadASM тоже глючит... я его под ФАСМ настроил по статье с CrackL@B'а, но он при колспиляции еще и линкует непонятно зачем и пишет, что линковщик не найден... с WinASM почти то же... слышал, что есть FRESH специально под ФАСМ, но скачать не смог, на flatassembler.net он почему-то недоступен... у кого есть, приаттачьте, пожалуйста... ![]() ![]() |
|
Создано: 19 октября 2007 06:09 · Личное сообщение · #24 |
|
Создано: 19 октября 2007 07:31 · Личное сообщение · #25 |
|
Создано: 19 октября 2007 07:34 · Личное сообщение · #26 Necromancer13 пишет: А это для ФАСМа плохо или хорошо? чем это для него может быть хорошо или плохо? асм - это сила! а прямые руки и асм - это силища! так что фасм, масм - не суть, а сигнатуры для асм компиляторов - вообще имхо не нужный изврат. так что учите ассемблер, а не фишки компиляторов.. ----- invoke OpenFire ![]() |
|
Создано: 19 октября 2007 14:18 · Личное сообщение · #27 |
|
Создано: 20 октября 2007 04:41 · Личное сообщение · #28 |
|
Создано: 20 октября 2007 04:58 · Личное сообщение · #29 |
|
Создано: 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 ? ![]() |
|
Создано: 22 октября 2007 08:57 · Личное сообщение · #31 BaGiE пишет: без них тоже никуда ;) ну без них то можно нопесать программу, а вот без знанея ассемблера врядле.. мне вод стремно очень было заюзоть в масме .IF или .WHILE, пока я не напесал хоть одну более-менее нормальную программу на чистом асме.. просто потом, конечно, когда много пишешь, без фишек сложно, но нужно знать (видеть прямо в коде, а не в отладчеке) во что эти вставки превращаюцо ----- invoke OpenFire ![]() |
<< . 1 . 2 . 3 . >> |
![]() |
eXeL@B —› Вопросы новичков —› FASM или MASM? |