Jump to content
Tuts 4 You
Sign in to follow this  
SMP3

UnivDisasm an Open Source disassembler for x86

Recommended Posts

SMP3

Hi guys,


 


I'm happy to announce the release of my new disassembler called UnivDisasm.


It support both x86 and x86-64 ,Intel and AMD.


It support mostly all instructions  found in Intel and AMD doc,including:


FPU,MMX,SSE,SSE2,SSE3,SSSE3,SSE4.1,SSE4.2,SSE5,3DNOW,AVX,AVX2 ,FMA,FMA4.

*AES, MPX, F16C, TSX, VME, BMI, BMI2 …

*AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512ER, AVX512PF, AVX512VBMI, AVX512IFMA.

 

-REX,DREX,VEX,EVEX,XOP encoding support.

-Intel enhancement syntax: Masking, Zeroing, Rounding, Broadcasting.


-Support for VSIB memory addressing.

-Support Compressed displacement called disp8*N.

 


-Customized: UnivDisasm has an open architecture allowing for easy to extend for others syntax. You can have your own assembler syntax with less code writing!

-And many others features that i'm not going to talk about.

 

I hope that you may give it a try and let me know about how the user experience is.

 

The door is open to participate.

 


Edited by SMP3 (see edit history)
  • Like 4

Share this post


Link to post
kao

From the first glance, you're using stuff I haven't even heard about, like "record helper for" :)  Which version of Delphi is required to compile that? 

Share this post


Link to post
SMP3

From the first glance, you're using stuff I haven't even heard about, like "record helper for" :)  Which version of Delphi is required to compile that? 

Record helper are a powerful enhancement for pascal language .It let you use/define functions inside record.

I think that where introduced with Delphi 2010.

Because the uses of Generics ,you may need XE3 to compile without errors.

Share this post


Link to post
Dragon Palace

do you have snapshot??


Share this post


Link to post
SMP3

do you have snapshot??

Right now, the only way to get the source is from GitHub. You may want to download it as a zip. Just locate "Download ZIP" button in the main page. 

Share this post


Link to post
SMP3

Just added a sample GUI for UnivDisasm:


GUI.PNG


Share this post


Link to post
Insid3Code

Good job!


Tested (compiled with Delphi XE8)


Share this post


Link to post
snoopy

Great job SMP3,

I am interested in disassemblers aswell.

What I am wondering is the following.

Let's say I have an .exe to be disassembled and I have an Virtual Listview which will be filled with the disassembled instructions.

First question which occurs is how to determine the ItemCount for the virtual listview. I could disassemble the entire file and store all addresses inside an array.
Based on the amount of items written inside the array I can set the ItemCount, but I am wondering if this is the best way to go.

 

 

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×
×
  • Create New...