Сейчас на форуме: zombi-vadim, zds (+4 невидимых)

 eXeL@B —› Программирование —› RadAsm+fasm
. 1 . 2 . >>
Посл.ответ Сообщение


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

Создано: 04 января 2007 08:24 · Поправил: tnt17
· Личное сообщение · #1


Установка и настройка RadASM + fasm

Качаем саму IDE(http://www.radasm.com/):
[url=http://www.radasm.com/RadASM2000/RadASM.zip
]http://www.radasm.com/RadASM2000/RadASM.zip
[/url]
Файлы настроек для программистов на ассемблере:
http://www.radasm.com/RadASM2000/Assembly.zip
Кому удобнее работать с локализованной IDE,качаем файлы локализации:
http://www.radasm.com/RadASM2000/RadLNG.zip

Копируем все из архивов в какалог на вашем компьютере,в этом примере С:\radasm.
Далее,выбираем необходимую локализацию в меню: Option->Language выбираем "русский" и жмем применить.
Язык(можно оставить по умолчанию английский,в данном примере будет рассмотрена настройка с использованием русского языка).
Чтобы нормально отобразались русские буквы в листинге,в меню Настройка->Настройка шрифтов,
в появившемся окне,нажимаем "редактор кода",должно появиться новое окно,с вариантами выбора шрифтов.Нам шрифт менять не нужно,
просто поменяем набор символов с западного на кирилический.Повторяем эту процедуру для остальных редакторов и диалогов.
Выбираем цветовую схему Настройки -> Цвета и ключевые схемы указываем Black Night и жмем загрузить.
Теперь нам нужно добавить поддержку fasm, для этого в Настройки->Programming Languages выбираем файл:
Assemblyfasm.ini и нажимаем добавить.Можно подвинуть его стрелкой вверх,чтобы при создании проекта с помощью мастера,
по умолчанию стоял выбор проекта под fasm.
Заменить в файле fasm.ini данный участок(сам файл открываем блокнотом;полный путь к нему C:\radasm\Assembly\fasm.ini):

[CodeMacro]
1=if,{T},{C}{I}end if
2=else,{T},
3=else if,{T},
4=virtual at,{T},{C}{I}end virtual
5=macro,{I}{S}{{C}{I}{T},{C}{I}{S}}{C}
6=proc,{I}{T}begin{C}{I}{T},{C}{I}{T}return{C}{I}{T}endp{C}
7=struc,{I}{S}{{C}{I}{T},{C}{I}{S}}{C}

меняем на:
[CodeMacro]
1=.if,{T},{C}{I}.endif
2=.else,{T},
3=.elseif,{T},
4=virtual at,{T},{C}{I}end virtual
5=macro,{I}{S}{{C}{I}{T},{C}{I}{S}}{C}
6=proc,{I}{T}{{C}{I}{T},{C}{I}{T}ret{C}{I}{T}}{C}
7=struc,{I}{S}{C}{I}{T},{C}{I}{S}{C}ends
По мере надобности,Вы можете вносить свои дополнения в данный блок.

Проверить,чтобы данный блок выглядел таким образом:
[Environment]
1=path,c:\radasm;
2=include,c:\radasm\include

заменить блок
[Api]
Trig=invoke
Call=Fasm\fasmApiCall.api
Const=Fasm\fasmApiConst.api
Word=Fasm\fasmApiWord.api
Message=Fasm\fasmMessage.api
Struct=Fasm\fasmApiStruct.api
Inc=include,','
Lib=

на

[Api]
Trig=invoke
Call=Assembly\Fasm\fasmApiCall.api
Const=Assembly\Fasm\fasmApiConst.api
Word=Assembly\Fasm\fasmApiWord.api
Message=Assembly\Fasm\fasmMessage.api
Struct=Assembly\Fasm\fasmApiStruct.api
Inc=include,','
Lib=

С файлом fasm.ini разобрались,приступаем к установке компилятора fasm(http://flatassembler.net/download.php).
Для этого из архива установки fasm, копируем в папку C:\radasm файл FASM.EXE и папку INCLUDE.Данный способ применяется лишь из-за того,
чтобы упростить процесс установки.Он не является идеально правильным,но заслуживает право на жизнь.
Если у Вас уже установлен fasm в другую папку,например C:fasm, то можно просто прописать в настройках RadAsm пути к данному каталогу.
Приступим к настройке путей к исполняемым файлам.
Настройки->Установить пути
App($A) выбираем путь к каталогу,в котором находиться fasm.exe,в данном случае - C:\radasm
Debug - путь к каталогу,к котором находиться отладчик OllyDbg: C:\Program Files\OllyDbg
Include($I) путь к папке,в которой находятся include файлы: $A\Assembly\Include
Macro($M) путь к макросам $A\Assembly\Fasm\Macro
Project($P) каталог с нашими проектами $R\Assembly\Fasm\Projects

Для компиляции рессурсов программы нам необходимо скачать - GoRC (http://www.jorgon.freeserve.co.uk/Gorcjorg.zip)
Распаковать файл GoRC.exe в папку C:\radasm
Теперь приступим к созданию простого,тестового проекта для fasm с помощью мастера.
Файл -> Новый проект.
Ассемблер - fasm
win32 App
Имя проекта - temp
Описание - kptfh
Жмем - next
Шаблон - win32Dlg.tpl
Жмем - next
Оставляем все поля как есть.
Жмем - next
Ставим дополнительно галочки
build
link
Жмем - finish
Создан простой проект,на базе шаблона.Чтобы его нормально собрать,нам необходимо в файле temp.asm закоментировать или удалить инструкцию
enter ,
и заменить return на ret (за дополнительной информацией по этому - fasm.pdf в архиве инсталяции фасма)
Чтобы проверить что у нас получилось Проект -> Build
Все вопросы - в данный топик.


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





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

Создано: 04 января 2007 09:34
· Личное сообщение · #2

По просьбам трудящихся,выкладываю файлы к статье:
RadASM 2.2.1.0c + fasm version 1.67.18 (Dec 27, 2006)
Замените в настройках путь к проектам на свой(например c:\MyFasmFiles ),так как это будет более наглядно и удобно в использовании.
rapidshare.com/files/10207089/radasm.7z.html размер ~1м.

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





Ранг: 282.8 (наставник), 24thx
Активность: 0.260
Статус: Участник
win32.org.ru

Создано: 04 января 2007 09:40 · Поправил: Guru_eXe
· Личное сообщение · #3

если фасм находется не в корневом каталоге РадАсм, то надо
[Environment]
1=path,c:\adasm;
2=include,c:\adasm\include

заменить на
[Environment]
1=path,c:\fasm;
2=include,c:\fasm\include


остальное вроде работает, делал сам, но смысл тотже.

Таже советую содержимое Assembly.zip извлекать прямо в корневой каталог, чтобы потом не менять пути. То есть это вас избавит от лишних действий перемены:
Struct=Fasm\fasmApiStruct.api
на
Struct=Assembly\Fasm\fasmApiStruct.api

-----
may all your PUSHes be POPed!




Ранг: 43.7 (посетитель), 2thx
Активность: 0.020
Статус: Участник

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

Уроки iczelion переделаные под fasm .
В двух вариантах.

Название: fasm.rar
Размер: 962.63 кб
Доступен до: 2007-04-24 20:05:47
Ссылка для скачивания файла: ifolder.ru/1478334



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

Создано: 25 марта 2007 19:50 · Поправил: PLAYFCUK
· Личное сообщение · #5

Ссылка для скачивания файла: ifolder.ru/1478334

Можешь куда-нибудь перезалить, а то цифры для скачивания не вводяться или у меня какая-то хрень.



Ранг: 43.7 (посетитель), 2thx
Активность: 0.020
Статус: Участник

Создано: 25 марта 2007 19:51
· Личное сообщение · #6

Скажи куда именно.



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

Создано: 25 марта 2007 19:53
· Личное сообщение · #7

да куда угодно rapidshare.ru, slil.ru.



Ранг: 43.7 (посетитель), 2thx
Активность: 0.020
Статус: Участник

Создано: 25 марта 2007 20:06
· Личное сообщение · #8

Зеркало slil.ru/24133380




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

Создано: 26 марта 2007 00:27 · Поправил: SecurAdmin
· Личное сообщение · #9

Может есть у кого-нибудь примеры кейгенов или патчей на фасме (с музыкой и графикой)...очень буду признателен...ну и литературы с примерами по фасму тоже не помешало бы...
Спасибо всем, тема очень нужная!

-----
бессмысленные манипуляции не становятся более разумными если их повторять





Ранг: 282.8 (наставник), 24thx
Активность: 0.260
Статус: Участник
win32.org.ru

Создано: 26 марта 2007 08:13 · Поправил: Guru_eXe
· Личное сообщение · #10

team-x.ru/guru-exe/Sources/Cracks/Keygen.Template.fasm-Guru.eXe.zip
team-x.ru/guru-exe/Sources/Trainers/Trainer.template.fasm-cyberdoom.rar
team-x.ru/guru-exe/Sources/Trainers/Trainer.template.loko.v0.1.fasm-comrade.rar

-----
may all your PUSHes be POPed!





Ранг: 282.8 (наставник), 24thx
Активность: 0.260
Статус: Участник
win32.org.ru

Создано: 26 марта 2007 08:18
· Личное сообщение · #11

dosikus пишет:
Зеркало slil.ru/24133380

team-x.ru/guru-exe/Tutorials/Coding/iczelion%20tutorials%20-%20fasm.rar

-----
may all your PUSHes be POPed!





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

Создано: 26 марта 2007 08:53
· Личное сообщение · #12

Guru_eXe, как всегда выручаешь )
СПАСИБО!

-----
бессмысленные манипуляции не становятся более разумными если их повторять





Ранг: 282.8 (наставник), 24thx
Активность: 0.260
Статус: Участник
win32.org.ru

Создано: 26 марта 2007 11:05
· Личное сообщение · #13

flat assembler 1.64: Мануал программера (rus)
www.team-x.ru/guru-exe/Tutorials/Coding/fasm-programmers%20manual.rus.zip

-----
may all your PUSHes be POPed!




Ранг: 43.7 (посетитель), 2thx
Активность: 0.020
Статус: Участник

Создано: 07 апреля 2007 10:02
· Личное сообщение · #14

Вот еще один перевод мануала в hlp.

0dd8_07.04.2007_CRACKLAB.rU.tgz - FASM Manual.rar



Ранг: 43.7 (посетитель), 2thx
Активность: 0.020
Статус: Участник

Создано: 13 апреля 2007 19:31 · Поправил: dosikus
· Личное сообщение · #15

Уважаемый Guru_eXe , очень нужна ваша помощь.

Пытаюсь перенести исходник из книги Крупника "Изучаем ассемблер" на фасм.

.386
.model flat,stdcall
option casemap:none

include \myasm\include\windows.inc
include \myasm\include\kernel32.inc
include \myasm\include\kernel32.lib

.data
stdout dd ?
msg db"Не могу молчать!", 0dh , 0ah
cWritten dd ?

. code
start:
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov stdout, eax
invoke WriteConsoleA,stdout,ADDR msg,sizeof msg,ADDR cWritten,NULL
invoke ExiteProcess,0
end start


Переделываю в фасм
format PE console 4.0
entry start

include 'win32a.inc'

section '.data' data readable writeable
stdout dd ?
msg db "Не могу молчать",0x0a,0x0d
cWritten dd ?

section '.code' code readable executable

start:
invoke GetStdHandle,STD_OUTPUT_HANDLE
mov [stdout],eax
invoke WriteConsole,[stdout],msg,sizeof.msg,cWritten,0
invoke ExitProcess,0


section '.idata' import data readable writeable

library kernel32,'KERNEL32.DLL',
user32,'USER32.DLL'

include 'api\kernel32.inc'
include 'api\user32.inc'


И получаю пинок.

invoke WriteConsole,[stdout],msg,sizeof.msg,cWritten,0
C:\Program Files\PROGRAMM\RADASM\Fasm\include/macro/proc32.inc [17] invoke [3]:
pushd arg
error: undefined symbol.

Make error(s) occured.
Total compile time 631 ms


Что здесь не так и можно поподробней о addr и sizeof где и как их применять?




Ранг: 282.8 (наставник), 24thx
Активность: 0.260
Статус: Участник
win32.org.ru

Создано: 14 апреля 2007 08:36
· Личное сообщение · #16

размер вроде так определяется: $ - msg, но йа могу ошибаться


format PE console 4.0
entry start

include '%fasminc%\win32ax.inc'

section '.data' data readable writeable
stdout dd ?
msg db "i like to movit, movit",0dh , 0ah
cWritten dd ?

section '.code' code data readable writeable executable

start:
invoke GetStdHandle,STD_OUTPUT_HANDLE
mov [stdout],eax
invoke WriteConsoleA,[stdout],msg,$ - msg,cWritten,0
invoke ExitProcess,0


section '.idata' import data readable

library kernel32,'KERNEL32.DLL',
user32,'USER32.DLL'

import_kernel32
import_user32


-----
may all your PUSHes be POPed!




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

Создано: 14 апреля 2007 09:53
· Личное сообщение · #17

Guru_eXe
Позволь поправить :

msg db "i like to movit, movit",0dh , 0ah
mlen = $-msg
...
invoke WriteConsoleA,[stdout],msg,mlen,cWritten,0





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

Создано: 14 апреля 2007 10:51
· Личное сообщение · #18

Guru_eXe пишет:
invoke WriteConsoleA,[stdout],msg,$ - msg,cWritten,0

$- это текущий адресс,тут не катит.
правильно будет как в последнем сообщении,или можно:
invoke WriteConsoleA,[stdout],msg,cWritten - msg,cWritten,0

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





Ранг: 282.8 (наставник), 24thx
Активность: 0.260
Статус: Участник
win32.org.ru

Создано: 14 апреля 2007 10:55
· Личное сообщение · #19

btCode пишет:
Позволь поправить

дада, точно... хотя йа думал это сконает в моем случае, ну раз ТОР грит, что не будет, значет не будет.

-----
may all your PUSHes be POPed!




Ранг: 43.7 (посетитель), 2thx
Активность: 0.020
Статус: Участник

Создано: 16 апреля 2007 18:27
· Личное сообщение · #20

Спасибо , дошло наконец.Скомпилировалось...
А как же sizeof ? Или он только со структурами работает?



Ранг: 5.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 ноября 2013 05:52
· Личное сообщение · #21

Что-то у меня ничего не получается,может что-то не так настроил,не знаю.. masm32 установленна в корень диска С: RadAsm тоже туда распаковал,или надо было RadAsm в masm32 запихивать?)
переменные среды выставил для masm,а для RadAsm надо их выставлять?
Короче из командной строки ml /c file.asm создаёт файл с расширением .obj ,а далее link file.obj ошибки.
В radasm выдаёт вот такое:
Code:
  1. C:\masm32\bin\RC.EXE /"rsrc.rc"
  2. Microsoft (R) Windows (R) Resource Compiler, Version 5.00.1823.1 - Build 1823
  3.  
  4. Copyright (C) Microsoft Corp. 1985-1998. All rights reserved.
  5.  
  6.  
  7. Using codepage 1251 as default
  8. Creating rsrc.RES
  9.  
  10. RC: RCPP -CP 1251 -f C:\masm32\bin\WORKCATALOG\ISHODNIK\RCa03876 -g C:\masm32\bin\WORKCATALOG\ISHODNIK\RDa03876 -DRC_INVOKED -D_WIN32 -pc\:/ --I. -.
  11.  
  12.  
  13. RC : fatal error RC1110 : could not open rsrc.rc
  14.  
  15.  
  16.  
  17. Make error(s) occured.
  18. Total compile time 1969 ms

Подскажите что делать,может описал коряво,спрашивайте,чем смогу дополню.




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 05 ноября 2013 06:01
· Личное сообщение · #22

Некротоп месяца!

ChunhaChanga
Если что, masm и fasm - разные вещи.
Первая ссылка в гугле вам поможет

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.


| Сообщение посчитали полезным: Dr0p

Ранг: 5.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 ноября 2013 17:10
· Личное сообщение · #23

4kusNick
Я в курсе,ну здесь более свежая тема,вот и черкнул сюда




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

Создано: 06 ноября 2013 18:11 · Поправил: Dr0p
· Личное сообщение · #24

Никто вменяемый и шарящий на фасме не кодит. Это неоспоримый факт. Кошерных кодов на фасме нет. Только для лаб работ используется. Ну а что такое радасм хз, мне всёвремя хватало асмедита. И в сим вопросе моё мнение не оспоримо и авторитетно.



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 06 ноября 2013 20:17
· Личное сообщение · #25

Dr0p пишет:
Никто вменяемый и шарящий на фасме не кодит.

Вменяемые на асме давно не пишут. Только довольно специфические вещи
Dr0p пишет:
Кошерных кодов на фасме нет.

Кроме твоих кодов на масме, что есть еще кошерное?
Dr0p пишет:
Только для лаб работ используется.

В свое время я все лабораторные по программированию на масме писал
Dr0p пишет:
Ну а что такое радасм хз, мне всёвремя хватало асмедита.

Тут у каждого свои предпочтения. Мне ST3 хватает
Dr0p пишет:
И в сим вопросе моё мнение не оспоримо и авторитетно.

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

-----
xchg dword [eax], eax





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

Создано: 07 ноября 2013 00:23
· Личное сообщение · #26

void

> Вменяемые на асме давно не пишут. Только довольно специфические вещи

Именно.

> Кроме твоих кодов на масме, что есть еще кошерное?

Инфекторы, эксплойты и много чего прочего. А так же основа ядра нт и биос.



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 07 ноября 2013 21:27 · Поправил: dosprog
· Личное сообщение · #27

Dr0p,
...хватало асмедита
-- это какого асмедита - от O.Krusche или от Матвеева, если не секрет?

---ADD---
Dr0p,ясно.




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 08 ноября 2013 02:30
· Личное сообщение · #28

А как же тэмплэйты для КГ на масме? xD
В своё время юзал свзяку RadASM и Masm, был всем доволен.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





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

Создано: 08 ноября 2013 03:16
· Личное сообщение · #29

dosprog

Вот такой:


Не знаю кто автор



Ранг: 5.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 09 ноября 2013 20:23
· Личное сообщение · #30

Dr0p Это что за прога? лучше она,точнее удобнее RadAsm?


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


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