Skip to content

Instantly share code, notes, and snippets.

View SunatP's full-sized avatar
🎄
Wishing you happiness

Sunat Praphanwong SunatP

🎄
Wishing you happiness
  • MFEC Public Company Limited
  • Thailand, Bangkok
  • X @Sunat_P
View GitHub Profile
@littlelailo
littlelailo / apollo.txt
Created September 27, 2019 12:04
Apple Bootrom Bug
This bug was also called moonshine in the beginning
Basically the following bug is present in all bootroms I have looked at:
1. When usb is started to get an image over dfu, dfu registers an interface to handle all the commands and allocates a buffer for input and output
2. if you send data to dfu the setup packet is handled by the main code which then calls out to the interface code
3. the interface code verifies that wLength is shorter than the input output buffer length and if that's the case it updates a pointer passed as an argument with a pointer to the input output buffer
4. it then returns wLength which is the length it wants to recieve into the buffer
5. the usb main code then updates a global var with the length and gets ready to recieve the data packages
6. if a data package is recieved it gets written to the input output buffer via the pointer which was passed as an argument and another global variable is used to keep track of how many bytes were recieved already
7. if all the data was recieved th
@amroamroamro
amroamroamro / README.md
Last active October 4, 2024 14:05
Fourier series animation

MATLAB code to demonstrate [Fourier series][1] representation of periodic signals (as a sum of sinusoidal functions).

The animation shows an approximation of a square wave signal using the first 4-terms of its Fourier series. (Change the parameters near the top of the code to manipulate the animations and explore other variations).

![animation1][6] ![animation2][7]

This was inspired by the following similar animations:

  • [Fourier Series Animation using Circles][2]