• 0 Posts
  • 7 Comments
Joined 1 year ago
cake
Cake day: July 3rd, 2023

help-circle


  • It depends on the specifics of how the language is compiled. I’ll use C# as an example since that’s what I’m currently working with, but the process is different between all of them.

    C#, when compiled, actually gets compressed down to what is known as an intermediate language (MSIL for C# specifically). This intermediate file is basically a set of genericized instructions that are not linked to any specific CPU. This is useful because different CPUs require different instructions.

    Then, when the program is run, a second compiler known as the JIT (just-in-time) compiler takes the intermediate commands and translates them into something directly relevant to the CPU being used.

    When we decompile a C# dll, we’re really converting from the intermediate language (generic CPU-agnostic instructions) and translating it back into source code.

    To your second point, you are correct that the decompiled version will be more efficient from a processing perspective, but that efficiency comes at the direct cost of being able to easily understand what is happening at a human level. :)


  • The long answer involves a lot of technical jargon, but the short answer is that the compilation process turns high level source code into something that the machine can read, and that process usually drops a lot of unneeded data and does some low-level optimization to make things more efficient during actual processing.

    One can use a decompiler to take that machine code and attempt to turn it back into something human readable, but will usually be missing data on variable names, function calls, comments, etc. and include compiler-added optimizations which makes it nearly impossible to reconstruct the original code

    It’s sort of the code equivalent of putting a sentence into Google translate and then immediately translating it back to the original. You often end up with differences in word choice that give you a good general idea of intent, but it’s impossible to know exactly which words were in the original sentence.



  • Did you read the article? Because nowhere in the article does the phrase “due to water vapo(u)r” exist. In fact, they explicitly talk about why water vapor is prevalent and related to ice, and why subsurface ice scanning is so important (and is the only text I could find referencing vapor at all):

    The need to look for subsurface ice arises because liquid water isn’t stable on the Martian surface: The atmosphere is so thin that water immediately vaporizes. There’s plenty of ice at the Martian poles – mostly made of water, although carbon dioxide, or dry ice, can be found as well – but those regions are too cold for astronauts (or robots) to survive for long.

    They also talk about how NASA is not only aware of this but helping to fund the scanning technology that’s being used to detect the subsurface ice. It’s literally all in the article