Home
Tutorials
Code Snippets
Code Samples
Downloads
The Forum
Links

The Blog
Our Projects
Guest Book
About
Contact

ShOuT b0X:
::Add RageStorm to Favorites!::

The Blog | Our Projects | Guest Book | About | Contact

 

View thread "distorm and Yasm"

Author
Thread Post Reply | New Thread
Views: 3240 | Replies: 3 | Posting Date: 2007-04-06 07:47:08
Thread Starter:
anon
Hi Arkon,

Do you know if the assembly generated by distorm
can be reassembled using Yasm?

Thx,
anon


arkon
Posted at:
2007-04-06 08:51:38
Re: distorm and Yasm

Hello

I assume there are some extreme cases where they won't work well together, but with most stuff it seems to work just fine.

For example something basic that doesn't work:
diStorm decodes output in SEG:[xxx] way:
MOV FS:[EAX], DWORD 0

YASM must be feeded with:
MOV [FS:EAX], DWORD 0

Another example with FPU:
diStorm: FADD ST, ST(1)
YASM: FADD ST0, ST1

Anyways, when diStorm and YASM will be merged in some way, Peter and I will do our best to make it a perfect match.

These issues can be fixed easily from diStorm, I don't really know the YASM code. If you're willing to help to find these differences I'm willing to apply the changed immediately.

However, I hope it won't break compatibility with current projects that use diStorm already.

FYI: What I did for testing was to assemble some lines with YASM and then disassemble them with diStorm, and then re-assemble them in YASM and examine the results.

Thanks
anon
Posted at:
2007-04-08 05:59:03
Re: distorm and Yasm

Thanks 4 your replay.

SInce it seems my best option right now
I will probably try to use distorm with Yasm.
I will post when I find problems. When
Will you fix the issues you metioned?

btw,
Will dislib support pe file writing?
http://dkbza.org/pefile.html seems more
complete then dislib.
Any reason to use dislib instead?

Thanks,
anon.
arkon
Posted at:
2007-04-08 06:04:11
Re: distorm and Yasm

In a couple of months after I notify on the page what the changes are going to be. So I want to gather them all and do it in on shot.

Nope, diSlib is for reading only.
I never actually took a look at pefile library. So I can't tell the difference.
I wrote diSlib because I wanted my own library that I know its code and can tweak quickly and add stuff. I wanted something that gives you all imports/exports/relocations in a jiffy without any problem. And that's what I did. The other libraries seemed to be complex and give you tones of unused data. I needed something simple and strict. But again, didn't take a look at them. You should consider them on your own
Post Reply | New Thread

Replying to post "distorm and Yasm"

Name:
Topic:
e-mail:
ICQ:
::Top 5 Tutorials::
Embedded Python[57443]
Keyboard Hook[55430]
2D Rotated Rectangles Collision Detection[49159]
UDP[41011]
HTTP Proxy[27794]

::Top 5 Samples::
2D ColDet Rotated Rectangles[8461]
PS2 Mouse Driver[5159]
Reading FAT12[4146]
Wave Format Player[3981]
CodeGuru[3791]

::Link to RageStorm::

::Affiliates::
AngelCode
YOV408 Technologies
FireStorm


All rights reserved to RageStorm © 2009