⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 javaopc.cc

📁 功能较全面的反汇编器:反汇编器ht-2.0.15.tar.gz
💻 CC
字号:
/*  *	HT Editor *	javaopc.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 "javaopc.h"#include <stdio.h>#define A	JOPC_TYPE_ATYPE | JOPC_SIZE_SMALL#define B	JOPC_TYPE_CHAR  | JOPC_SIZE_SMALL#define U	JOPC_TYPE_BYTE  | JOPC_SIZE_SMALL#define S	JOPC_TYPE_SHORT | JOPC_SIZE_SMALL#define Sw	JOPC_TYPE_SIMM  | JOPC_SIZE_VAR#define Cs	JOPC_TYPE_CONST | JOPC_SIZE_SMALL#define Cw	JOPC_TYPE_CONST | JOPC_SIZE_WIDE#define O 	JOPC_TYPE_LOCAL | JOPC_SIZE_VAR#define Ls	JOPC_TYPE_LABEL | JOPC_SIZE_SMALL#define Lw	JOPC_TYPE_LABEL | JOPC_SIZE_WIDEjavaopc_insn java_insns[256] = {// 0x0 - 0xf{"nop"},{"aconst_null"},{"iconst_m1"},{"iconst_0"},{"iconst_1"},{"iconst_2"},{"iconst_3"},{"iconst_4"},{"iconst_5"},{"lconst_0"},{"lconst_1"},{"fconst_0"},{"fconst_1"},{"fconst_2"},{"dconst_0"},{"dconst_1"},// 0x10-0x1f{"bipush", {B}},{"sipush", {S}},{"ldc", {Cs}},{"ldc_w", {Cw}},{"ldc2_w", {Cw}},{"iload", {O}},{"lload", {O}},{"fload", {O}},{"dload", {O}},{"aload", {O}},{"iload_0"},{"iload_1"},{"iload_2"},{"iload_3"},{"lload_0"},{"lload_1"},// 0x20-0x2f{"lload_2"},{"lload_3"},{"fload_0"},{"fload_1"},{"fload_2"},  {"fload_3"},{"dload_0"},{"dload_1"},{"dload_2"},{"dload_3"},{"aload_0"},{"aload_1"},{"aload_2"},{"aload_3"},{"iaload"},{"laload"},// 0x30-0x3f{"faload"},{"daload"},{"aaload"},{"baload"},{"caload"},{"saload"},{"istore", {O}},{"lstore", {O}},{"fstore", {O}},{"dstore", {O}},{"astore", {O}},{"istore_0"},{"istore_1"},{"istore_2"},{"istore_3"},{"lstore_0"},// 0x40-0x4f{"lstore_1"},{"lstore_2"},{"lstore_3"},{"fstore_0"},{"fstore_1"},{"fstore_2"},{"fstore_3"},{"dstore_0"},{"dstore_1"},{"dstore_2"},{"dstore_3"},{"astore_0"},{"astore_1"},{"astore_2"},{"astore_3"},{"iastore"},// 0x50-0x5f{"lastore"},{"fastore"},{"dastore"},{"aastore"},{"bastore"},{"castore"},{"sastore"},{"pop"},{"pop2"},{"dup"},{"dup_x1"},{"dup_x2"},{"dup2"},{"dup2_x1"},{"dup2_x2"},{"swap"},// 0x60-0x6f{"iadd"},{"ladd"},{"fadd"},{"dadd"},{"isub"},{"lsub"},{"fsub"},{"dsub"},{"imul"},{"lmul"},{"fmul"},{"dmul"},{"idiv"},{"ldiv"},{"fdiv"},{"ddiv"},// 0x70-0x7f{"irem"},{"lrem"},{"frem"},{"drem"},{"ineg"},{"lneg"},{"fneg"},{"dneg"},{"ishl"},{"lshl"},{"ishr"},{"lshr"},{"iushr"},{"lushr"},{"iand"},{"land"},// 0x80-0x8f{"ior"},{"lor"},{"ixor"},{"lxor"},{"iinc", {O, Sw}},{"i2l"},{"i2f"},{"i2d"},{"l2i"},{"l2f"},{"l2d"},{"f2i"},{"f2l"},{"f2d"},{"d2i"},{"d2l"},// 0x90-0x9f{"d2f"},{"i2b"},{"i2c"},{"i2s"},{"lcmp"},{"fcmpl"},{"fcmpg"},{"dcmpl"},{"dcmpg"},{"ifeq", {Ls}},{"ifne", {Ls}},{"iflt", {Ls}},{"ifge", {Ls}},{"ifgt", {Ls}},{"ifle", {Ls}},{"if_icmpeq", {Ls}},// 0xa0-0xaf{"if_icmpne", {Ls}},{"if_icmplt", {Ls}},{"if_icmpge", {Ls}},{"if_icmpgt", {Ls}},{"if_icmple", {Ls}},{"if_acmpeq", {Ls}},{"if_acmpne", {Ls}},{"goto", {Ls}},{"jsr", {Ls}},{"ret", {O}},{"tableswitch"},{"lookupswitch"},{"ireturn"},{"lreturn"},{"freturn"},{"dreturn"},// 0xb0-0xbf{"areturn"},{"return"},{"getstatic", {Cw}},{"putstatic", {Cw}},{"getfield", {Cw}},{"putfield", {Cw}},{"invokevirtual", {Cw}},{"invokespecial", {Cw}},{"invokestatic", {Cw}},{"invokeinterface", {Cw, B}},{"xxxunusedxxx"},{"new", {Cw}},{"newarray", {A}},{"anewarray", {Cw}},{"arraylength"},{"athrow"},// 0xc0-0xcf{"checkcast", {Cw}},{"instanceof", {Cw}},{"monitorenter"},{"monitorexit"},{"wide"},{"multianewarray", {Cw, B}},    //?{"ifnull", {Ls}},{"ifnonnull", {Ls}},{"goto_w", {Lw}},{"jsr_w", {Lw}},{"breakpoint"},{"ldc_quick"},{"ldc_w_quick"},{"ldc2_w_quick"},{"getfield_quick"},{"putfield_quick"},// 0xd0-0xdf{"getfield2_quick"},{"putfield2_quick"},{"getstatic_quick"},{"putstatic_quick"},{"getstatic2_quick"},{"putstatic2_quick"},{"invokevirtual_quick"},{"invokenonvirtual_quick"},{"invokesuper_quick"},{"invokestatic_quick"},{"invokeinterface_quick"},{"invokevirtualobject_quick"},{NULL},{"new_quick"},{"anewarray_quick"},{"multianewarray_quick"},// 0xe0-0xef// e0-e3{"checkcast_quick"},{"instanceof_quick"},{"invokevirtual_quick_w"},{"getfield_quick_w"},// e4-e7{"putfield_quick_w"}, {NULL}, {NULL}, {NULL},// e8-eb{NULL}, {NULL}, {NULL}, {NULL},// ec-ef{NULL}, {NULL}, {NULL}, {NULL},// f0-f3{NULL}, {NULL}, {NULL}, {NULL},// f4-f7{NULL}, {NULL}, {NULL}, {NULL},// f8-fb{NULL}, {NULL}, {NULL}, {NULL},// fc-ff{NULL}, {NULL},{"impdep1"},{"impdep2"}};

⌨️ 快捷键说明

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