mirror of
https://github.com/ThatGuySam/doesitarm.git
synced 2026-05-18 06:44:46 -07:00
Add MachoManiac
This commit is contained in:
parent
04c0b7aeae
commit
50b1c46678
34 changed files with 5269 additions and 0 deletions
90
helpers/macho/macho.section.js
Normal file
90
helpers/macho/macho.section.js
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
//Global Constants
|
||||
|
||||
let SECTION_MASK = {
|
||||
SECTION_TYPE: 0x000000ff,
|
||||
SECTION_ATTRIBUTES: 0xffffff00
|
||||
toString = function() {
|
||||
return JSON.stringify(this);
|
||||
}
|
||||
};
|
||||
|
||||
let SECTION_TYPE = {
|
||||
REGULAR: 0,
|
||||
ZEROFILL: 1,
|
||||
CSTRING_LITERALS: 2,
|
||||
BYTE4_LITERALS: 3,
|
||||
BYTE8_LITERALS: 4,
|
||||
LITERAL_POINTERS: 5,
|
||||
NON_LAZY_SYMBOL_POINTERS: 6,
|
||||
LAZY_SYMBOL_POINTERS: 7,
|
||||
SYMBOL_STUBS: 8,
|
||||
MOD_INIT_FUNC_POINTERS: 9,
|
||||
MOD_TERM_FUNC_POINTERS: 0xa,
|
||||
COALESCED: 0xb,
|
||||
GB_ZEROFILL: 0xc,
|
||||
INTERPOSING: 0xd,
|
||||
BYTE16_LITERALS: 0xe,
|
||||
DTRACE_DOF: 0xf,
|
||||
LAZY_DYLIB_SYMBOL_POINTERS: 0x10,
|
||||
THREAD_LOCAL_REGULAR: 0x11,
|
||||
THREAD_LOCAL_ZEROFILL: 0x12,
|
||||
THREAD_LOCAL_VARIABLES: 0x13,
|
||||
THREAD_LOCAL_VARIABLE_POINTERS: 0x14,
|
||||
THREAD_LOCAL_INIT_FUNCTION_POINTERS: 0x15,
|
||||
toString: function() {
|
||||
return JSON.stringify(this);
|
||||
}
|
||||
};
|
||||
|
||||
let SECTION = {
|
||||
SECT_TEXT: "__text",
|
||||
SECT_FVMLIB_INIT0: "__fvmlib_init0",
|
||||
SECT_FVMLIB_INIT1: "__fvmlib_init1",
|
||||
SECT_DATA: "__data",
|
||||
SECT_BSS: "__bss",
|
||||
SECT_COMMON: "__common",
|
||||
SECT_OBJC_SYMBOLS: "__symbol_table",
|
||||
SECT_OBJC_MODULES: "__module_info",
|
||||
SECT_OBJC_STRINGS: "__selector_strs",
|
||||
SECT_OBJC_REFS: "__selector_refs",
|
||||
SECT_ICON_HEADER: "__header",
|
||||
SECT_ICON_TIFF: "__tiff",
|
||||
toString: function() {
|
||||
return JSON.stringify(this);
|
||||
}
|
||||
};
|
||||
|
||||
var Section = function Section(sectname, segname, addr, size, offset, align, reloff, nreloc, flags, reserved1, reserved2) {
|
||||
this.sectname = new Uint8Array(16);
|
||||
this.segname = new Uint8Array(16);
|
||||
this.addr = addr || 0x00000000;
|
||||
this.size = size || 0x00000000;
|
||||
this.offset = offset || 0x00000000;
|
||||
this.align = align || 0x00000000;
|
||||
this.reloff = reloff || 0x00000000;
|
||||
this.nreloc = nreloc || 0x00000000;
|
||||
this.flags = flags || 0x00000000;
|
||||
this.reserved1 = reserved1 || 0x00000000;
|
||||
this.reserved2 = reserved2 || 0x00000000;
|
||||
this.toString = function() {
|
||||
return JSON.stringify(this);
|
||||
};
|
||||
};
|
||||
|
||||
var Section64 = function Section64(sectname, segname, addr, size, offset, align, reloff, nreloc, flags, reserved1, reserved2, reserved3) {
|
||||
this.sectname = new Uint8Array(16);
|
||||
this.segname = new Uint8Array(16);
|
||||
this.addr = addr || 0x0000000000000000;
|
||||
this.size = size || 0x0000000000000000;
|
||||
this.offset = offset || 0x00000000;
|
||||
this.align = align || 0x00000000;
|
||||
this.reloff = reloff || 0x00000000;
|
||||
this.nreloc = nreloc || 0x00000000;
|
||||
this.flags = flags || 0x00000000;
|
||||
this.reserved1 = reserved1 || 0x00000000;
|
||||
this.reserved2 = reserved2 || 0x00000000;
|
||||
this.reserved3 = reserved3 || 0x00000000;
|
||||
this.toString = function() {
|
||||
return JSON.stringify(this);
|
||||
};
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue