Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Low level assembly

Options
  • 05-07-2006 2:57am
    #1
    Closed Accounts Posts: 2,349 ✭✭✭


    I'm interested in doing some low-level assembly in windows, but all I can seem to find is high-level assembly examples. I'd like to get as raw as possible. E.g.
    [COLOR=#000000]ipdev:~/tmp/bfd$ cat > eggcode.s
    
    	.text
    	        .align 4
    	.globl main
    	        .type    main,@function
    	main:
    	        nop
    	        nop
    	        nop
    	        nop                  
    	        nop
    	        nop
    	        pushl %ebp
    	        movl %esp,%ebp
    	        jmp string
    	callit: call 0x1d8-0x1214-0x10
    	        addl $4,%esp
    	        movl %ebp,%esp
    	        popl %ebp
    	        ret
    	string:
    	        call callit
    	        .string "whore\n"
    	
    	ipdev:~/tmp/bfd$[/COLOR]
    

    That's the kind of code you can work with with in an assembler under linux, but looking at Iczelion's win32 asm tutorials etc it seems so watered down. Can anyone point me in the right direction?


Comments

  • Registered Users Posts: 304 ✭✭PhantomBeaker


    When we did assembly in comp-sci in ucd, we used masm for assembling this stuff.

    You might be able to pick it up somewhere... but it's a fairly old suite of programs. But it does exactly what you want to look into.

    In linux, have a look at nasm - that's what all the emulators want when they're being compiled.

    Hope that helps.


  • Registered Users Posts: 14,339 ✭✭✭✭jimmycrackcorm


    You can embed raw assembly in a Borland delphi application by using the ASM keyword. Makes it convenient to have surrounding windows structures yet get down to the dirty stuff easily.


  • Registered Users Posts: 2,150 ✭✭✭dazberry


    You can embed raw assembly in a Borland delphi application by using the ASM keyword.

    Back in the day I used to use Turbo Pascal for the same thing. The Delphi.Language.Basm newsgroup is still an interesting read thou'.

    grasshopa wrote:
    That's the kind of code you can work with with in an assembler under linux, but looking at Iczelion's win32 asm tutorials etc it seems so watered down. Can anyone point me in the right direction?

    Take a look here http://www.grc.com/smgassembly.htm, and there are some links on the bottom that you might find useful :)

    D.


  • Closed Accounts Posts: 71 ✭✭Mach


    Hey i found this nice tutorial the other day

    http://www.skynet.ie/~darkstar/assembler/

    Hope it helps


  • Registered Users Posts: 5,238 ✭✭✭humbert


    I've read Iczelion's ones and they're quite good, depending on what you're up too, the actual assembly isn't difficult it's understanding the environment that can be a bitch, whether it's writing vxds or shell code or what ever else people use assembly for...


  • Advertisement
  • Closed Accounts Posts: 244 ✭✭osmethod


    A good assembler for windows is at:

    http://www.masm32.com/

    If you want to get really raw consider downloading Smart Boot Manager Source from:

    http://btmgr.sourceforge.net/3.7/

    I believe both linux and dos versions are there.

    Ralph Browns Interrupts List is very informative at:

    http://www.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/WWW/files.html

    Also check out simtel.net for loads of tools. While your there look out for ASMENV19.ZIP - a nice borlan 3 style interface for assemblers and linkers.

    osmethod


Advertisement