SYMBOL INDEX (553 symbols across 49 files) FILE: cmd/wInd3x/app.go type desktopApp (line 15) | type desktopApp struct method Close (line 98) | func (d *desktopApp) Close() error { method waitSwitch (line 190) | func (a *desktopApp) waitSwitch(ctx context.Context, ik devices.Interf... type desktopUsb (line 20) | type desktopUsb struct method UseDefaultInterface (line 25) | func (d *desktopUsb) UseDefaultInterface() error { method UseDiskInterface (line 34) | func (d *desktopUsb) UseDiskInterface() (devices.UsbMsEndpoints, error) { method Control (line 73) | func (d *desktopUsb) Control(rType, request uint8, val, idx uint16, da... method SetControlTimeout (line 81) | func (d *desktopUsb) SetControlTimeout(dur time.Duration) error { method GetStringDescriptor (line 86) | func (d *desktopUsb) GetStringDescriptor(descIndex int) (string, error) { method Close (line 90) | func (d *desktopUsb) Close() error { function newDFU (line 108) | func newDFU() (*desktopApp, error) { function newAny (line 148) | func newAny() (*desktopApp, error) { function newContext (line 232) | func newContext() (*gousb.Context, error) { FILE: cmd/wInd3x/cmd_cfw.go type findVisitor (line 30) | type findVisitor struct method Done (line 35) | func (v *findVisitor) Done() error { method VisitFile (line 39) | func (v *findVisitor) VisitFile(file *efi.FirmwareFile) error { method VisitSection (line 52) | func (v *findVisitor) VisitSection(section efi.Section) error { function superdiags (line 56) | func superdiags(app *app.App) ([]byte, error) { FILE: cmd/wInd3x/cmd_nand_read.go function nandReadPageOffset (line 21) | func nandReadPageOffset(a *app.App, bank, page, offset uint32) ([]byte, ... function nandIdentify (line 43) | func nandIdentify(a *app.App) ([]byte, error) { FILE: cmd/wInd3x/cmd_nor_read.go function readNOR (line 22) | func readNOR(app *app.App, w io.Writer, spino, offset, size uint32) error { FILE: cmd/wInd3x/cmd_spew.go function readFrom (line 19) | func readFrom(app *app.App, addr uint32) ([]byte, error) { function readCP15 (line 35) | func readCP15(app *app.App, register, reg2, opc2 uint8) (uint32, error) { function readCP14 (line 60) | func readCP14(app *app.App, opc2, reg2 uint8) (uint32, error) { function dumpCP15 (line 85) | func dumpCP15(app *app.App) { type peripheral (line 183) | type peripheral struct type register (line 188) | type register struct function printN3Gates (line 214) | func printN3Gates(v uint32) { FILE: cmd/wInd3x/main.go function main (line 30) | func main() { function init (line 62) | func init() { function parseNumber (line 66) | func parseNumber(s string) (uint32, error) { FILE: pkg/app/app.go type App (line 10) | type App struct method Close (line 19) | func (a *App) Close() error { method PrepareUSB (line 28) | func (a *App) PrepareUSB() error { FILE: pkg/cache/cache.go type FS (line 30) | type FS interface type hostPathStore (line 37) | type hostPathStore struct method ReadFile (line 43) | func (h *hostPathStore) ReadFile(p string) ([]byte, error) { method WriteFile (line 47) | func (h *hostPathStore) WriteFile(p string, data []byte) error { method Remove (line 55) | func (h *hostPathStore) Remove(p string) error { method Exists (line 59) | func (h *hostPathStore) Exists(p string) (bool, error) { type PayloadKind (line 72) | type PayloadKind constant PayloadKindWTFUpstream (line 75) | PayloadKindWTFUpstream PayloadKind = "wtf-upstream" constant PayloadKindWTFDecrypted (line 76) | PayloadKindWTFDecrypted PayloadKind = "wtf-decrypted" constant PayloadKindWTFDecryptedCache (line 77) | PayloadKindWTFDecryptedCache PayloadKind = "wtf-decrypted-cache" constant PayloadKindWTFDefanged (line 78) | PayloadKindWTFDefanged PayloadKind = "wtf-defanged" constant PayloadKindRecoveryUpstream (line 80) | PayloadKindRecoveryUpstream PayloadKind = "recovery-upstream" constant PayloadKindFirmwareUpstream (line 82) | PayloadKindFirmwareUpstream PayloadKind = "firmware-upstream" constant PayloadKindBootloaderUpstream (line 84) | PayloadKindBootloaderUpstream PayloadKind = "bootloader-upstream" constant PayloadKindBootloaderDecrypted (line 85) | PayloadKindBootloaderDecrypted PayloadKind = "bootloader-decrypted" constant PayloadKindBootloaderDecryptedCache (line 86) | PayloadKindBootloaderDecryptedCache PayloadKind = "bootloader-decrypted-... constant PayloadKindRetailOSUpstream (line 88) | PayloadKindRetailOSUpstream PayloadKind = "retailos-upstream" constant PayloadKindRetailOSDecrypted (line 89) | PayloadKindRetailOSDecrypted PayloadKind = "retailos-decrypted" constant PayloadKindRetailOSCustomized (line 90) | PayloadKindRetailOSCustomized PayloadKind = "retailos-customized" constant PayloadKindRetailOSDecryptedCache (line 91) | PayloadKindRetailOSDecryptedCache PayloadKind = "retailos-decrypted-cache" constant PayloadKindDiagsUpstream (line 93) | PayloadKindDiagsUpstream PayloadKind = "diags-upstream" constant PayloadKindDiagsDecrypted (line 94) | PayloadKindDiagsDecrypted PayloadKind = "diags-decrypted" constant PayloadKindDiagsDecryptedCache (line 95) | PayloadKindDiagsDecryptedCache PayloadKind = "diags-decrypted-cache" constant PayloadKindJingleXML (line 97) | PayloadKindJingleXML PayloadKind = "jinglexml" type GetOption (line 100) | type GetOption struct type downloadMonitor (line 104) | type downloadMonitor struct method Write (line 111) | func (d *downloadMonitor) Write(data []byte) (int, error) { function getPayloadFromPhobosIPSW (line 121) | func getPayloadFromPhobosIPSW(pk PayloadKind, dk devices.Kind, urlStr st... function getBootloaderDecrypted (line 215) | func getBootloaderDecrypted(app *app.App, options ...GetOption) error { function getWTFDecrypted (line 256) | func getWTFDecrypted(app *app.App, options ...GetOption) error { function getRetailOSDecrypted (line 297) | func getRetailOSDecrypted(app *app.App, options ...GetOption) error { function getDiagsDecrypted (line 338) | func getDiagsDecrypted(app *app.App, options ...GetOption) error { function getWTFDefanged (line 379) | func getWTFDefanged(app *app.App, options ...GetOption) error { function getRetailOSCustomized (line 401) | func getRetailOSCustomized(app *app.App, options ...GetOption) ([]byte, ... function Get (line 415) | func Get(app *app.App, payload PayloadKind, options ...GetOption) ([]byt... function pathFor (line 454) | func pathFor(dev *devices.Kind, payload PayloadKind, upstreamURL string)... FILE: pkg/cache/cache_test.go function TestRepackAll (line 14) | func TestRepackAll(t *testing.T) { FILE: pkg/cache/phobos.go type jingle (line 15) | type jingle struct type mobileDeviceSoftwareVersion (line 20) | type mobileDeviceSoftwareVersion struct type recoverySoftware (line 29) | type recoverySoftware struct type iPodSoftwareVersion (line 33) | type iPodSoftwareVersion struct constant jingleURL (line 38) | jingleURL = "https://itunes.apple.com/WebObjects/MZStore.woa/wa/com.appl... function GetFirmwareVersions (line 59) | func GetFirmwareVersions(dk devices.Kind) []string { function getJingle (line 73) | func getJingle() (*jingle, error) { function RecoveryFirmwareDFUURL (line 109) | func RecoveryFirmwareDFUURL(dev devices.Kind) (string, error) { function RecoveryWTFURL (line 132) | func RecoveryWTFURL(dev devices.Kind) (string, error) { function FirmwareURL (line 155) | func FirmwareURL(dev devices.Kind) (string, error) { function urlForKind (line 181) | func urlForKind(pk PayloadKind, dk devices.Kind) (string, error) { FILE: pkg/cfw/cfw.go function VisitVolume (line 12) | func VisitVolume(v *efi.Volume, vi VolumeVisitor) error { function visitSection (line 26) | func visitSection(s efi.Section, vi VolumeVisitor) error { type VolumeVisitor (line 48) | type VolumeVisitor interface type MultipleVisitors (line 61) | type MultipleVisitors method VisitFile (line 63) | func (m MultipleVisitors) VisitFile(file *efi.FirmwareFile) error { method VisitSection (line 72) | func (m MultipleVisitors) VisitSection(section efi.Section) error { method Done (line 81) | func (m MultipleVisitors) Done() error { type VisitPE32InFile (line 92) | type VisitPE32InFile struct method VisitFile (line 101) | func (v *VisitPE32InFile) VisitFile(file *efi.FirmwareFile) error { method VisitSection (line 106) | func (v *VisitPE32InFile) VisitSection(section efi.Section) error { method Done (line 124) | func (v *VisitPE32InFile) Done() error { type Patch (line 132) | type Patch interface type Patches (line 138) | type Patches method Apply (line 140) | func (p Patches) Apply(in []byte) ([]byte, error) { type ReplaceExact (line 154) | type ReplaceExact struct method Apply (line 159) | func (p ReplaceExact) Apply(in []byte) ([]byte, error) { type PatchAt (line 174) | type PatchAt struct method Apply (line 179) | func (p PatchAt) Apply(in []byte) ([]byte, error) { FILE: pkg/cfw/defang_wtf.go type Defanger (line 14) | type Defanger function defangEFI (line 117) | func defangEFI(visitor VolumeVisitor) Defanger { function applyPatches (line 132) | func applyPatches(img *image.IMG1, patches VolumeVisitor) ([]byte, error) { function defangRaw (line 175) | func defangRaw(patches map[int][]byte) Defanger { FILE: pkg/cfw/fixup.go function SecoreOffset (line 13) | func SecoreOffset(fv *efi.Volume) (int, error) { function SecoreFixup (line 39) | func SecoreFixup(origPos int, fv *efi.Volume) error { FILE: pkg/devices/devices.go type Kind (line 3) | type Kind method String (line 31) | func (k Kind) String() string { method SoCCode (line 49) | func (k Kind) SoCCode() string { method DFUVersion (line 65) | func (k Kind) DFUVersion() DFUProtoVersion { method Description (line 74) | func (k Kind) Description() Description { constant Nano3 (line 6) | Nano3 Kind = "n3g" constant Nano4 (line 7) | Nano4 Kind = "n4g" constant Nano5 (line 8) | Nano5 Kind = "n5g" constant Nano6 (line 9) | Nano6 Kind = "n6g" constant Nano7 (line 10) | Nano7 Kind = "n7g" constant Nano7Late (line 11) | Nano7Late Kind = "n7g-late" type InterfaceKind (line 14) | type InterfaceKind constant DFU (line 17) | DFU InterfaceKind = "dfu" constant WTF (line 18) | WTF InterfaceKind = "wtf" constant Disk (line 19) | Disk InterfaceKind = "diskmode" type DFUProtoVersion (line 22) | type DFUProtoVersion constant DFUProtoVersion1 (line 26) | DFUProtoVersion1 DFUProtoVersion = 1 constant DFUProtoVersion2 (line 28) | DFUProtoVersion2 DFUProtoVersion = 2 type Description (line 83) | type Description struct FILE: pkg/devices/usb.go type Usb (line 10) | type Usb interface type UsbMsInEndpoint (line 33) | type UsbMsInEndpoint interface type UsbMsOutEndpoint (line 37) | type UsbMsOutEndpoint interface type UsbMsEndpoints (line 41) | type UsbMsEndpoints struct FILE: pkg/dfu/dfu.go type Request (line 15) | type Request constant RequestDetach (line 18) | RequestDetach Request = 0 constant RequestDnload (line 19) | RequestDnload Request = 1 constant RequestUpload (line 20) | RequestUpload Request = 2 constant RequestGetStatus (line 21) | RequestGetStatus Request = 3 constant RequestClrStatus (line 22) | RequestClrStatus Request = 4 constant RequestGetState (line 23) | RequestGetState Request = 5 constant RequestAbort (line 24) | RequestAbort Request = 6 type Err (line 27) | type Err constant ErrOk (line 30) | ErrOk Err = 0x00 constant ErrTarget (line 31) | ErrTarget Err = 0x01 constant ErrFile (line 32) | ErrFile Err = 0x02 constant ErrWrite (line 33) | ErrWrite Err = 0x03 constant ErrErase (line 34) | ErrErase Err = 0x04 constant ErrCheckErased (line 35) | ErrCheckErased Err = 0x05 constant ErrProg (line 36) | ErrProg Err = 0x06 constant ErrVerify (line 37) | ErrVerify Err = 0x07 constant ErrAddress (line 38) | ErrAddress Err = 0x08 constant ErrNotDone (line 39) | ErrNotDone Err = 0x09 constant ErrFirmware (line 40) | ErrFirmware Err = 0x0a constant ErrVendor (line 41) | ErrVendor Err = 0x0b constant ErrUsbr (line 42) | ErrUsbr Err = 0x0c constant ErrPor (line 43) | ErrPor Err = 0x0d constant ErrUnknown (line 44) | ErrUnknown Err = 0x0e constant ErrStalledPkt (line 45) | ErrStalledPkt Err = 0x0f type State (line 48) | type State method String (line 64) | func (d State) String() string { constant StateAppIdle (line 51) | StateAppIdle State = 0 constant StateAppDetach (line 52) | StateAppDetach State = 1 constant StateIdle (line 53) | StateIdle State = 2 constant StateDnloadSync (line 54) | StateDnloadSync State = 3 constant StateDnBusy (line 55) | StateDnBusy State = 4 constant StateDnloadIdle (line 56) | StateDnloadIdle State = 5 constant StateManifestSync (line 57) | StateManifestSync State = 6 constant StateManifest (line 58) | StateManifest State = 7 constant StateManifestWaitReset (line 59) | StateManifestWaitReset State = 8 constant StateUploadIdle (line 60) | StateUploadIdle State = 9 constant StateError (line 61) | StateError State = 10 function GetState (line 90) | func GetState(usb devices.Usb) (State, error) { type Status (line 102) | type Status struct function GetStatus (line 108) | func GetStatus(usb devices.Usb) (*Status, error) { function ClearStatus (line 126) | func ClearStatus(usb devices.Usb) error { function ReceiveChunk (line 134) | func ReceiveChunk(usb devices.Usb, l int, blockno uint16) ([]byte, error) { function SendChunk (line 143) | func SendChunk(usb devices.Usb, c []byte, blockno uint16) error { type SendOption (line 151) | type SendOption struct function SendImage (line 155) | func SendImage(usb devices.Usb, i []byte, version devices.DFUProtoVersio... function Clean (line 244) | func Clean(usb devices.Usb) error { FILE: pkg/efi/compression/compression.go type TianoCompression (line 3) | type TianoCompression interface FILE: pkg/efi/compression/compression_runtime.go type RuntimeDispatched (line 5) | type RuntimeDispatched struct method Decompress (line 10) | func (r *RuntimeDispatched) Decompress(in []byte) ([]byte, error) { method Compress (line 13) | func (r *RuntimeDispatched) Compress(in []byte) ([]byte, error) { FILE: pkg/efi/compression/compression_test.go function TestLoopback (line 8) | func TestLoopback(t *testing.T) { FILE: pkg/efi/compression/compression_wazero.go type edk2 (line 39) | type edk2 struct method malloc (line 48) | func (e *edk2) malloc(ctx context.Context, size int) uint32 { method free (line 56) | func (e *edk2) free(ctx context.Context, ptr uint32) { method write (line 60) | func (e *edk2) write(ctx context.Context, ptr uint32, data []byte) { method writeu32 (line 66) | func (e *edk2) writeu32(ctx context.Context, ptr, data uint32) { method read (line 74) | func (e *edk2) read(ctx context.Context, ptr uint32, size int) []byte { method readu32 (line 84) | func (e *edk2) readu32(ctx context.Context, ptr uint32) uint32 { function edk2Error (line 97) | func edk2Error(code int32) error { function getedk2 (line 112) | func getedk2() *edk2 { type wazeroCompression (line 149) | type wazeroCompression struct method Decompress (line 152) | func (w *wazeroCompression) Decompress(in []byte) ([]byte, error) { method Compress (line 194) | func (w *wazeroCompression) Compress(in []byte) ([]byte, error) { FILE: pkg/efi/efi.go type GUID (line 30) | type GUID method String (line 32) | func (g GUID) String() string { function MustParseGUID (line 41) | func MustParseGUID(s string) GUID { type NestedReader (line 81) | type NestedReader struct method Read (line 88) | func (r *NestedReader) Read(out []byte) (int, error) { method Advance (line 101) | func (r *NestedReader) Advance(count int) { method TellGlobal (line 109) | func (r *NestedReader) TellGlobal() int { method Sub (line 113) | func (r *NestedReader) Sub(start, length int) *NestedReader { method Len (line 122) | func (r *NestedReader) Len() int { function NewNestedReader (line 126) | func NewNestedReader(underlying []byte) *NestedReader { type Uint24 (line 136) | type Uint24 method Uint32 (line 145) | func (s Uint24) Uint32() uint32 { function ToUint24 (line 138) | func ToUint24(s uint32) Uint24 { function checksum16 (line 152) | func checksum16(data []byte) uint16 { function checksum8 (line 168) | func checksum8(data []byte) uint8 { FILE: pkg/efi/file.go type FirmwareFileHeader (line 11) | type FirmwareFileHeader struct type FileType (line 24) | type FileType method String (line 35) | func (f FileType) String() string { constant FileTypeSecurityCore (line 27) | FileTypeSecurityCore FileType = 3 constant FileTypePEICore (line 28) | FileTypePEICore FileType = 4 constant FileTypeDXECore (line 29) | FileTypeDXECore FileType = 5 constant FileTypeDriver (line 30) | FileTypeDriver FileType = 7 constant FileTypeApplication (line 31) | FileTypeApplication FileType = 9 constant FileTypePadding (line 32) | FileTypePadding FileType = 240 type FirmwareFile (line 55) | type FirmwareFile struct method Serialize (line 63) | func (f *FirmwareFile) Serialize() ([]byte, error) { function readFile (line 104) | func readFile(r *NestedReader) (*FirmwareFile, error) { FILE: pkg/efi/sections.go type SectionType (line 16) | type SectionType method String (line 30) | func (s SectionType) String() string { constant SectionTypeCompression (line 19) | SectionTypeCompression SectionType = 1 constant SectionTypeGUIDDefined (line 20) | SectionTypeGUIDDefined SectionType = 2 constant SectionTypePE32 (line 21) | SectionTypePE32 SectionType = 16 constant SectionTypeTE (line 22) | SectionTypeTE SectionType = 18 constant SectionTypeDXEDEPEX (line 23) | SectionTypeDXEDEPEX SectionType = 19 constant SectionTypeVersion (line 24) | SectionTypeVersion SectionType = 20 constant SectionTypeUserInterface (line 25) | SectionTypeUserInterface SectionType = 21 constant SectionTypeFirmwareVolumeImage (line 26) | SectionTypeFirmwareVolumeImage SectionType = 23 constant SectionTypeRaw (line 27) | SectionTypeRaw SectionType = 25 type SectionOrFile (line 55) | type SectionOrFile struct type Section (line 62) | type Section interface function readSections (line 78) | func readSections(r *NestedReader) ([]Section, error) { type commonSectionHeader (line 97) | type commonSectionHeader struct method Header (line 102) | func (c *commonSectionHeader) Header() *commonSectionHeader { method Raw (line 106) | func (c *commonSectionHeader) Raw() []byte { method SetRaw (line 110) | func (c *commonSectionHeader) SetRaw([]byte) { type compressionSection (line 113) | type compressionSection struct method Sub (line 122) | func (c *compressionSection) Sub() []SectionOrFile { method Serialize (line 148) | func (c *compressionSection) Serialize() ([]byte, error) { function concatSections (line 130) | func concatSections(sub []Section) ([]byte, error) { type guidSection (line 173) | type guidSection struct method Sub (line 184) | func (c *guidSection) Sub() []SectionOrFile { method Serialize (line 192) | func (c *guidSection) Serialize() ([]byte, error) { type leafSection (line 253) | type leafSection struct method Sub (line 258) | func (c *leafSection) Sub() []SectionOrFile { method Serialize (line 262) | func (c *leafSection) Serialize() ([]byte, error) { method Raw (line 274) | func (c *leafSection) Raw() []byte { method SetRaw (line 280) | func (c *leafSection) SetRaw(d []byte) { type NestedImageSection (line 286) | type NestedImageSection struct method Sub (line 291) | func (c *NestedImageSection) Sub() []SectionOrFile { method Serialize (line 302) | func (c *NestedImageSection) Serialize() ([]byte, error) { method Raw (line 318) | func (c *NestedImageSection) Raw() []byte { method SetRaw (line 322) | func (c *NestedImageSection) SetRaw(d []byte) { function readSection (line 326) | func readSection(r *NestedReader) (Section, error) { FILE: pkg/efi/volume.go type FirmwareVolumeHeader (line 13) | type FirmwareVolumeHeader struct method check (line 28) | func (h *FirmwareVolumeHeader) check() error { type Volume (line 45) | type Volume struct method Serialize (line 145) | func (v *Volume) Serialize() ([]byte, error) { type blockmap (line 53) | type blockmap struct function ReadVolume (line 62) | func ReadVolume(r *NestedReader) (*Volume, error) { FILE: pkg/exploit/decrypt/decrypt.go function Payload (line 25) | func Payload(ep exploit.Parameters) ([]byte, error) { function Trigger (line 37) | func Trigger(usb devices.Usb, ep exploit.Parameters, data []byte) ([]byt... type Option (line 56) | type Option struct function Decrypt (line 60) | func Decrypt(app *app.App, in []byte, recoveryPath string, options ...Op... FILE: pkg/exploit/dumpmem/dumpmem.go function Trigger (line 12) | func Trigger(usb devices.Usb, ep exploit.Parameters, addr uint32) ([]byt... FILE: pkg/exploit/exploit.go type Parameters (line 13) | type Parameters interface function ldrOrMov (line 46) | func ldrOrMov(r uasm.Register, val uint32) uasm.Statement { function makeCall (line 55) | func makeCall(addr uint32, params ...uint32) []uasm.Statement { function RCE (line 112) | func RCE(usb devices.Usb, ep Parameters, payload, data []byte) ([]byte, ... FILE: pkg/exploit/haxeddfu/haxeddfu.go constant ProductString (line 14) | ProductString = "haxed dfu" function makeStringDescriptor (line 16) | func makeStringDescriptor(s string) []byte { function Payload (line 27) | func Payload(ep exploit.Parameters) ([]byte, error) { function Trigger (line 45) | func Trigger(usb devices.Usb, ep exploit.Parameters, force bool) error { FILE: pkg/exploit/s5late_n7g.go type S5LateParameters (line 43) | type S5LateParameters struct method DFUBufAddr (line 54) | func (p *S5LateParameters) DFUBufAddr() uint32 { method ExecAddr (line 58) | func (p *S5LateParameters) ExecAddr() uint32 { method USBBufAddr (line 62) | func (p *S5LateParameters) USBBufAddr() uint32 { method SetupPacket (line 66) | func (p *S5LateParameters) SetupPacket() []byte { method NANDInit (line 70) | func (p *S5LateParameters) NANDInit(bank uint32) ([]uasm.Statement, er... method NANDReadPage (line 74) | func (p *S5LateParameters) NANDReadPage(bank, page, offset uint32) ([]... method NANDIdentify (line 78) | func (p *S5LateParameters) NANDIdentify() ([]uasm.Statement, uint32) { method NORInit (line 82) | func (p *S5LateParameters) NORInit(spino uint32) ([]uasm.Statement, er... method NORRead (line 86) | func (p *S5LateParameters) NORRead(spino, offset uint32) ([]uasm.State... method HaxedDFUPayload (line 90) | func (p *S5LateParameters) HaxedDFUPayload() []uasm.Statement { method TrampolineAddr (line 97) | func (p *S5LateParameters) TrampolineAddr() uint16 { method HandlerFooter (line 103) | func (p *S5LateParameters) HandlerFooter(addr uint32) []uasm.Statement { method AESCall (line 116) | func (p *S5LateParameters) AESCall() []uasm.Statement { method DisableICache (line 120) | func (p *S5LateParameters) DisableICache() []uasm.Statement { method Prepare (line 127) | func (p *S5LateParameters) Prepare(usb devices.Usb) error { type state (line 273) | type state struct type usbHandlers (line 366) | type usbHandlers struct FILE: pkg/exploit/wind3x_n3g.go constant FMC_BASE0 (line 13) | FMC_BASE0 = 0x38a00000 constant FMC_CTRL0_OFF (line 16) | FMC_CTRL0_OFF = 0x00 constant FMC_CTRL1_OFF (line 18) | FMC_CTRL1_OFF = 0x04 constant FMC_CMD_OFF (line 20) | FMC_CMD_OFF = 0x08 constant FMC_ADDR0_OFF (line 22) | FMC_ADDR0_OFF = 0x0c constant FMC_ADDR1_OFF (line 23) | FMC_ADDR1_OFF = 0x10 constant FMC_ADDR2_OFF (line 24) | FMC_ADDR2_OFF = 0x14 constant FMC_ANUM_OFF (line 26) | FMC_ANUM_OFF = 0x2c constant FMC_DNUM_OFF (line 28) | FMC_DNUM_OFF = 0x30 constant FMC_STAT_OFF (line 30) | FMC_STAT_OFF = 0x48 constant FMC_FIFO_OFF (line 32) | FMC_FIFO_OFF = 0x80 type epNano3G (line 35) | type epNano3G struct method Prepare (line 37) | func (_ *epNano3G) Prepare(_ devices.Usb) error { method DFUBufAddr (line 41) | func (_ *epNano3G) DFUBufAddr() uint32 { method ExecAddr (line 45) | func (_ *epNano3G) ExecAddr() uint32 { method USBBufAddr (line 49) | func (_ *epNano3G) USBBufAddr() uint32 { method TrampolineAddr (line 53) | func (_ *epNano3G) TrampolineAddr() uint16 { method SetupPacket (line 58) | func (_ *epNano3G) SetupPacket() []byte { method HandlerFooter (line 63) | func (_ *epNano3G) HandlerFooter(addr uint32) []uasm.Statement { method AESCall (line 77) | func (_ *epNano3G) AESCall() []uasm.Statement { method HaxedDFUPayload (line 81) | func (_ *epNano3G) HaxedDFUPayload() []uasm.Statement { method DisableICache (line 170) | func (_ *epNano3G) DisableICache() []uasm.Statement { method NANDInit (line 174) | func (_ *epNano3G) NANDInit(bank uint32) ([]uasm.Statement, error) { method NANDReadPage (line 189) | func (_ *epNano3G) NANDReadPage(bank, page, offset uint32) ([]uasm.Sta... method NANDIdentify (line 194) | func (_ *epNano3G) NANDIdentify() ([]uasm.Statement, uint32) { method NORInit (line 263) | func (_ *epNano3G) NORInit(spino uint32) ([]uasm.Statement, error) { method NORRead (line 287) | func (_ *epNano3G) NORRead(spino, offset uint32) ([]uasm.Statement, ui... FILE: pkg/exploit/wind3x_n45g.go type epNano45G (line 10) | type epNano45G struct method Prepare (line 14) | func (_ *epNano45G) Prepare(_ devices.Usb) error { method DFUBufAddr (line 18) | func (_ *epNano45G) DFUBufAddr() uint32 { method ExecAddr (line 22) | func (_ *epNano45G) ExecAddr() uint32 { method USBBufAddr (line 26) | func (_ *epNano45G) USBBufAddr() uint32 { method SetupPacket (line 30) | func (_ *epNano45G) SetupPacket() []byte { method NANDInit (line 34) | func (_ *epNano45G) NANDInit(bank uint32) ([]uasm.Statement, error) { method NANDReadPage (line 38) | func (_ *epNano45G) NANDReadPage(bank, page, offset uint32) ([]uasm.St... method NANDIdentify (line 42) | func (_ *epNano45G) NANDIdentify() ([]uasm.Statement, uint32) { method NORInit (line 46) | func (_ *epNano45G) NORInit(spino uint32) ([]uasm.Statement, error) { method NORRead (line 50) | func (_ *epNano45G) NORRead(spino, offset uint32) ([]uasm.Statement, u... method HaxedDFUPayload (line 54) | func (e *epNano45G) HaxedDFUPayload() []uasm.Statement { type epNano4G (line 111) | type epNano4G struct method TrampolineAddr (line 123) | func (_ *epNano4G) TrampolineAddr() uint16 { method HandlerFooter (line 127) | func (_ *epNano4G) HandlerFooter(addr uint32) []uasm.Statement { method AESCall (line 140) | func (_ *epNano4G) AESCall() []uasm.Statement { method DisableICache (line 144) | func (_ *epNano4G) DisableICache() []uasm.Statement { function newEPNano4G (line 115) | func newEPNano4G() *epNano4G { type epNano5G (line 148) | type epNano5G struct method TrampolineAddr (line 160) | func (_ *epNano5G) TrampolineAddr() uint16 { method HandlerFooter (line 164) | func (_ *epNano5G) HandlerFooter(addr uint32) []uasm.Statement { method AESCall (line 177) | func (_ *epNano5G) AESCall() []uasm.Statement { method DisableICache (line 181) | func (_ *epNano5G) DisableICache() []uasm.Statement { method NANDInit (line 185) | func (_ *epNano5G) NANDInit(bank uint32) ([]uasm.Statement, error) { method NANDReadPage (line 197) | func (_ *epNano5G) NANDReadPage(bank, page, offset uint32) ([]uasm.Sta... function newEPNano5G (line 152) | func newEPNano5G() *epNano5G { FILE: pkg/image/image.go constant FormatSignedEncrypted (line 15) | FormatSignedEncrypted byte = 1 constant FormatSigned (line 16) | FormatSigned byte = 2 constant FormatX509SignedEncrypted (line 17) | FormatX509SignedEncrypted byte = 3 constant FormatX509Signed (line 18) | FormatX509Signed byte = 4 type IMG1Header (line 23) | type IMG1Header struct function MakeUnsigned (line 38) | func MakeUnsigned(dk devices.Kind, entrypoint uint32, body []byte) ([]by... type IMG1 (line 100) | type IMG1 struct function Read (line 110) | func Read(r io.ReadSeeker) (*IMG1, error) { FILE: pkg/mse/modifications.go method FileByName (line 12) | func (m *MSE) FileByName(n string) *File { method Hax (line 21) | func (m *MSE) Hax() error { FILE: pkg/mse/mse.go type MSE (line 25) | type MSE struct method Serialize (line 275) | func (m *MSE) Serialize() ([]byte, error) { type File (line 40) | type File struct type PrefixHeader (line 53) | type PrefixHeader struct type FourCC (line 62) | type FourCC method String (line 64) | func (f *FourCC) String() string { method Set (line 70) | func (f *FourCC) Set(s string) { type VolumeHeader (line 80) | type VolumeHeader struct type FileHeader (line 87) | type FileHeader struct method Valid (line 109) | func (f *FileHeader) Valid() bool { function guessGeneration (line 119) | func guessGeneration(r io.ReadSeeker) (devices.Kind, error) { function Parse (line 159) | func Parse(r io.ReadSeeker) (*MSE, error) { FILE: pkg/syscfg/syscfg.go type Header (line 11) | type Header struct type Tag (line 20) | type Tag method String (line 22) | func (t Tag) String() string { type handler (line 28) | type handler type Values (line 30) | type Values struct method Debug (line 49) | func (v *Values) Debug(w io.Writer) { function Parse (line 60) | func Parse(r io.Reader) (*Values, error) { FILE: pkg/uasm/insns.go type Ldr (line 3) | type Ldr struct method hydrate (line 9) | func (l Ldr) hydrate(c *ctx) []byte { type Ldrb (line 17) | type Ldrb struct method hydrate (line 23) | func (l Ldrb) hydrate(c *ctx) []byte { type Str (line 31) | type Str struct method hydrate (line 37) | func (s Str) hydrate(c *ctx) []byte { type Strb (line 45) | type Strb struct method hydrate (line 51) | func (s Strb) hydrate(c *ctx) []byte { type Bx (line 59) | type Bx struct method hydrate (line 64) | func (b Bx) hydrate(c *ctx) []byte { type Blx (line 71) | type Blx struct method hydrate (line 76) | func (b Blx) hydrate(c *ctx) []byte { type B (line 83) | type B struct method hydrate (line 89) | func (b B) hydrate(c *ctx) []byte { type Mov (line 105) | type Mov struct method hydrate (line 111) | func (m Mov) hydrate(c *ctx) []byte { type And (line 119) | type And struct method hydrate (line 126) | func (a And) hydrate(c *ctx) []byte { type Or (line 135) | type Or struct method hydrate (line 142) | func (a Or) hydrate(c *ctx) []byte { type Add (line 151) | type Add struct method hydrate (line 158) | func (a Add) hydrate(c *ctx) []byte { type Sub (line 167) | type Sub struct method hydrate (line 174) | func (a Sub) hydrate(c *ctx) []byte { type Cmp (line 183) | type Cmp struct method hydrate (line 189) | func (m Cmp) hydrate(c *ctx) []byte { type Mcr (line 197) | type Mcr struct method hydrate (line 207) | func (m Mcr) hydrate(c *ctx) []byte { type Mrc (line 220) | type Mrc struct method hydrate (line 233) | func (m Mrc) hydrate(c *ctx) []byte { FILE: pkg/uasm/operands.go type DataSource (line 5) | type DataSource interface type LoadSource (line 11) | type LoadSource interface type StoreDest (line 16) | type StoreDest interface type BranchTarget (line 21) | type BranchTarget interface type Constant (line 26) | type Constant method encodeLoadSource (line 28) | func (t Constant) encodeLoadSource(c *ctx) uint32 { type MemoryDeref (line 38) | type MemoryDeref struct method encodeLoadSource (line 43) | func (m MemoryDeref) encodeLoadSource(c *ctx) uint32 { method encodeStoreDest (line 54) | func (m MemoryDeref) encodeStoreDest(c *ctx) uint32 { function Deref (line 65) | func Deref(r Register, offset uint16) MemoryDeref { type Immediate (line 73) | type Immediate method encodeDataSource (line 75) | func (i Immediate) encodeDataSource(c *ctx) uint32 { method encodeDataSource (line 97) | func (r Register) encodeDataSource(c *ctx) uint32 { FILE: pkg/uasm/uasm.go type Program (line 11) | type Program struct method Assemble (line 16) | func (p *Program) Assemble() []byte { type Register (line 60) | type Register method Encode (line 73) | func (r Register) Encode() uint32 { constant R0 (line 63) | R0 Register = 0 constant R1 (line 64) | R1 Register = 1 constant R2 (line 65) | R2 Register = 2 constant R3 (line 66) | R3 Register = 3 constant R4 (line 67) | R4 Register = 4 constant SP (line 68) | SP Register = 13 constant LR (line 69) | LR Register = 14 constant PC (line 70) | PC Register = 15 type Condition (line 77) | type Condition method Encode (line 84) | func (c Condition) Encode() uint32 { constant AL (line 80) | AL Condition = "" constant NE (line 81) | NE Condition = "NE" type Statement (line 95) | type Statement interface type ctx (line 106) | type ctx struct method AllocateConstant (line 117) | func (h *ctx) AllocateConstant(val uint32) uint32 { type instruction (line 131) | type instruction struct method size (line 134) | func (i instruction) size() uint32 { method preprocess (line 138) | func (i instruction) preprocess(c *ctx) { function offsetForward (line 141) | func offsetForward(from, to uint32) uint16 { function p32 (line 153) | func p32(u uint32) []byte { type Label (line 162) | type Label method size (line 164) | func (l Label) size() uint32 { method preprocess (line 168) | func (l Label) preprocess(c *ctx) { method hydrate (line 176) | func (l Label) hydrate(c *ctx) []byte { type LabelRef (line 180) | type LabelRef method resolveBranchTarget (line 182) | func (r LabelRef) resolveBranchTarget(c *ctx) uint32 { method encodeLoadSource (line 190) | func (r LabelRef) encodeLoadSource(c *ctx) uint32 { type Embed (line 200) | type Embed method size (line 202) | func (e Embed) size() uint32 { method preprocess (line 206) | func (e Embed) preprocess(_ *ctx) { method hydrate (line 209) | func (e Embed) hydrate(c *ctx) []byte { FILE: pkg/uasm/uasm_test.go function TestSample (line 9) | func TestSample(t *testing.T) { FILE: pkg/usbms/ipod.go type DeviceInformation (line 11) | type DeviceInformation struct method IPodDeviceInformation (line 17) | func (h *Host) IPodDeviceInformation() (*DeviceInformation, error) { constant IPodSubcommandUpdateStart (line 42) | IPodSubcommandUpdateStart uint8 = 0x90 constant IPodSubcommandUpdateChunk (line 43) | IPodSubcommandUpdateChunk uint8 = 0x91 constant IPodSubcommandUpdateEnd (line 44) | IPodSubcommandUpdateEnd uint8 = 0x92 constant IPodSubcommandRepartition (line 45) | IPodSubcommandRepartition uint8 = 0x94 constant IPodSubcommandUpdateFinalize (line 46) | IPodSubcommandUpdateFinalize uint8 = 0x31 method IPodRepartition (line 49) | func (h *Host) IPodRepartition(targetSize int) error { type IPodUpdateKind (line 72) | type IPodUpdateKind method IPodUpdateStart (line 79) | func (h *Host) IPodUpdateStart(kind IPodUpdateKind, size uint32) error { method IPodUpdateEnd (line 97) | func (h *Host) IPodUpdateEnd() error { method IPodUpdateSendChunk (line 113) | func (h *Host) IPodUpdateSendChunk(data []byte) error { method IPodUpdateSendFull (line 136) | func (h *Host) IPodUpdateSendFull(kind IPodUpdateKind, data []byte) error { method IPodFinalize (line 164) | func (h *Host) IPodFinalize(reset bool) error { FILE: pkg/usbms/scsi.go type OperationCode (line 15) | type OperationCode constant InquiryOp (line 18) | InquiryOp OperationCode = 0x12 constant ReadDefectDataOp (line 19) | ReadDefectDataOp OperationCode = 0x37 constant LogSenseOp (line 20) | LogSenseOp OperationCode = 0x4d type DataTransferDirection (line 23) | type DataTransferDirection constant DataTransferNone (line 26) | DataTransferNone DataTransferDirection = iota constant DataTransferToDevice (line 27) | DataTransferToDevice constant DataTransferFromDevice (line 28) | DataTransferFromDevice constant DataTransferBidirectional (line 29) | DataTransferBidirectional type CommandDataBuffer (line 33) | type CommandDataBuffer struct method Bytes (line 53) | func (c *CommandDataBuffer) Bytes() ([]byte, error) { FILE: pkg/usbms/usbms.go type CBW (line 11) | type CBW struct method Bytes (line 145) | func (c *CBW) Bytes() []byte { type CBS (line 21) | type CBS struct type Host (line 28) | type Host struct method InquiryVPD (line 33) | func (h *Host) InquiryVPD(page uint8, allocation uint16) ([]byte, erro... method RawCommand (line 62) | func (h *Host) RawCommand(cbd *CommandDataBuffer) error { method buildCBW (line 113) | func (h *Host) buildCBW(cbd *CommandDataBuffer, dataLength uint32) (*C... FILE: web/server/main.go function main (line 16) | func main() { FILE: web/src/components.ts class Disclaimer (line 34) | class Disclaimer extends LitElement { method render (line 46) | render() { method continue (line 90) | continue() { class RunError (line 107) | class RunError extends Error {} class DeviceConnected (line 110) | class DeviceConnected extends LitElement { method render (line 111) | render() { type Connected (line 115) | interface Connected { class HexDump (line 122) | class HexDump extends LitElement { method _dump (line 133) | private _dump(array: Array, offset: bigint): string { method render (line 161) | render() { type Step (line 168) | interface Step { class Progress (line 173) | class Progress { method constructor (line 176) | constructor() { method reset (line 180) | reset() { method step (line 184) | step(description: string): Step { class WTFDevice (line 200) | class WTFDevice extends LitElement { method render (line 234) | render() { method sendCFW (line 277) | sendCFW() { class DFUDevice (line 284) | class DFUDevice extends LitElement { method prepareStep (line 346) | private async prepareStep(kind: PayloadKind, name: string) { method render (line 395) | render() { method saveBootROM (line 469) | saveBootROM() { method dumpBootROM (line 473) | dumpBootROM() { method sendDefangedWTF (line 478) | sendDefangedWTF() { class Main (line 485) | class Main extends LitElement { method _connect (line 502) | private async _connect(): Promise { method runDFU (line 543) | private runDFU() { method runWTF (line 547) | private runWTF() { method switchedToWTF (line 554) | private switchedToWTF() { method startedCFW (line 558) | private startedCFW() { method render (line 565) | render() { class Root (line 723) | class Root extends LitElement { method render (line 744) | render() { FILE: web/src/edk2.ts type Compression (line 1) | interface Compression { type Exports (line 6) | interface Exports { function load (line 14) | async function load(): Promise { FILE: web/src/go.ts type PayloadKind (line 4) | enum PayloadKind { type DeviceKind (line 30) | enum DeviceKind { type InterfaceKind (line 40) | enum InterfaceKind { type DeviceDescription (line 46) | interface DeviceDescription { type StringDescriptors (line 54) | interface StringDescriptors { type App (line 59) | interface App { type Exports (line 69) | interface Exports { class Go (line 74) | class Go { function load (line 86) | async function load(): Promise { FILE: web/wiwali/main.go function async (line 26) | func async(f func(this js.Value, args []js.Value) (js.Value, error)) js.... function await (line 45) | func await(v js.Value) (js.Value, error) { function findDeviceAndKind (line 65) | func findDeviceAndKind(vid, pid int16) (*devices.Description, devices.In... function toUint8Array (line 79) | func toUint8Array(b []byte) js.Value { function fromUint8Array (line 87) | func fromUint8Array(v js.Value) ([]byte, error) { function newApp (line 98) | func newApp(this js.Value, args []js.Value) (js.Value, error) { function setup (line 215) | func setup(this js.Value, args []js.Value) (js.Value, error) { function main (line 238) | func main() { FILE: web/wiwali/store.go type indexedDBFS (line 13) | type indexedDBFS struct method ReadFile (line 51) | func (l *indexedDBFS) ReadFile(p string) ([]byte, error) { method WriteFile (line 90) | func (l *indexedDBFS) WriteFile(p string, data []byte) error { method Remove (line 118) | func (l *indexedDBFS) Remove(p string) error { method Exists (line 122) | func (l *indexedDBFS) Exists(p string) (bool, error) { function newIndexedDBFS (line 17) | func newIndexedDBFS() (*indexedDBFS, error) { FILE: web/wiwali/usb.go type usb (line 16) | type usb struct method UseDefaultInterface (line 20) | func (u *usb) UseDefaultInterface() error { method UseDiskInterface (line 34) | func (u *usb) UseDiskInterface() (devices.UsbMsEndpoints, error) { method Control (line 38) | func (u *usb) Control(rType, request uint8, val, idx uint16, data []by... method SetControlTimeout (line 99) | func (u *usb) SetControlTimeout(time.Duration) error { method GetStringDescriptor (line 104) | func (u *usb) GetStringDescriptor(descIndex int) (string, error) { method Close (line 134) | func (u *usb) Close() error {