Only via .NET Reflection + Bytecode Editing or via Cheat Engine. Here is the basic how-to:
1) Get the Telerik JustDecompile from here: http://www.telerik.com/products/decompiler.aspx (unlike ILSpy, it allows you to see Get/Set methods as function, and thus change via plugins).
2) Get latest release of Reflexil plugin for JustDecompile from here: https://ci.appveyor.com/project/sailro/reflexil/build/artifacts by downloading reflexil.for.JustDecompile.2.2.bin.zip
3) Extract it to the folder: .\Telerik\JustDecompile\Libraries\Plugins\reflexil.for.JustDecompile.2.2.bin\
4) Enjoy!
The places you want to edit in Assembly-CSharp.dll are:
<Default Namespace> → ManagerMenu → loadDefaultShipPostReset: starting crew and its skills.
<Default Namespace> → ManagerJobs → workJob: build speed.
<Default Namespace> → Structures: defaultCargo, defaultMetal, defaultSilicon, defaultGold, defaultFood, defaultWater, defaultCredits, defaultMiningUpgradeLength, defaultMiningExtensionLength.
<Default Namespace> → Structures → returnArmorBoosterValue: I think it is pretty obvious what it does >_>
<Default Namespace> → Structures → returnShieldBoosterValue: and so this one too <_<
1) Get the Telerik JustDecompile from here: http://www.telerik.com/products/decompiler.aspx (unlike ILSpy, it allows you to see Get/Set methods as function, and thus change via plugins).
2) Get latest release of Reflexil plugin for JustDecompile from here: https://ci.appveyor.com/project/sailro/reflexil/build/artifacts by downloading reflexil.for.JustDecompile.2.2.bin.zip
3) Extract it to the folder: .\Telerik\JustDecompile\Libraries\Plugins\reflexil.for.JustDecompile.2.2.bin\
4) Enjoy!
The places you want to edit in Assembly-CSharp.dll are:
<Default Namespace> → ManagerMenu → loadDefaultShipPostReset: starting crew and its skills.
<Default Namespace> → ManagerJobs → workJob: build speed.
<Default Namespace> → Structures: defaultCargo, defaultMetal, defaultSilicon, defaultGold, defaultFood, defaultWater, defaultCredits, defaultMiningUpgradeLength, defaultMiningExtensionLength.
<Default Namespace> → Structures → returnArmorBoosterValue: I think it is pretty obvious what it does >_>
<Default Namespace> → Structures → returnShieldBoosterValue: and so this one too <_<
You use a program that is able to decompile C# code in order to view the source code of the Rust server. I use Telerik JustDecompile to decompile the .dll files, contained in the Rust server software, in order to look at the code.
> It's not even obfuscated like if you tried to decompile it.
My guess would be that compiled C# code is a 1:1 representation of the source code so decompiling wouldn't result in a loss of information, but I honestly don't know if that's the case. Just a guess that's as good as anyones.
The documentation for Besiege's code is called JustDecompile, the Unity API, and /u/theguysyoudespise :P
If you're serious about trying to make a clone of wiremod in Besiege though, send a PM to spaar on the forums about getting into the modding slack.
Provided that the library isn't obfuscated... I would use the .net Reflector to peek under the hood and see just what in the heck that method is doing with those parameters, so you know what to pass it. I am guessing you don't have any documentation on any of those methods?
Here is a free decompiler, JustDecompile.
Edit: Then upon your findings, build objects that would represent the data required as parameters and override the ToString() method. So in the end, you would have a method as such:
GetRows(ClassType instanceType, ClassType instanceType, ClassType instanceType, (.... etc), int pageSize, int absolutePage, out bool morePages);
Which would call the original method:
return GetRows(instanceType.ToString(), instanceType.ToString(), instanceType.ToString(), (.... etc), pageSize, absolutePage, out morePages);
> It's so hard to tell how well optimized it is with the OVR fps counter capping at 60
EDIT: I now have a patch tool to replace this procedure, get it in this thread: /r/oculus/comments/28cqk0/patch_tool_to_force_vsync_off_in_any_rift_app/
I don't have a Unity Pro license, but the way I get around this is with a minor tweak to the MSIL of the final build to force vsync off. I just tested this in Tuscany and the OVR FPS counter does show correct FPS after doing this. Steps:
That's it, no more capping. I've done this on so many demos at this point it takes me like 30 seconds. :-P It might be possible to edit the OVR Unity plugin itself in the same way so that you only have to do it once, but I don't have a Unity license to test it.
Telerik has a free one also: http://www.telerik.com/products/decompiler.aspx
I am licensed for Reflector (part of the Red Gate .Net Bundle) and ReSharper. I do like JetBrain's version, but Telerik's wins I think. I can take an assembly and decompile the entire thing into a project of whichever language I choose.
You use a program that is able to decompile C# code in order to view the source code of the Rust server. I use Telerik JustDecompile to decompile the .dll files, contained in the Rust server software, in order to look at the code.
Copied from a comment I made some time ago:
I second that, but will add what you're seeing is the string literal in the resulting exe.
The double-spacing looks to me like what you get in the UTF-16 encoding from .NET.
On the off-chance it is a .NET exe, you can use something like JustDecompile or ILSpy to peek at the guts.
Does it use the unity engine? If so, I'd recommend using Telerik Justdecompile and the reflexil plugin to modify the binaries. Provided that the game isn't obfuscated, you can straight up read the source code, and making changes is pretty easy. I've done this with Adventure Capitalist.
I've used a few in the past and they sometimes get into a loop and fail on a couple of the files with deep if statements.
Telerik's justdecompile hasn't crashed on me yet: http://www.telerik.com/products/decompiler.aspx
I've honestly not started yet. I'm a C# developer by day, so I'm hoping that, as long as I can get to some code, it'll be easy enough to figure out what does what.
As for getting to code from executable/dll: http://www.telerik.com/products/decompiler.aspx
Edit: Woops, the product I linked isn't free anymore. This one is. Been a while since I needed to decompile.
What exactly is fishy about it?
The binaries are digitally signed, the compiled code is not obfuscated - if you want to see it, just use a decompiler like http://www.telerik.com/products/decompiler.aspx
The source code is not released simply because it is a mess. Something I have thrown together over the last week. It was never intended as something OSS or serious - just simply a small tool to make commodity trading more easy for me.
Edit: And by easy I mean more profitable. I make a factor of 5x more gold using this program than by using just the built-in UI.