Critica1 said:
Immortal_no1 said:
Slowing down CPU's is generally about limiting the I/O, since you control the I/O when using an FPGA board you can slowdown the intake of the CPU enough so to read data, sonly a certain amount of slowdown can be achieved before the device comms creates an I/O error when the expected data isn't received within the time-frame allocated.
You sir, are fucking awesome!
There isn't much clarity on the different uses of the FPGA board. It sounds like the FPGA is a type of hardware voltage attack. I've also been trying to uncover the other uses the FPGA boards might have in hacking. Hopefully, Nintendo didn't implement a check to their I/O operations. Got any other information about FPGA boards that might be worthwhile?
I've read somewhere that it might be possible FPGA board could possibly stimulate encryption/decryption processes? Know anything about this? I'm trying to refer back to my sources...
At this point i'm going to assume you don't know much about FPGA boards, if this isn't true then this can be some information to others who want to know.
An FPGA stands for (Field Programmable Gate Array) and what this is, is in effect a cut-down computer with integrated circuits designed to be usually compact, for the use of testing hardware solutions (There is no Operating System). If you wanted you can take a normal Motherboard and rework the Bios and you will have yourself a nice FPGA board, but it won't have that many connecters, however since you control every aspect of the board you can do what you want.
So you make the software and put it on the FPGA board.
You control all the Input and output pins (lines)
So for the 3DS process it will be cut into 3 parts - Snooping - Replicating - Exploiting
Snooping - once you have made your software for the FPGA
You read in what the 3DS is sending to the Cartridge then pass the data on to the cartridge
Read in what the cartridge is sending to the 3DS then pass it onto the 3DS
What you have at the end is a protocol Dump, include time stamps on the debug logs and you can recreate the order of the data that gets sent and received. Thus you can then map out the protocol.
Replicating - Once you know the protocol you can remove the cartridge and connect up your Flash Memory reader (A Fast memory reader required or pre reading into FPGA onboard RAM required)
You use the protocol to send commands to the 3DS from the FPGA and interpret the responses based on your protocol map.
at the point when it asks for the data you send it from your memory/flash bank instead of from the cartridge.
All going well the 3DS will think that everything is all good and will show the icon on the screen and assuming the protocol map is complete you will be able to make the 3DS think that your FPGA is a cartridge!
Exploiting - Once you know the protocol and can replicate it and make the 3DS think it's an official cartridge you then go to a manufacturer and ask them for a device which fits the requirements you have on your FPGA, so onboard Flash, a microprocessor or similar chip to interpret the protocol, microSD card and whatever else. SuperCard DS2 is the perfect example for what i would expect the 3DS flashcard to end up looking like although i would also expect that it would have a GB of flash to put the ROM in so that it has it on Boot, it may not be necessary if the Supercard DS2 400mhz MIPS core is good enough to defeat the protection, i think it is but time will tell.
Once the manufacturer creates the card and flashes in the binary blob (compiled sourcecode) into the onboard chip and shoves a plastic case on it. the company that manufactured the cards gets their money, the designer gets their product, the shops get their products to sell on for a profit and...
if you're unlucky the clients design/binary blob will be leaked to other manufacturers and cloned cards will be released.
Thus this is the usual life cycle process for all hardware manufactured. (minus the Cloning)
Hope this helps someone, it was enjoyable writing this
Ah, took so long to write this tat other posts have been made. I like the AES FPGA, nice