Bytecode MS Decompiler

Users who are viewing this thread

Also, ripping off - you can code anything someone else has done before, everyone is using the same ops, usually the idea of the feature itself is the interesting part, everything else is just coding it.

If it is like you say, why would you need a decompiler? Just use the operations and do it. May be it is not that easy because there is more to it. It may be about the time spend on testing, working it out and having the idea of how it could be accomplished with the operations we all use. It is just not that simple. We all have the scripts to move cannons with horses, don't we? No problem at all, right? I mean, doesn't seem to be a problem at all if I take your word for it and all that matters is the idea.

 
Jerkuh said:
chadz said:
This discussion is nice (*cough*), but totally missing the point. It's not as if it is up to you to decide if it should get released or not. When you started modding for M&B or warband, you should have informed yourself if the code is reversible or not - if that matters to you.
I could also copy a armor of a random mod and to use that as example to create an exact copy of it.
That is the same as decompiling a mod.

No, not even close.  Mod mesh/texture/sound resources are original works of art.

The module system is the source code to a Python program to output those plain text files that people are concerned about (read: it is, in itself, a work of art).  In order to use the module system, this code has to be altered.  Since no license extends any rights to mod makers, TaleWorlds is the original author of every mod script ever written for Mount&Blade.  One could even argue that by not opening your source, you are exercising a right that you never had in the first place - which is adverse to TW's copyright claim.

So, now the question is:  Who may distribute a decompiler?  I would say only TaleWorlds.
 
Ritter Dummbatz said:
Also, ripping off - you can code anything someone else has done before, everyone is using the same ops, usually the idea of the feature itself is the interesting part, everything else is just coding it.

If it is like you say, why would you need a decompiler?
Read again, I don't need a decompiler, I'm perfectly capable of coding whatever I need myself, and I usually like doing stuff myself so I can have an eye on the efficiency and performance - and after all, it's fun, too.

I said it would be nice for new people to use it to learn the module system.
 
Well, I guess we all have our points and rarely agree with each other so I am glad to fully agree on this one:

and I usually like doing stuff myself so I can have an eye on the efficiency and performance - and after all, it's fun, too.

:razz:
 
Nobody needs a decompiler, but it would sure be a nice thing to have for people that aren't already capable of reverse engineering modules. Most of the stuff done in the M&B mods I've seen has been pretty clear-cut basic scripting. The more elaborate stuff seems to be mostly hackery, with little oddities in the module system or engine harnessed to enable new features - that's how the ball rolls in games that aren't open source.

A 'decompiler' would be useful, though - it could help raise the general skill level of modders to a whole new level, by allowing everybody to see each other's code. It would also mean that development on mods would be markedly faster, with novel features becoming standard very quickly. I don't really see the problem with it - if somebody takes a feature from your mod, fine, ask them to add you into the credits (though they should be asking you). If they pass that feature off as their own, the majority of the mod community will shun the pretender out of self interest (ie, they don't want their stuff to be stolen).

For the few that are capable of reversing already, they've doubtlessly far surpassed python in a mount&blade context and therefore the general skill level of most of the modders here - so they don't really need any information they gain from reversing mods. For the rest, they might find the information useful, but without the tools they can't get that information.

There's no money involved in M&B mods (apart from donations and server costs), so there's really no loss to anybody if an algorithm does enter the realm of 'public knowledge'. If everybody has the tools, everybody will know who invented what first, and will be able to allocate their hero worship appropriately.

No doubt that most developers are pretty indifferent - they've probably managed to implement most of the stuff that's out there that they want in their mods (because most of it is fairly open anyway) and they needn't worry about 'losing customers', because most players will play multiple mods anyway.

I guess that some might be worried about 'losing time' - that if they invent a feature, then somebody else implements it and they get more users/credit/whatever, that that'll somehow mean that all their effort was wasted. And others might believe that the lesser skilled modders don't 'deserve' to see their work because they've not spent as much time learning the system, or don't have as much programming ability. There's absolutely nothing wrong with entrepreneurship, but in the end, you're modding a game - everything you make is, for all intents and purposes, owned by Taleworlds anyway - you shouldn't be modding if you're not willing to help develop the game. We've all seen Taleworlds implement stuff from popular mods, which is great for a developer who can then say 'look, Taleworlds used my idea!' or 'Mod X really liked the way I did this, so they implemented it in their mod' which is a lot better than 'I'm the only person in the M&B community to figure out how to do X and I'm not telling anybody else, so only my mod can do it.'

Sharing is caring, and you don't need to be a communist to share.
 
There's no money involved in M&B mods (apart from donations and server costs), so there's really no loss to anybody if an algorithm does enter the realm of 'public knowledge'. If everybody has the tools, everybody will know who invented what first, and will be able to allocate their hero worship appropriately.
No money, but Time. Know the difference ?

Come on, once a feature is implemented in a mod, nobody cares about where it came from...Add a feature to a new mod, nobody will care. Add the exact same feature to Brytenwalda, 10s of people will show and say "oooooh", "aaaaaah"...

There are still many things to do for beginners beside building a hacking program, like filling the "command database modding ressources for the masses " for example, writing tuts for particular things, and so on, before writing a hacking program.

If they pass that feature off as their own, the majority of the mod community will shun the pretender out of self interest (ie, they don't want their stuff to be stolen).
So what ? the stealing will still have been gone. And TW is not the only forum provider around. And as I already said, I am no cop, and won't check every released mod to see if they used one of my code and give credit. I say welcome to the jungle.

owned by Taleworlds anyway
then as someone said, Taleworlds should have released such a tool if they had wanted to.

Anyways, all this discussion is pointless, as mister themendios hacker already released his hacking program.

now for the good ol' ranting:
Hacking is stealing. All this issue makes me sick, and even more determined to work on my mod, and not make a public release of it, because of guys like themendios.
Now I am off, I already wasted too much time on this hacking issue, I go back to add some bardic features to my mod.
 
Presumably, you have well enough time if you're contributing some of it to work on a game mod. We're not talking cutting-edge programming here, we're talking about modding a game.

Hacking is not stealing. Hacking is altering code used for one purpose to fit another, it's breaking from the traditional boundaries of whatever system is already implemented to provide new features. Putting FreeBSD on a toaster is hacking, adding new features to mount & blade with clever ways of hooking into the underlying code is hacking, using one of the publicly available Kinect libraries to make mount & blade controllable through that device is hacking. Hacking can actually help devices become more useful to people - there are whole business based around hacking, such as Texas Instruments that have a whole consumer device arm based around hacking, with watches you can reprogram and the such.

It'd be different if we were talking about cracking which is the act of maliciously gaining access to a system such as a website, or removing copy protection from a game so people can run 'stolen' copies, but we're not.

Personally, I think it'll keep the good module devs on their toes - when you release a new feature, others will have access to it, too, so you need to stay relevant to get a big following. Mods like Brytenwalda have a large, established audience but that doesn't mean that they won't play your mod, too.

And if somebody 'steals' your code, the code is not gone - you can keep it, too. They're copying your code, meaning that both of you end up with the code. It's not like you're stealing a handbag. Or a car. Or a baby. Or shooting a policeman, and stealing his helmet. Then going to the toilet in that helmet. Then sending it to the policeman's grieving widow. Then stealing it again.

If you've invented a notable enough feature that another modder has chosen to use, you'll know if it gets out and you'll be able to check if it's implemented in a similar way. As you say, I'm sure the big mods will utilize features developed within smaller mods, but the reverse can work, too - as long as everybody plays nicely and gives credit where it's due. It's not difficult to add a 'credits' page with thanks to the people you borrowed or adapted code from, is it?

And no doubt Taleworlds has it's own internal tool for this, probably used to borrow any features they like for their next games.
 
Using the compiler for a script to use in your mod shouldn't be a problem, when you have permission from the mod-maker ofcourse. It's the same with models and textures, you could have made them completely yourself, but when you release it, you know there is a chance it will be used for other work. The same counts now for scripts.

Using something in your own mod without permission is one of the lowest things you can do. Except when it is open-source then, but then a credit is always nice.
And I think mod-makers, modellers etc. have the right to decide if their own work may be open-source or not. It's their work, so logically they decide what happens to it.

And when you need something from a mod, you can often just ask the author, and most of the time he/she will offer help.

EDIT: And for personal use it should be allowed I think. Like using models in your own personal, modified version of Native for example.
 
My biggest problem is, it wouldn't be used only for your personal mod.
Like Swyter said 'People is greedy'.
I stick to that.

Also the code will not be easy to read for beginners because of the lack of information that is in the txt files and could only be read by some advanced modder.

Why can't we close the subject, a part of being a community is to accept others for their meaning and do not make this public or even start making this thing.

If you didn't feld like that you already had one and had put it on line.
 
People have been fairly slow on the uptake and extraordinarily illogical throughout the thread.  It doesn't seem to matter a whit what the facts are :razz:
 
cmpxchg8b said:
People don't seem to have noticed that it was already released.

Honestly, the application made me amazed.
1. It found a bug in my mod, an double using of a script ID.
  I forgot to delete the diplomacy's original script when I created the replacement.
  (This will be a good using of the application).
2. It reversed my scripts.txt to module_scripts.py very well.
  (This is bad for certain people).

But it has flaws too.
1. Deleting variables.txt from the module package is enough to make it fail to run.
    Yes, providing  native's variables.txt will make the application run, but with loss of some global variable names.
2. The game read ID of *.txt's data by numbers except for some hardcoded scripts like script_game_*, some menus and presentations,
    some troops and parties, meshes etc. So if someone build a tool that rename the ID's of *.TXT files of compiled module system to
    general names like script0 to script# for scripts.txt and for other *.txt, then it will cut the advantage of this application using to browse
    the mod's code significantly.
 
2. The game read ID of *.txt's data by numbers except for some hardcoded scripts like script_game_*, some menus and presentations,
    some troops and parties, meshes etc. So if someone build a tool that rename the ID's of *.TXT files of compiled module system to
    general names like script0 to script# for scripts.txt and for other *.txt, then it will cut the advantage of this application using to browse
    the mod's code significantly.

Now that's a good idea! *thumbs up*

 
dunde said:
But it has flaws too.
1. Deleting variables.txt from the module package is enough to make it fail to run.
    Yes, providing  native's variables.txt will make the application run, but with loss of some global variable names.
2. The game read ID of *.txt's data by numbers except for some hardcoded scripts like script_game_*, some menus and presentations,
    some troops and parties, meshes etc. So if someone build a tool that rename the ID's of *.TXT files of compiled module system to
    general names like script0 to script# for scripts.txt and for other *.txt, then it will cut the advantage of this application using to browse
    the mod's code significantly.

You can do worse. The game only cares about 3 operand tags: tag_register, tag_variable and tag_local_variable. You strip the rest (tag_troop, tag_map_icon, etc...) and all references will end up being a bunch of numbers.

Quick, somebody write an obfuscator! :lol:
 
Quick, somebody write an obfuscator!

Yes, please. Although I get the irony and although I don't have to hide anything special I still find it pretty ignorant to publish a tool like that. So, I just die for the higher values in this battle.
 
You're basically talking about an obfuscater, which is used in a 'security through obscurity' approach. It won't actually help, it just means that it'll take more effort to reverse the code into a usable format.

I do know that it's already been released, and it seems very useful (I hope the developer can refine it into one of the core mod tools).

As for the 'people are evil' thing - that's a big generalization to make, in my opinion the majority of the M&B modding community is not evil, otherwise why would they be donating their time to the enjoyment of their players?

Working from the opposite route 'People are generally good, with an evil minority' (which is much more valid, if you look at the general public studied through psychological, sociological means and explained by many different philosophical perspectives), if an 'evil minority' were to steal code, you'd find that the 'good majority' would fight them off (in a proverbial sense). This is using a utilitarian view of ethics, by the way, in which 'evil' people are those that cause more pain than pleasure to the majority, whereas 'good' people cause more pleasure than pain.

Really, it all comes down to your basic philosophical beliefs - we could argue about this until the end of time.

EDIT: My advice is to wait and see what happens. Looking at this situation logically, the effect is what matters - if this has an overwhelming negative effect, then it's a Bad Thing, if not it's a Good Thing.
 
xenoargh said:
Well, then STOP USING MY SOURCE.

Hypocrite.  I will never help you again.

Saddens me to hear that. I haven't used your code so far and won't if you insist.
Actually I think this conversation should have taken place inside the other thread but for some reasons it took place in here. May be your name is more known inside this forum and people expected to have a more minded discussion inside this thread or it was just an random event.

As we can see there are many arguments on both sides so I at least wouldn't be that quick with releasing a tool that is that controverse.
May be it does no harm, so yes, let's wait that out and see. Since it is out we can't do much else anyway.


 
Back
Top Bottom