flat assembler
Message board for the users of flat assembler.

Index > Windows > Total n00b needs help and advice, please

Author
Thread Post new topic Reply to topic
Evlesoa



Joined: 06 Jan 2015
Posts: 10
Evlesoa
Hi.

I'm a COMPLETE beginner. Ok, not that much--I used to mess with C++ in college and played around with Ruby for a while and figured: I want to take my memory editing skills higher and try to do something with programs, like memory manipulation for messing with programs (or perhaps get into learning DLL injection some day). One of my good friends a long time told me ASM is best to start with. I used to play with Cheat Engine a long time ago, too, so I'm familiar with whatever that offers.

Right now I use a bunch of tutorials to learn FASM, one of them being here: http://www.wiremod.com/forum/cpu-tutorials/271-assembly-programming-tutorial.html
and
http://oopweb.com/Assembly/Documents/ArtOfAssembly/VolumeFrames.html
and some others that I won't list unless asked for.

Now the problem I got is that stuff like "alloc name_name,number;" doesn't work. Can someone please explain to my why that is? I understand each compiler has a different syntax for writing things out. In Cheat Engine, for example, it's auto assembler does have this "alloc" (function? thing?), but for FASM? I don't know.

Please help! I hope I don't come off too retarded with this--I don't know where to start, so I will do what I can to learn as best as I can since this is what I've always wanted to do.
Post 06 Jan 2015, 15:05
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17664
Location: In your JS exploiting you and your system
revolution
To allocate storage in fasm you can use rb, db, rw, dw, rd, dd, rq and/or dq.

Have you read the fasm.pdf yet?

Have a look at some of the example .asm files in the zip download.
Post 06 Jan 2015, 15:13
View user's profile Send private message Visit poster's website Reply with quote
Evlesoa



Joined: 06 Jan 2015
Posts: 10
Evlesoa
Ah, I see.

I'll take a look at the PDF, and thanks for the answer/help!
Post 06 Jan 2015, 15:30
View user's profile Send private message Reply with quote
typedef



Joined: 25 Jul 2010
Posts: 2913
Location: 0x77760000
typedef
Maybe start with the Intel syntax first. Then pick your favorite assembler.
Post 06 Jan 2015, 23:19
View user's profile Send private message Reply with quote
Evlesoa



Joined: 06 Jan 2015
Posts: 10
Evlesoa
If that's the case, how do I start with it? I currently have SASM installed. Do I need to switch to WinASM? And FASM's compiler doesn't work for Intel syntax, right?

Please explain.
Post 08 Jan 2015, 12:20
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3502
Location: Bulgaria
JohnFound
@Evlesoa: The meaning of the typedef post is somehow not clear, so simply ignore it. Smile

FASM syntax, is Intel syntax.

The IDE is not so important. You can use whatever you like. FASMW is very simple and this way very useful for beginners. Fresh IDE has advanced features and is more useful for bigger/complex projects. But you can start with it, if you plan to work on such projects.

Universal assembly IDEs like SASM, WinASM, RadAsm, etc. IMHO are not so useful for FASM, but if you like them, use them.

You can use even notepad or any other text editor and compile from the console/bat/bash/make, etc.

But the main advice is the revolutions advice: Read the FASM manual (fasm.pdf). Several times.

Read, compile and test the examples from the FASM distribution. Write something by yourself. If you have problems - ask in the forum.
Post 08 Jan 2015, 13:11
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Evlesoa



Joined: 06 Jan 2015
Posts: 10
Evlesoa
Thanks, JohnFound.

I thought it is Intel syntax (I googled it!) and got a little confused with typedef's post.

You say that's universal assembly IDEs aren't useful. Why is that? Aren't they supposed to make coding easier?

And yes, I'll read the FASM manual several times. Thank you for the info.
Post 08 Jan 2015, 13:36
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17664
Location: In your JS exploiting you and your system
revolution
Evlesoa wrote:
You say that's universal assembly IDEs aren't useful. Why is that? Aren't they supposed to make coding easier?
I guess it depends upon what you want to get out of them. In many cases they can help. But in many other cases they makes things more cumbersome. For me personally, I don't use any IDE, just an editor and the command line assembler. I find dedicated tools to be more powerful and better suited to the single task they concentrate on. IDEs try to be everything, and often do each thing at 75% of what a set of dedicated tools can do IMO.
Post 08 Jan 2015, 13:44
View user's profile Send private message Visit poster's website Reply with quote
Evlesoa



Joined: 06 Jan 2015
Posts: 10
Evlesoa
I see.

What about knowing what values are being stored where. What happens if you lose track of them? Won't it help to have some sort of interface or something to remind you? Just wondering.


Last edited by Evlesoa on 08 Jan 2015, 14:11; edited 2 times in total
Post 08 Jan 2015, 13:54
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17664
Location: In your JS exploiting you and your system
revolution
Evlesoa wrote:
What about knowing what values are being stored where. What happens if you lose track of them? Won't it help to have some sort of interface or something to remind you? Just wondering.
Yes, if that works for you then choosing a good IDE that suits you could be handy.
Post 08 Jan 2015, 14:04
View user's profile Send private message Visit poster's website Reply with quote
Evlesoa



Joined: 06 Jan 2015
Posts: 10
Evlesoa
Then how come you don't use an IDE? Doesn't it make things easier for you? Or no? I'll have to play with it once I read some tutorials. I have a couple months before school starts, so I hope I can learn to do something in that time.
Post 08 Jan 2015, 14:12
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17664
Location: In your JS exploiting you and your system
revolution
Evlesoa wrote:
Then how come you don't use an IDE? Doesn't it make things easier for you? Or no?
I need the full power of each tool. And that works best for me when they are separate. But everyone has different needs. What I do doesn't work for everyone. You will have to find your own way that works for you. Try out a few IDEs, a few assemblers, a few editors, etc. Some will be good, some will be crap. Ignore the crap ones and use the good ones.
Post 08 Jan 2015, 14:17
View user's profile Send private message Visit poster's website Reply with quote
Evlesoa



Joined: 06 Jan 2015
Posts: 10
Evlesoa
Do you have any suggestions for what you consider to be a good IDE or a good compiler by any chance?
Post 08 Jan 2015, 14:48
View user's profile Send private message Reply with quote
AsmGuru62



Joined: 28 Jan 2004
Posts: 1419
Location: Toronto, Canada
AsmGuru62
You can try my FASMWriter:
http://board.flatassembler.net/topic.php?t=13080

It got some good features, like tooltips and auto-complete and find definitions of elements in the project, but also some
bad points (for some), like selection is unusual (suited for asm code, but not for usual text) or the poor Undo implementation and no horizontal scrolling.

I use it to quickly write large applications.
Please read the manual - it explains some design decisions I made and also gives
some tips on using it.
Post 08 Jan 2015, 16:25
View user's profile Send private message Send e-mail Reply with quote
Evlesoa



Joined: 06 Jan 2015
Posts: 10
Evlesoa
AsmGuru62,

Aye, will check it out. Thanks!!
Post 09 Jan 2015, 04:43
View user's profile Send private message Reply with quote
Evlesoa



Joined: 06 Jan 2015
Posts: 10
Evlesoa
Uhm, I got another question. None of the examples in FASM compile because they say illegal instruction or file not found ("win32a.inc" for example). Why is this? I feel like the PDF doesn't address a lot of stuff for beginners (read about 40 pages of it so far).
Post 09 Jan 2015, 08:45
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17664
Location: In your JS exploiting you and your system
revolution
Set the environment variable INCLUDE.
Code:
set include=c:\fasm\include    
Post 09 Jan 2015, 08:51
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17664
Location: In your JS exploiting you and your system
revolution
Section 1.1.1 (System requirements) on page 3:
fasm.pdf wrote:
The example source provided with this version require you have environment variable INCLUDE set to the path of the include directory, which is the part of flat assembler package.
Post 09 Jan 2015, 08:52
View user's profile Send private message Visit poster's website Reply with quote
Evlesoa



Joined: 06 Jan 2015
Posts: 10
Evlesoa
Ah, that works. Thanks Very Happy

Edit - Yes, I saw that, but I wasn't aware that it was referring to something that "needed" to be done because I assumed it was already done for me. A noob's mistake. Never thought I'd have to open the config file after moving the folder around.
Post 09 Jan 2015, 08:53
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.