mirror of
https://github.com/ThatGuySam/doesitarm.git
synced 2026-05-18 06:44:46 -07:00
73 lines
3 KiB
JavaScript
73 lines
3 KiB
JavaScript
var FILE_TYPES = [];
|
|
var FILE_FLAGS = [];
|
|
|
|
|
|
/*
|
|
@Class FILE_TYPE
|
|
|
|
@Description
|
|
File Type is the class for identifying what MACH-O file is being dealed with.
|
|
*/
|
|
let FILE_TYPE = {
|
|
MH_OBJECT: 0x1, /* relocatable object file */
|
|
MH_EXECUTE: 0x2, /* demand paged executable file */
|
|
MH_FVMLIB: 0x3, /* fixed VM shared library file */
|
|
MH_CORE: 0x4, /* core file */
|
|
MH_PRELOAD: 0x5, /* preloaded executable file */
|
|
MH_DYLIB: 0x6, /* dynamicly bound shared library file*/
|
|
MH_DYLINKER: 0x7, /* dynamic link editor */
|
|
MH_BUNDLE: 0x8, /* dynamicly bound bundle file */
|
|
MH_DYLIB_STUB: 0x9,
|
|
MH_DSYM: 0xa,
|
|
MH_KEXT_BUNDLE: 0xb,
|
|
|
|
DESCRIPTION: function(search) {
|
|
let result = FILE_TYPES[search];
|
|
return (result != undefined) ? result : search;
|
|
},
|
|
|
|
toString: function() {
|
|
return JSON.stringify(this);
|
|
},
|
|
|
|
debugdescription: ""
|
|
};
|
|
|
|
FILE_TYPES[FILE_TYPE.MH_OBJECT] = 'Relocatable Object File';
|
|
FILE_TYPES[FILE_TYPE.MH_EXECUTE] = 'Demand Paged Executable File';
|
|
FILE_TYPES[FILE_TYPE.MH_FVMLIB] = 'Fixed Virtual Memory Shared Library File';
|
|
FILE_TYPES[FILE_TYPE.MH_CORE] = 'Core File';
|
|
FILE_TYPES[FILE_TYPE.MH_PRELOAD] = 'Preloaded Executable File';
|
|
FILE_TYPES[FILE_TYPE.MH_DYLIB] = 'Dynamically Bound Shared Library File';
|
|
FILE_TYPES[FILE_TYPE.MH_DYLINKER] = 'Dynamic Link Editor';
|
|
FILE_TYPES[FILE_TYPE.MH_BUNDLE] = 'Dynamically Bound Bundle File';
|
|
FILE_TYPES[FILE_TYPE.MH_DYLIB_STUB] = 'Dynamic Library Predefined Symbol';
|
|
FILE_TYPES[FILE_TYPE.MH_DSYM] = 'Dynamic Symbol';
|
|
FILE_TYPES[FILE_TYPE.MH_KEXT_BUNDLE] = 'Kernel Extension Bundle';
|
|
|
|
let FILE_FLAG = {
|
|
MH_NOUNDEFS: 0x1, /* the object file has no undefined references, can be executed */
|
|
MH_INCRLINK: 0x2, /* the object file is the output of an incremental link against a base file and can't be link edited again */
|
|
MH_DYLDLINK: 0x4, /* the object file is input for the dynamic linker and can't be staticly link edited again */
|
|
MH_BINDATLOAD: 0x8, /* the object file's undefined references are bound by the dynamic linker when loaded. */
|
|
MH_PREBOUND: 0x10, /* the file has it's dynamic undefined references prebound. */
|
|
|
|
DESCRIPTION: function(search) {
|
|
|
|
let result = FILE_FLAGS[search];
|
|
return (result != undefined) ? result : search;
|
|
},
|
|
|
|
toString: function() {
|
|
return JSON.stringify(this);
|
|
}
|
|
};
|
|
|
|
FILE_FLAGS[FILE_FLAG.MH_NOUNDEFS] = 'The object file has no undefined references and is executable.';
|
|
FILE_FLAGS[FILE_FLAG.MH_INCRLINK] = 'The object file is the output of an incremental link against a base file and can not be link edited again.';
|
|
FILE_FLAGS[FILE_FLAG.MH_DYLDLINK] = 'The object file is the input for the dynamic linker and can not be staticly link edited again.';
|
|
FILE_FLAGS[FILE_FLAG.MH_BINDATLOAD] = 'The object file\'s undefined references are bound by the dynamic linker when loaded.';
|
|
FILE_FLAGS[FILE_FLAG.MH_PREBOUND] = 'The file has it\'s dynamic undefined references prebound.';
|
|
|
|
|
|
export { FILE_TYPES, FILE_FLAGS, FILE_TYPE, FILE_FLAG }
|