• 1 Post
  • 1.66K Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle














  • I used to do this frequently “back in the day”…

    dd will create a complete bit-for-bit copy of the drive and put its contents into a file. All the way down to the boot sector, partitions, etc. Filesystem doesn’t even matter a little.

    I used to do something like “dd /dev/sda bs=1M | nc remote.server 1234” and then on the remote server “nc -l 1234 -p > file.img </dev/null”. I was swapping back and forth between Linux and Windows on a work laptop that I was using for non-work related things on the weekend, at conferences, etc.

    Wasn’t perhaps my most intelligent moment, but it worked!


  • It can be - but doesn’t have to be. It would depend on a lot of things including how reckless or negligent he was for example. And whether the local law considers “negligence” to be a factor in manslaughter or whether it’s considered to be “reckless endangerment” or something like that.

    A paramedic overheard Ms Hall saying Scarlett and her father were “play-fighting and chucking knives at each other”, Mr McKone said.

    In this case however… That’s pretty damn negligent.

    edit:

    When asked if he was responsible for causing his daughter’s death, Mr Vickers replied “I must be”, the court heard.

    As stupid as he was - this is pretty heart breaking…




  • It requires a near obsessive understanding of the architecture being emulated, but generally the process is “relatively straightforward” (though not necessarily “easy”). A CPU is a relatively simple device compared to the software built on it. Your basic steps are:

    1. Read an instruction
    2. Perform the instruction
    3. Jump to the next instruction

    Throw that in a loop and voilà! You have an emulator. Granted I’ve handwaved over a lot of complexity (I don’t mean to trivialize the effort)…

    To translate a binary is very different. Compilers optimize output to behave in a specific way for the target CPU that simply may not work on the new CPU. What do you do, for example, if the code was compiled for a platform that had 12 registers but the new one only has 6? You’d need to re-write the logic to work with fewer registers. That’s difficult to do in a way that is generic for any program. An emulator can just present the program with the 12 registers it expects (emulated in memory at the expense of performance).