Jump to content
Ghost Recon.net Forums
Nemon

DXE Decompiler virtually complete

Recommended Posts

I've spent the last week or two doing nothing but working on a DXE decompiler and today i'm close to being able to decompile any of the DXE files with only minor issues.

The deal is this, i can't publish my app because it uses some GPLed code and as such i would need to distribute source with binary. I dont want to distribute source unless i'm happy people wont point and laugh while reading it. I dont think i can legaly distribute dxe reversed source files either but would like some feedback from the GRIN or someone in the know.

I cant even begin to describe how complicated decompilers are. I started the project thinking it would only take a couple of days but now realize just how mind bending and challenging decompilers really are, even for simple scripting languages.

Share this post


Link to post
Share on other sites

First of all a very nice job, and your dedication is really appreciated by all who visit here and other forums too.

As far as your question goes I am sure you will recieve a PM re your request.

Colin

Share this post


Link to post
Share on other sites

I've spent the last week or two doing nothing but working on a DXE decompiler and today i'm close to being able to decompile any of the DXE files with only minor issues.

Let me just start by saying that that is some of the best news I have heard since the bundle extracter.

The deal is this, i can't publish my app because it uses some GPLed code and as such i would need to distribute source with binary.

As for this I am pretty sure you dont have to actually distribute the code with it, but rather include a statement that you will provide the source on request for no charge other than what it will cost you to send it (probably nothing if you know how to work the internet...). Not sure if that makes you feel any better..... :rolleyes:

But seriously, I wouldnt worry about people pointing and laughing as much as about having people showing up on your doorstep to pray to your holy compiler or something.... :rofl:

If I were you I would go back through the code and take out any comments you might not want people reading (mine usually has a lot of profanity :wall: ), then go ahead and release it! :thumbsup: Oh wait, no that was just what I want you to do :whistle:

Share this post


Link to post
Share on other sites

There are only a couple of problems that i can identify atm.

Ternary operator, i dont know the syntax and it decompiles gookey but can be easily identified and corrected by hand so i'll probably leave that as it is.

Edited by Nemon

Share this post


Link to post
Share on other sites

I'll second what was already said. Accomplishing creating a decompiler for something is a big feat and as I don't see anyone else here with the ability or selfsacrifice to create it, so I wouldn't think twice about someone scoffing or laughing at your work. If it works, none of us who'd use it would give a flip.

Good job, looking forward to seeing more of your tool work in the future.

Share this post


Link to post
Share on other sites

Outstanding News, I'll echo what DM said, and lean toward the community expressing appreciation rather than pointing fingers.

Share this post


Link to post
Share on other sites

Point and laugh...doubt that would happen bro! Like the man said if it works and does the job who cares about what the code looks like. Nice work BTW and a ton of GGs

Share this post


Link to post
Share on other sites

I'm with DM on this one. I can't imagine anyone surviving for more than about 30 seconds if they had the gaul to point/laugh at something that works when they have not produced anything. The whole point of the GPL thing is to get your code out so that rather than point/laugh people can fix/improve so that we all benefit in the end.

Great job. I'm looking forward to another tool to bring us closer to "real" modability! :notworthy:

Share this post


Link to post
Share on other sites

so does this mean we can work on thirdperson again? I cant wait! :P

As soon as Nemon released the DXE Decompiler, yep. But then again, we don't have anything more to do than changing a value inside a DXE to make Mitchell's head visible, I think. Well we'll have a look at this once the time & tool has come! :)

Nemon, your dedication to this community is highly appreciated! Keep up the great work! :grin1:

Edited by Vth_F_Smith

Share this post


Link to post
Share on other sites

GRAW will compile on the fly.

Decompiling uses some techniques used in compilers, but i really dont want to write a compiler aswell.....

All i've done is applied techniques pionered by others. I've had to do alot of research, i spent the most part of the last 2 weeks reading a dissertation and i just aint that smart. If anyone's interested, i used alot of work done by Cristina Cifuentes (the woman is a god damn genius), Lutz Roeder's .NET decompiler and a few bits of info on Java decompilers. Most of my code for the CFG(Control Flow Graph) analysis is based on GPLed source by Cristina Cifuentes thesis.

One thing that makes this especially interesting is that i dont know the complete language syntax. I have to guess what opcodes are in source, which can be quite fun.

Edited by Nemon

Share this post


Link to post
Share on other sites

First working script mod.

nem00013fs.th.png

Yea i know its not exactly the best mod ever but it is working on a 1.5K line script which required only 1 line of manual editing to work.

Edited by Nemon

Share this post


Link to post
Share on other sites

First working script mod.

Yea i know its not exactly the best mod ever but it is working on a 1.5K line script which required only 1 line of manual editing to work.

very nice...you'v shown that it is possible to make changes and that is quite impressive by itself.

Edited by Scubaman3D

Share this post


Link to post
Share on other sites

I think i can pretty much decompile and mod any script in the game now. There are a few quirks that need manual fixing but its a 2min job.

Im gonna play with menu code now.

Share this post


Link to post
Share on other sites

Dont get too excited, it's just the same editor already available but enabled via the menu.

nem00033iv.th.jpg

So i think i've got a handle on how the scripts interact with the UI now. Neat system too.

Edited by Nemon

Share this post


Link to post
Share on other sites

Dont get too excited, it's just the same editor already available but enabled via the menu.

nem00033iv.th.jpg

So i think i've got a handle on how the scripts interact with the UI now. Neat system too.

That's veeeeery nice! :grin1:

During your search did you maybe stumble over the file that tells the game which event triggers which sound - (I have a few plans with that one) or how to create buttons inside the ingame command menue (I also have some plans with that)? :)

Are you also able to decompile DSF files? :)

Edited by Vth_F_Smith

Share this post


Link to post
Share on other sites

Dont get too excited, it's just the same editor already available but enabled via the menu.

nem00033iv.th.jpg

So i think i've got a handle on how the scripts interact with the UI now. Neat system too.

Dude, thats not cool, your taunting us! :rofl::rofl:

Nice work though man.

Share this post


Link to post
Share on other sites

nem00079jg.th.jpg

Stuck on a GUI.

Are you also able to decompile DSF files?

DSF files are source files.

Edited by Nemon

Share this post


Link to post
Share on other sites

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

×