machostruc.cc

来自「功能较全面的反汇编器:反汇编器ht-2.0.15.tar.gz」· CC 代码 · 共 357 行

CC
357
字号
/*  *	HT Editor *	machostruc.cc * *	Copyright (C) 1999-2002 Stefan Weyergraf * *	This program is free software; you can redistribute it and/or modify *	it under the terms of the GNU General Public License version 2 as *	published by the Free Software Foundation. * *	This program is distributed in the hope that it will be useful, *	but WITHOUT ANY WARRANTY; without even the implied warranty of *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *	GNU General Public License for more details. * *	You should have received a copy of the GNU General Public License *	along with this program; if not, write to the Free Software *	Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#include "machostruc.h"#include "endianess.h"byte MACHO_HEADER_struct[]= {	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	0};byte MACHO_HEADER_64_struct[]= {	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	0};byte MACHO_COMMAND_struct[]= {	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	0};byte MACHO_SEGMENT_COMMAND_struct[]= {	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	0};byte MACHO_SEGMENT_64_COMMAND_struct[]= {	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	0};byte MACHO_SECTION_struct[]= {// sectname	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,// segname	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,//	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	0};byte MACHO_SECTION_64_struct[]= {// sectname	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,// segname	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,//	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	0};byte MACHO_THREAD_COMMAND_struct[] = {	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	// .state not included !	0};byte MACHO_PPC_THREAD_STATE_struct[] = {	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	0};byte MACHO_PPC_64_THREAD_STATE_struct[] = {	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	0};byte MACHO_ARM_THREAD_STATE_struct[] = {	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	0};byte MACHO_I386_THREAD_STATE_struct[] = {	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	0};byte MACHO_X86_64_THREAD_STATE_struct[] = {	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	0};byte MACHO_SYMTAB_COMMAND_struct[] = {	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	0};byte MACHO_SYMTAB_NLIST_struct[] = {	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_16 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	0};byte MACHO_SYMTAB_NLIST_64_struct[] = {	STRUCT_ENDIAN_32 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_8 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_16 | STRUCT_ENDIAN_HOST,	STRUCT_ENDIAN_64 | STRUCT_ENDIAN_HOST,	0};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?