View a-client-diff.py
from data1 import data1 | |
from data2 import data2 | |
from data3 import data3 | |
from data4 import data4 | |
data1 = {".": data1} | |
data2 = {".": data2} | |
data3 = {".": data3} | |
data4 = {".": data4} |
View 3-to-4.diff
see https://gist.github.com/hthh/bb896c743878a2c0c337f41febdc0426#file-b-3-to-4-diff for latest and raw data | |
interface names are associated heuristically, then manually, both of which are error prone. | |
a couple of errors have been fixed, but there may be more. | |
diff 3.0 IPC to 4.0 IPC | |
- ['Bus', 'nn::gpio::IManager', 6] = {'inbytes': 1, 'outbytes': 0} | |
+ ['Bus', 'nn::gpio::IManager', 6] = {'inbytes': 4, 'outbytes': 0} | |
+ ['Bus', 'nn::gpio::IPadSession', 16] = {'inbytes': 4, 'outbytes': 0} | |
+ ['account', 'nn::account::IAccountServiceForAdministrator', 105] = {'inbytes': 8, 'outbytes': 0, 'outinterfaces': ['nn::account::detail::IAsyncContext'], 'buffers': [0x19], 'pid': 1} |
View a-diff.py
from data1 import data1 | |
from data2 import data2 | |
from data3 import data3 | |
from data4 import data4 | |
from data500 import data500 | |
from data600 import data600 | |
from data610 import data610 | |
from data700 import data700 | |
all_data = (data1, data2, data3, data4, data500, data600, data610, data700) |
View mac-exploit.cc
#include <stdint.h> | |
extern "C" { | |
// entry point | |
void my_main(void); | |
} | |
// types | |
typedef uint8_t u8; | |
typedef uint16_t u16; |