flat assembler
Message board for the users of flat assembler.

Index > Projects and Ideas > FASM Disassembler

Author
Thread Post new topic Reply to topic
Pirata Derek



Joined: 31 Oct 2008
Posts: 259
Location: Italy
Pirata Derek 23 Jun 2009, 17:18
I'm finding a FASM disassembler that can create a output source file in FASM language.
Does it exist? I think no....

I need it because i lost many programs sources (*.asm) by a damage in my hard-disk data.
With this Disassembler i will disassemble my "orphan" programs and create their source files for continue and programming them.

This disassembler could help FASM programmer to analyze and correct faster others program
(open source, assembled, ecc...)

Is it a good idea Question


Last edited by Pirata Derek on 23 Jun 2009, 17:23; edited 1 time in total
Post 23 Jun 2009, 17:18
View user's profile Send private message Send e-mail Reply with quote
Borsuc



Joined: 29 Dec 2005
Posts: 2465
Location: Bucharest, Romania
Borsuc 23 Jun 2009, 17:20
Yes but most of FASM's features, like macros or assembly-time directives, will be lost. Why not make it generic asm then?
Post 23 Jun 2009, 17:20
View user's profile Send private message Reply with quote
Pirata Derek



Joined: 31 Oct 2008
Posts: 259
Location: Italy
Pirata Derek 23 Jun 2009, 17:25
Yes
Possible a disassembler with a debugger like IDA
(eh, IDA is really advanced)
Post 23 Jun 2009, 17:25
View user's profile Send private message Send e-mail Reply with quote
asmcoder



Joined: 02 Jun 2008
Posts: 784
asmcoder 23 Jun 2009, 17:32
[content deleted]


Last edited by asmcoder on 14 Aug 2009, 14:50; edited 1 time in total
Post 23 Jun 2009, 17:32
View user's profile Send private message Reply with quote
Pirata Derek



Joined: 31 Oct 2008
Posts: 259
Location: Italy
Pirata Derek 24 Jun 2009, 08:38
Sorry asmcoder but i've started this thread because a FASM disassembler could be a good idea, also to resolve the problems you wrote upon.
Try to build an IAT of disassembled programs that has more than 100 or 200 imported function...
Maybe a FASM disassembler can help you to simplify this operation Smile
Post 24 Jun 2009, 08:38
View user's profile Send private message Send e-mail Reply with quote
pete



Joined: 20 Apr 2009
Posts: 110
pete 24 Jun 2009, 11:29
Probably a plugin for OllyDbg is enough; a plugin that shows you the IAT.
Post 24 Jun 2009, 11:29
View user's profile Send private message Reply with quote
hopcode



Joined: 04 Mar 2008
Posts: 563
Location: Germany
hopcode 24 Jun 2009, 13:05
Hallo Pirata,
You could use Olly (also dll). it is quite qood.
I have used always the old Borg disassembler, very good disassembler and easy,
with source.
Pirata Derek wrote:
....a FASM disassembler could be a good idea...

Yes I agree.
I am building it. Cool It will output Fasm re-assemblable code (without macro,naturally) .
...It started from a simple LDE a few days ago.
Then the magic world of opcodes has captured me...
I'll have it ready in oktober/november, considering sommer ferien.

I am using not a so standard technik to analyse opcode, by reorganizing and accessing intel data-tables as I do say.

1-opcode byte+MOD+SIB almost ready (without tests)
The challenge is to have it under the 16kb for base disassembling,i.e.
without PE/section/header parsing etc.

Regards,
hopcode


BTW.
I'll ask it here. Have you already a design idea of your NAXOS ? If yes,
where on the web ?
Post 24 Jun 2009, 13:05
View user's profile Send private message Visit poster's website Reply with quote
Pirata Derek



Joined: 31 Oct 2008
Posts: 259
Location: Italy
Pirata Derek 25 Jun 2009, 07:30
You are building it. Very Happy
Making an opcodes decoding procedure is an HARD STUFF!!!
Also mode difficult to integrtate all jumps, calls and procs references and variables... Shocked
i could help or support your project if you want.

i have an IDEA:
Why don't FASM disassembler will use DLL library for fast updating and bug correction?

For Example:
1) FASM Disassembler.exe (main program)
2) Decode.dll (opcode decoding library)
3) Refers.dll (internal references and variables library)
4) Graphics.dll (All grafical freatures like dialogs and graphs...)
5) Debugger.dll (A debugger support library - OPTIONAL)
6) Tools.dll (some utility library like hex calculator etc..)

What do you think about?

(I stopped my NAXOS operative system for the Kernel-mode working project and now is FINISHED!)
Post 25 Jun 2009, 07:30
View user's profile Send private message Send e-mail Reply with quote
Pirata Derek



Joined: 31 Oct 2008
Posts: 259
Location: Italy
Pirata Derek 26 Jun 2009, 12:04
Should we need the Tomasz G.'s help to interface the disassembled FASM source output for FASM assembler?

So the source files can be re-assembled with FASM without any modify to file
Post 26 Jun 2009, 12:04
View user's profile Send private message Send e-mail Reply with quote
hopcode



Joined: 04 Mar 2008
Posts: 563
Location: Germany
hopcode 26 Jun 2009, 15:09
Pirata Derek wrote:
opcodes decoding procedure is an HARD STUFF!!!


I think that at the beginning "hard" is to extrapolate/organize contextual datas
from intel-docs. 64bit docs are the resumé of different epochs/implementations
/layouts, ranging from 8086 to 64bit age.

Pirata Derek wrote:
difficult to integrtate all jumps, calls and procs references and variables

Some months ago i have built PE related macros capable to read
DLL/EXE without using any help DLL, for example "imagehelp.dll").

At the moment i am concentrating on the 32bit core of the disasm engine.
See here, how the program disassemble itself.

I am already sure that the core will run in a DLL, or as an executable PE32.
Quote:
3) Refers.dll (internal references and variables library)
if you mean referencing Win/api/variale/constants etc.
Yes, but i cannot say whether packed in a DLL or not. Actually i use
fasm macroed .bin assembled file for structuring resource etc.I find it
very useful feature of fasm, the capability to compile simple .bin structured files.
Quote:
4) Graphics.dll (All grafical freatures like dialogs and graphs...)

It will go here, i.e in the Fasmlab. If you look at the screenshots,
you will note on the left the white window "Child3". it is for the Flowchart
of a program, with coloured flow-logic-symbols. But it requires a lot of time.
I cannot say how much.
Pirata Derek wrote:
6) Tools.dll (some utility library like hex calculator etc..)
Again, related to the Fasmlab, but i have not yet completed the plug-ins design.
After i would have published the source code of Fasmlab, capable of a valid plug-ins
system management, every asm-expert will download a copy of it without communicating
to the author that it is a good tool...
joking...
...you will be able to decide to contribute/or not with, for example, a plug-in.

Fasm has one and the same license for all the package. I like this way.
Like Fasm, Fasmlab will have one and the same license for all the package.
Plug-ins will have their separated license.
Quote:
i could help or support your project if you want.

I feel honored from your help proposal. i like this frankly way of speaking.
and your enthusiasm. I like "direct-to-the-core" persons, it is to say, people who
do (and speak) direct and fair, without false ceremonies.
At the moment i consider enthusiasm important at the 80% over all on this board,
and for all on this board. But design is a really important priority. Basically clumsy/kludged design forces people to abandon their project. I am concentrating on this to avoid that other persons miss/abandon their work for the reason of a basic wrong design.

In Konkret,
i will send you, if you give me permission, a running copy of the Fasmlab
in two weeks. I must correct something, write a README.TXT (there are some
laziness and imperfections yet in the AC6 beta). You will taste the difference, and decide if you like the concept. I hope it will be the right IDE for you.

Regards,
hopcode [mrk]
Post 26 Jun 2009, 15:09
View user's profile Send private message Visit poster's website Reply with quote
hopcode



Joined: 04 Mar 2008
Posts: 563
Location: Germany
hopcode 26 Jun 2009, 15:19
Pirata Derek wrote:
So the source files can be re-assembled with FASM without any modify to file

No need for it. I assure you from now that the output of di-fasm will be 100% Fasm compilable.
Pirata Derek wrote:
Should we need the Tomasz G.'s help to interface the disassembled FASM source output for FASM assembler?

On the contrary, I would help willingly Tomasz, if only i had the required skill (and if he really requires help from someone).
Na,ja, I am a baby yet.
But after having had a long opcoding... stage... Wink
Who knows ?

Regards,
hopcode
Post 26 Jun 2009, 15:19
View user's profile Send private message Visit poster's website Reply with quote
Pirata Derek



Joined: 31 Oct 2008
Posts: 259
Location: Italy
Pirata Derek 26 Jun 2009, 15:45
OK.
Then i wait for you
Fasm Lab with internal Disassembler and debugger..... cool! Very Happy
Post 26 Jun 2009, 15:45
View user's profile Send private message Send e-mail Reply with quote
Pirata Derek



Joined: 31 Oct 2008
Posts: 259
Location: Italy
Pirata Derek 07 Jul 2009, 11:52
I receved your message, hopcode.
I'm going to see your project (also testing it)

i'll send you my consideration about it

Wink
Post 07 Jul 2009, 11:52
View user's profile Send private message Send e-mail 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-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.