• redjard@reddthat.com
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    4 days ago

    We have a known compiled output. Simply make sure the decom recompiles to the original game with identical binary, then it can’t be that wrong.
    And from there you port it to pc by hand. Auditing the patches for the porting also should be manageable.

    • axx@slrpnk.net
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 days ago

      Reproducible builds are hard to do and require thought being put in the original build. Even something like setting the time and date string to a different one will produce a different binary, so to get all the variables that went into the original compilation just right to be able to land on the same binary from the same code sounds very impractical. Imagine using that as a strategy to check another version of the whole source code…

      • redjard@reddthat.com
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        3 days ago

        I’ve recently seen a suite that has a ready made setup to compare sections of asm to the original.
        Perfectly matching the full game or even binary isn’t necessary, when you already split the original apart into finer chunks, since you want some better feedback on exactly what sections are wrong.

        For a basic example though, if you compile to an elf for example you can take out the code section and there’ll be no metadata. Actually gcc already builds reproducibly by default, even with the metadata section. It doesn’t add any timestamps nor version info.