Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. I like how Windows managed the 32bit/64bit migration in the most sensible way, by making us pick from two copies of every installer/binary forever

I like how Windows managed the 32bit/64bit migration in the most sensible way, by making us pick from two copies of every installer/binary forever

Scheduled Pinned Locked Moved Uncategorized
37 Posts 20 Posters 1 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • foone@digipres.clubF foone@digipres.club

    technically windows does use fat binaries, they're just DOS/windows.

    which is really only ever used to display a "you need windows to run this program" if you accidentally run it in DOS.

    cr1901@mastodon.socialC This user is from outside of this forum
    cr1901@mastodon.socialC This user is from outside of this forum
    cr1901@mastodon.social
    wrote last edited by
    #15

    @foone I feel like I remember certain Win 3.x binaries also prepending a DOS executable of the same program, so that the same binary runs on both systems.

    But Win 3.x isn't PE. So maybe I'm misremembering.

    1 Reply Last reply
    0
    • foone@digipres.clubF foone@digipres.club

      fun fact: although that DOS stub usually just says that and quits, there's nothing that stops it from doing other things.

      You could write a program that runs on DOS and win64, it'd just need to be implemented twice and embedded in the same binary

      foone@digipres.clubF This user is from outside of this forum
      foone@digipres.clubF This user is from outside of this forum
      foone@digipres.club
      wrote last edited by
      #16

      so you could fat-binary a program to run on DOS/win32/win64 this way, by making it a 32bit program which win64 can run though backwards compatibility.

      I'm not sure if you can include win16 though: it won't run the DOS stub, and it'll not be able to run the win32 version.

      Unless you can set up win32s on win16 in such a way that it works in both 16bit windowses (through win32s) and 32bit-native windowses

      max@peering.socialM kathee_hds@tech.lgbtK foone@digipres.clubF jernej__s@infosec.exchangeJ 4 Replies Last reply
      0
      • foone@digipres.clubF foone@digipres.club

        I wonder if it still does that for 64bit EXEs?

        luna@catgirl.centerL This user is from outside of this forum
        luna@catgirl.centerL This user is from outside of this forum
        luna@catgirl.center
        wrote last edited by
        #17

        @foone@digipres.club it's even still a thing in arm64 exes (iirc with an x86 dos stub) and bootmgfw.efi, even though no reasonable person will ever try to run those on dos

        luna@catgirl.centerL 1 Reply Last reply
        0
        • dalias@hachyderm.ioD dalias@hachyderm.io

          @foone But you *can* use that for so much more.... 😈

          gsuberland@chaos.socialG This user is from outside of this forum
          gsuberland@chaos.socialG This user is from outside of this forum
          gsuberland@chaos.social
          wrote last edited by
          #18

          @dalias @foone I wrote a really evil CTF challenge where the Windows part was pure misdirection, it had tons of nasty anti-analysis stuff, sent people on a runaround chasing down endless threads, and the flag wasn't in there at all. if you ran it under DOS it printed the flag.

          foone@digipres.clubF 1 Reply Last reply
          0
          • gsuberland@chaos.socialG gsuberland@chaos.social

            @dalias @foone I wrote a really evil CTF challenge where the Windows part was pure misdirection, it had tons of nasty anti-analysis stuff, sent people on a runaround chasing down endless threads, and the flag wasn't in there at all. if you ran it under DOS it printed the flag.

            foone@digipres.clubF This user is from outside of this forum
            foone@digipres.clubF This user is from outside of this forum
            foone@digipres.club
            wrote last edited by
            #19

            @gsuberland @dalias nasty

            1 Reply Last reply
            0
            • foone@digipres.clubF foone@digipres.club

              so you could fat-binary a program to run on DOS/win32/win64 this way, by making it a 32bit program which win64 can run though backwards compatibility.

              I'm not sure if you can include win16 though: it won't run the DOS stub, and it'll not be able to run the win32 version.

              Unless you can set up win32s on win16 in such a way that it works in both 16bit windowses (through win32s) and 32bit-native windowses

              max@peering.socialM This user is from outside of this forum
              max@peering.socialM This user is from outside of this forum
              max@peering.social
              wrote last edited by
              #20

              RE: https://digipres.club/@foone/116195447625031209

              @foone Does ARM somehow also fit in?

              foone@digipres.clubF jernej__s@infosec.exchangeJ snowfox@tech.lgbtS 3 Replies Last reply
              0
              • foone@digipres.clubF foone@digipres.club

                so you could fat-binary a program to run on DOS/win32/win64 this way, by making it a 32bit program which win64 can run though backwards compatibility.

                I'm not sure if you can include win16 though: it won't run the DOS stub, and it'll not be able to run the win32 version.

                Unless you can set up win32s on win16 in such a way that it works in both 16bit windowses (through win32s) and 32bit-native windowses

                kathee_hds@tech.lgbtK This user is from outside of this forum
                kathee_hds@tech.lgbtK This user is from outside of this forum
                kathee_hds@tech.lgbt
                wrote last edited by
                #21

                @foone but fat as it is tall and with tits to match or are we being cowards?

                foone@digipres.clubF 1 Reply Last reply
                0
                • kathee_hds@tech.lgbtK kathee_hds@tech.lgbt

                  @foone but fat as it is tall and with tits to match or are we being cowards?

                  foone@digipres.clubF This user is from outside of this forum
                  foone@digipres.clubF This user is from outside of this forum
                  foone@digipres.club
                  wrote last edited by
                  #22

                  @Kathee_HDS ROUGE.EXE!

                  kathee_hds@tech.lgbtK 1 Reply Last reply
                  0
                  • foone@digipres.clubF foone@digipres.club

                    fun fact: although that DOS stub usually just says that and quits, there's nothing that stops it from doing other things.

                    You could write a program that runs on DOS and win64, it'd just need to be implemented twice and embedded in the same binary

                    dosnostalgic@mastodon.socialD This user is from outside of this forum
                    dosnostalgic@mastodon.socialD This user is from outside of this forum
                    dosnostalgic@mastodon.social
                    wrote last edited by
                    #23

                    @foone An example of this is Bleep!, an NSF player for DOS/Win32
                    https://www.zophar.net/utilities/audio-multi/bleep-.html

                    whophd@ioc.exchangeW 1 Reply Last reply
                    0
                    • luna@catgirl.centerL luna@catgirl.center

                      @foone@digipres.club it's even still a thing in arm64 exes (iirc with an x86 dos stub) and bootmgfw.efi, even though no reasonable person will ever try to run those on dos

                      luna@catgirl.centerL This user is from outside of this forum
                      luna@catgirl.centerL This user is from outside of this forum
                      luna@catgirl.center
                      wrote last edited by
                      #24

                      @foone@digipres.club the .efi file for systemd-boot on my system doesn't include a dos stub though, so that's why i specifically said bootmgfw.efi

                      1 Reply Last reply
                      0
                      • foone@digipres.clubF foone@digipres.club

                        so you could fat-binary a program to run on DOS/win32/win64 this way, by making it a 32bit program which win64 can run though backwards compatibility.

                        I'm not sure if you can include win16 though: it won't run the DOS stub, and it'll not be able to run the win32 version.

                        Unless you can set up win32s on win16 in such a way that it works in both 16bit windowses (through win32s) and 32bit-native windowses

                        foone@digipres.clubF This user is from outside of this forum
                        foone@digipres.clubF This user is from outside of this forum
                        foone@digipres.club
                        wrote last edited by
                        #25

                        Anatoly Shashkin💾 (@dosnostalgic@mastodon.social)

                        @foone@digipres.club An example of this is Bleep!, an NSF player for DOS/Win32 https://www.zophar.net/utilities/audio-multi/bleep-.html

                        favicon

                        Mastodon (mastodon.social)

                        jernej__s@infosec.exchangeJ 1 Reply Last reply
                        0
                        • max@peering.socialM max@peering.social

                          RE: https://digipres.club/@foone/116195447625031209

                          @foone Does ARM somehow also fit in?

                          foone@digipres.clubF This user is from outside of this forum
                          foone@digipres.clubF This user is from outside of this forum
                          foone@digipres.club
                          wrote last edited by
                          #26

                          @max presumably but I know nothing about windows-on-ARM, I don't believe in it.

                          1 Reply Last reply
                          0
                          • foone@digipres.clubF foone@digipres.club

                            fun fact: although that DOS stub usually just says that and quits, there's nothing that stops it from doing other things.

                            You could write a program that runs on DOS and win64, it'd just need to be implemented twice and embedded in the same binary

                            dryak@mstdn.scienceD This user is from outside of this forum
                            dryak@mstdn.scienceD This user is from outside of this forum
                            dryak@mstdn.science
                            wrote last edited by
                            #27

                            @foone that was the whole shtick of the HX DOS Extender.

                            The DOS stub could start it, and in turn that extender supports enough Win32 API to allow some limited software to run.

                            And I think I vaguely remember some other software doing crazy stuff with their DOS stubs.

                            1 Reply Last reply
                            0
                            • foone@digipres.clubF foone@digipres.club

                              fun fact: although that DOS stub usually just says that and quits, there's nothing that stops it from doing other things.

                              You could write a program that runs on DOS and win64, it'd just need to be implemented twice and embedded in the same binary

                              kawa@mas.toK This user is from outside of this forum
                              kawa@mas.toK This user is from outside of this forum
                              kawa@mas.to
                              wrote last edited by
                              #28

                              @foone I remember Visual Basic 3.0 "correcting" by trying to run Windows, and telling Windows to run VB in turn on startup.

                              1 Reply Last reply
                              0
                              • foone@digipres.clubF foone@digipres.club

                                I wonder if it still does that for 64bit EXEs?

                                jernej__s@infosec.exchangeJ This user is from outside of this forum
                                jernej__s@infosec.exchangeJ This user is from outside of this forum
                                jernej__s@infosec.exchange
                                wrote last edited by
                                #29

                                @foone Not just 64-bit EXEs, EFI binaries also usually (but not always) contain the DOS stub.

                                1 Reply Last reply
                                0
                                • foone@digipres.clubF foone@digipres.club

                                  I know programmers who use fat binaries and they're all cowards

                                  mxk@hachyderm.ioM This user is from outside of this forum
                                  mxk@hachyderm.ioM This user is from outside of this forum
                                  mxk@hachyderm.io
                                  wrote last edited by
                                  #30

                                  @foone my favorite type of fat binaries probably are cosmopolitan libc/ape binaries.
                                  I find it fascinating and entertaining but note that I don't think it's an actual good idea.
                                  https://justine.lol/cosmopolitan/index.html

                                  1 Reply Last reply
                                  0
                                  • foone@digipres.clubF foone@digipres.club

                                    Anatoly Shashkin💾 (@dosnostalgic@mastodon.social)

                                    @foone@digipres.club An example of this is Bleep!, an NSF player for DOS/Win32 https://www.zophar.net/utilities/audio-multi/bleep-.html

                                    favicon

                                    Mastodon (mastodon.social)

                                    jernej__s@infosec.exchangeJ This user is from outside of this forum
                                    jernej__s@infosec.exchangeJ This user is from outside of this forum
                                    jernej__s@infosec.exchange
                                    wrote last edited by
                                    #31

                                    @foone I remember some utilities from back in the day that did this; I even wrote one (QB 4.5 for DOS .exe, VB 5.0 for Win32; IIRC, I had to run the VB linker manually, which let me specify the .exe to use as DOS stub).

                                    1 Reply Last reply
                                    0
                                    • foone@digipres.clubF foone@digipres.club

                                      @Kathee_HDS ROUGE.EXE!

                                      kathee_hds@tech.lgbtK This user is from outside of this forum
                                      kathee_hds@tech.lgbtK This user is from outside of this forum
                                      kathee_hds@tech.lgbt
                                      wrote last edited by
                                      #32

                                      @foone ah damn missed the opportunity to say "with bits to match", post cancelled, hit the showers everyone we did good but we're not at our best yet the fans expect better of us pushes a lever and falls into the river

                                      1 Reply Last reply
                                      0
                                      • max@peering.socialM max@peering.social

                                        RE: https://digipres.club/@foone/116195447625031209

                                        @foone Does ARM somehow also fit in?

                                        jernej__s@infosec.exchangeJ This user is from outside of this forum
                                        jernej__s@infosec.exchangeJ This user is from outside of this forum
                                        jernej__s@infosec.exchange
                                        wrote last edited by
                                        #33

                                        @max @foone DOS stub is still present in Windows ARM binaries (32 and 64-bit).

                                        1 Reply Last reply
                                        0
                                        • foone@digipres.clubF foone@digipres.club

                                          so you could fat-binary a program to run on DOS/win32/win64 this way, by making it a 32bit program which win64 can run though backwards compatibility.

                                          I'm not sure if you can include win16 though: it won't run the DOS stub, and it'll not be able to run the win32 version.

                                          Unless you can set up win32s on win16 in such a way that it works in both 16bit windowses (through win32s) and 32bit-native windowses

                                          jernej__s@infosec.exchangeJ This user is from outside of this forum
                                          jernej__s@infosec.exchangeJ This user is from outside of this forum
                                          jernej__s@infosec.exchange
                                          wrote last edited by
                                          #34

                                          @foone Win16 programs are NE, but I have no idea if you can combine NE and PE in the same file (would have to look at what each of them needs in the stub .exe header).

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups