亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? htpeil.cc

?? 功能較全面的反匯編器:反匯編器ht-2.0.15.tar.gz
?? CC
字號:
/* *	HT Editor *	htpeil.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 "formats.h"#include "htapp.h"#include "atom.h"#include "htcoff.h"#include "htctrl.h"#include "endianess.h"#include "hthex.h"#include "htiobox.h"#include "htnewexe.h"#include "htpe.h"#include "htpehead.h"#include "htpeil.h"#include "httag.h"#include "strtools.h"#include "snprintf.h"#include "pestruct.h"#include "ilopc.h"#include "ilstruct.h"#include <string.h>static ht_mask_ptable il_directory[] = {	{"size",           STATICTAG_EDIT_DWORD_LE("00000000")},	{"major version",  STATICTAG_EDIT_WORD_LE("00000004")},	{"minor version",  STATICTAG_EDIT_WORD_LE("00000006")},	{"metadata rva",   STATICTAG_EDIT_DWORD_LE("00000008")},	{"metadata size",  STATICTAG_EDIT_DWORD_LE("0000000c")},	{"attributes",     STATICTAG_EDIT_DWORD_LE("00000010")},	{"entrypoint token",STATICTAG_EDIT_DWORD_LE("00000014")},	{"resources rva",   STATICTAG_EDIT_DWORD_LE("00000018")},	{"resources size",  STATICTAG_EDIT_DWORD_LE("0000001c")},	{"strong name sig",  STATICTAG_EDIT_DWORD_LE("00000020")},	{"strong name sig",  STATICTAG_EDIT_DWORD_LE("00000024")},	{"code manager rva",   STATICTAG_EDIT_DWORD_LE("00000028")},	{"code manager size",  STATICTAG_EDIT_DWORD_LE("0000002c")},	{"vtable fixups rva",   STATICTAG_EDIT_DWORD_LE("00000030")},	{"vtable fixups size",   STATICTAG_EDIT_DWORD_LE("00000034")},	{"export address table",  STATICTAG_EDIT_DWORD_LE("00000038")},	{"export address table",  STATICTAG_EDIT_DWORD_LE("0000003c")},	{"managed native header", STATICTAG_EDIT_DWORD_LE("00000040")},	{0, 0}};static ht_mask_ptable metadata_section[] = {	{"magic",                 STATICTAG_EDIT_DWORD_LE("00000000")},	{"major_version",         STATICTAG_EDIT_WORD_LE("00000004")},	{"minor_version",         STATICTAG_EDIT_WORD_LE("00000006")},	{"unknown",               STATICTAG_EDIT_DWORD_LE("00000008")},	{"version_string_length", STATICTAG_EDIT_DWORD_LE("00000010")},	{0, 0}};static ht_view *htpeil_init(Bounds *b, File *file, ht_format_group *group){	ht_pe_shared_data *pe_shared=(ht_pe_shared_data *)group->get_shared_data();	if (pe_shared->opt_magic!=COFF_OPTMAGIC_PE32) return NULL;	uint32 sec_rva, sec_size;	FileOfs sec_ofs;	sec_rva = pe_shared->pe32.header_nt.directory[PE_DIRECTORY_ENTRY_IL].address;	sec_size = pe_shared->pe32.header_nt.directory[PE_DIRECTORY_ENTRY_IL].size;	if (!sec_rva || !sec_size) return NULL;	PE_IL_DIRECTORY dir;	bool pe_bigendian = false;	ht_pe_il_viewer *v;	if (!pe_rva_to_ofs(&pe_shared->sections, sec_rva, &sec_ofs)) goto read_error;			file->seek(sec_ofs);	if (file->read(&dir, sizeof dir) != sizeof dir) goto read_error;	createHostStruct(&dir, PE_IL_DIRECTORY_struct, little_endian);		if (sec_size != dir.size) goto read_error;		pe_shared->il = new ht_pe_il();	pe_shared->il->dir = dir;	v = new ht_pe_il_viewer();	v->init(b, DESC_PE_IL, VC_EDIT | VC_SEARCH, file, group);	pe_shared->v_il = v;	ht_mask_sub *s;//	ht_collapsable_sub *cs;		s = new ht_mask_sub();	s->init(file, 0);	char info[128];	ht_snprintf(info, sizeof info, "* COM+ directory at offset %08qx", sec_ofs);	s->add_mask(info);	v->insertsub(s);	/* FIXME: */		s=new ht_mask_sub();	s->init(file, 1);	s->add_staticmask_ptable(il_directory, sec_ofs, pe_bigendian);	v->insertsub(s);		FileOfs metadata_ofs;	if (pe_rva_to_ofs(&pe_shared->sections, dir.metadata_section_rva, &metadata_ofs)) {		/* read metadata section*/		IL_METADATA_SECTION metadata;		file->seek(metadata_ofs);		if (file->read(&metadata, sizeof metadata) == sizeof metadata) {			createHostStruct(&metadata, IL_METADATA_SECTION_struct, little_endian);			pe_shared->il->metadata = metadata;			uint32 add = 2;			if (metadata.minor_version == 1) {				// FIXME: align metadata.version_string_length				uint32 version_string_length;				file->read(&version_string_length, 4); // dummy				file->read(&version_string_length, 4);				version_string_length = createHostInt(&version_string_length, 4, little_endian);				add += version_string_length + 8;			}			FileOfs ofs = metadata_ofs + sizeof metadata + add;			file->seek(ofs);			uint16 count;			file->read(&count, 2);			count = createHostInt(&count, 2, little_endian);			pe_shared->il->entries = new Array(true);			for (uint i=0; i < count; i++) {				IL_METADATA_SECTION_ENTRY sec_entry;				ht_il_metadata_entry *entry;				// FIXME: error handling				file->read(&sec_entry, sizeof sec_entry);				createHostStruct(&sec_entry, IL_METADATA_SECTION_ENTRY_struct, little_endian);				String name("?");				file->readStringz(name);				int nlen = name.length() + 1;				uint32 dummy;				if (nlen % 4) {					// align properly					file->read(&dummy, 4 - nlen % 4);				}				entry = new ht_il_metadata_entry(name.contentChar(), metadata_ofs+sec_entry.offset, sec_entry.size);//				fprintf(stderr, "%s %x %x\n", name.contentChar(), metadata_ofs+sec_entry.offset, sec_entry.size);				pe_shared->il->entries->insert(entry);			}			for (uint i=0; i<count; i++) {				ht_il_metadata_entry *entry = (ht_il_metadata_entry *)(*pe_shared->il->entries)[i];				if (strcmp(entry->name, "#~") == 0) {					// token index					char dummy[8];					uint64 types;					file->seek(entry->offset);					file->read(&dummy, 8);					file->read(&types, 8);//					file->read();				} else if (strcmp(entry->name, "#US")==0) {					// stringpool					pe_shared->il->string_pool = ht_malloc(entry->size);					file->seek(entry->offset);					pe_shared->il->string_pool_size = file->read(pe_shared->il->string_pool, entry->size);				}			}		}			}		return v;read_error:	return NULL;}format_viewer_if htpeil_if = {	htpeil_init,	0};/* *	CLASS ht_pe_header_viewer */void ht_pe_il_viewer::init(Bounds *b, const char *desc, int caps, File *file, ht_format_group *group){	ht_uformat_viewer::init(b, desc, caps, file, group);	VIEW_DEBUG_NAME("ht_pe_il_viewer");}void ht_pe_il_viewer::done(){	ht_pe_shared_data *pe_shared=(ht_pe_shared_data *)format_group->get_shared_data();	if (pe_shared && pe_shared->il) {		free(pe_shared->il->string_pool);		delete pe_shared->il->entries;		delete pe_shared->il;	}	ht_uformat_viewer::done();}ht_il_metadata_entry::ht_il_metadata_entry(const char *n, uint32 o, uint32 s){	name = ht_strdup(n);	offset = o;	size = s;}ht_il_metadata_entry::~ht_il_metadata_entry(){	free(name);}/* *	NOTE: ILunpack returns result in host-endianess */int ILunpackDword(uint32 &result, const byte *buf, int len){	if (len) {		result = *(buf++);		len--;		if (result < 0x80) return 1; // one byte form		if (!len) return 0;		if ((result & 0xc0) == 0x80) {			// two byte form			result = ((result & 0x3f) << 8) | buf[0];			return 2;		} else if ((result & 0xe0) == 0xc0) {			// four byte form			if (len < 2) return 0;			result = ((result & 0x1F) << 24) |				    (((uint32)buf[0]) << 16) |				    (((uint32)buf[1]) << 8) |					 (uint32)buf[2];			return 4;		} else if ((result & 0xf0) == 0xe0) {			// five byte form			if (len < 3) return 0;			result = (((uint32)buf[0]) << 24) |				    (((uint32)buf[1]) << 16) |				    (((uint32)buf[2]) << 8) |					 (uint32)buf[3];			return 5;		}	}	return 0;}int ILunpackToken(uint32 &result, const byte *buf, int len){	int read = ILunpackDword(result, buf, len);	if (!read) return 0;	uint32 type;	switch (result & 0x03) {		case 0x00:			type = IL_META_TOKEN_TYPE_DEF;			break;		case 0x01:			type = IL_META_TOKEN_TYPE_REF;			break;		case 0x02:			type = IL_META_TOKEN_TYPE_SPEC;			break;		default:			type = IL_META_TOKEN_BASE_TYPE;	}	result = (result >> 2) | type;	return read;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级xxx| 国产精品亚洲一区二区三区妖精| 国内成人自拍视频| 中文字幕乱码日本亚洲一区二区| 久久久久国产免费免费 | 日本一区二区三区在线观看| 91.com在线观看| 国产美女视频一区| 国产传媒日韩欧美成人| 午夜a成v人精品| 蜜桃精品在线观看| 亚洲免费观看高清完整版在线观看熊| 日韩毛片高清在线播放| 一区二区三区不卡视频| 日日嗨av一区二区三区四区| 久久综合综合久久综合| 国产成都精品91一区二区三| 99热这里都是精品| 久久精品国产精品青草| 国产91丝袜在线播放九色| 亚洲在线中文字幕| 国产精品伦一区| 亚洲视频免费看| 欧美aⅴ一区二区三区视频| 国产福利91精品| 极品少妇一区二区三区精品视频| 丁香网亚洲国际| 国产一区二区0| 麻豆91免费看| 日本亚洲视频在线| 高清av一区二区| 国产成人啪午夜精品网站男同| 蜜臀久久99精品久久久久久9| 国产成人免费视频一区| 色噜噜久久综合| 91一区二区在线观看| 成人爽a毛片一区二区免费| 欧美系列在线观看| 国产欧美日韩中文久久| 久久久精品国产免大香伊| 亚洲国产精品一区二区www在线| 国产一区二区在线影院| 久久er精品视频| 在线影院国内精品| 国产日本欧美一区二区| 中文字幕第一区| 久久99精品国产麻豆婷婷洗澡| 免费在线观看精品| 日本美女一区二区三区视频| 日韩成人午夜电影| 色婷婷亚洲一区二区三区| 欧美午夜精品理论片a级按摩| 久久精品人人爽人人爽| 日本亚洲三级在线| 欧美日韩一本到| 亚洲人成网站在线| 波多野结衣中文字幕一区 | 欧美大度的电影原声| 精品国产91九色蝌蚪| 国产午夜一区二区三区| 蜜桃视频免费观看一区| 国产a视频精品免费观看| 91麻豆.com| 91精品国产黑色紧身裤美女| 日韩一区二区三区高清免费看看| 亚洲欧美日韩在线不卡| 不卡视频一二三四| 欧美日韩一区二区三区免费看| 欧美肥妇毛茸茸| 亚洲国产精品一区二区www| 激情深爱一区二区| 精品国产伦一区二区三区观看方式 | 亚洲一二三四在线观看| 日日骚欧美日韩| 在线综合视频播放| 日日夜夜一区二区| 欧美xxxxx牲另类人与| 久久国产尿小便嘘嘘| 精品国产乱码久久久久久1区2区 | 欧美系列一区二区| 亚洲国产欧美在线| 91精品国产综合久久久久久久 | 欧美三级蜜桃2在线观看| 亚洲一区二区三区四区在线免费观看| 日本精品视频一区二区三区| 亚洲欧美日本韩国| 欧美日韩国产小视频| 麻豆精品久久精品色综合| 欧美电影免费观看高清完整版在线观看 | 中文字幕免费一区| 色婷婷综合激情| 国产亚洲精品精华液| 成人免费观看视频| 亚洲自拍欧美精品| 欧美成人乱码一区二区三区| 韩国v欧美v亚洲v日本v| 91精品婷婷国产综合久久竹菊| 蜜臀av性久久久久蜜臀aⅴ| 91社区在线播放| 日日摸夜夜添夜夜添精品视频 | 亚洲va韩国va欧美va| 波多野结衣的一区二区三区| 26uuu色噜噜精品一区| av激情成人网| 日韩—二三区免费观看av| 99久久国产综合色|国产精品| 亚洲一区二区三区四区在线观看| 91小宝寻花一区二区三区| 国产欧美日韩三级| 韩国女主播一区| 亚洲影院免费观看| 久久一留热品黄| 国产一区二区不卡| 久久影院视频免费| 国产精品一区二区在线播放| 亚洲精品精品亚洲| 26uuu国产日韩综合| 色呦呦国产精品| 久久精品二区亚洲w码| 日韩欧美一卡二卡| 99精品欧美一区二区三区综合在线| 日韩主播视频在线| 一区二区久久久久| 欧美韩国日本综合| eeuss鲁片一区二区三区在线看| 日韩一区精品视频| 亚洲靠逼com| 精品视频在线视频| 成人午夜在线播放| 国产一区二区三区免费| 日韩高清一区在线| 亚洲精品高清视频在线观看| 国产色爱av资源综合区| 成人av午夜影院| 国产精品亚洲第一| 成人免费在线播放视频| 国产婷婷色一区二区三区四区 | 欧美国产视频在线| 99久久婷婷国产综合精品| 韩国毛片一区二区三区| 日韩中文字幕一区二区三区| 精品日韩欧美一区二区| 欧美一区二区三区在线观看 | 蜜臀av一级做a爰片久久| 欧美成人aa大片| 成人爱爱电影网址| 国产在线播放一区| 国产尤物一区二区| 国产在线精品一区二区三区不卡 | 亚洲国产aⅴ成人精品无吗| 欧美精品乱人伦久久久久久| 精品无人码麻豆乱码1区2区| 亚洲国产激情av| 欧美日韩成人综合在线一区二区 | 欧美一区二区三区免费大片| 欧美日韩在线三级| 欧美一区二区性放荡片| 粉嫩蜜臀av国产精品网站| 久久影院午夜片一区| 日本韩国欧美三级| 激情都市一区二区| 亚洲综合免费观看高清在线观看| 一区二区三区精品在线| 久久久久99精品国产片| 久久人人97超碰com| 综合久久综合久久| 久久国产尿小便嘘嘘尿| 激情小说亚洲一区| xnxx国产精品| 中文字幕精品综合| 一区二区三区四区亚洲| 欧美精品一区二区在线观看| 欧美性欧美巨大黑白大战| 欧美日韩情趣电影| 久久免费美女视频| 国产精品欧美综合在线| 伊人一区二区三区| 奇米影视在线99精品| 国产成人在线视频免费播放| 亚洲一区二区影院| 亚洲三级免费电影| 日本强好片久久久久久aaa| 经典一区二区三区| 日韩高清在线不卡| 国产成a人亚洲| 欧美另类z0zxhd电影| 久久久av毛片精品| 亚洲国产日韩a在线播放性色| 日本人妖一区二区| heyzo一本久久综合| 精品入口麻豆88视频| 色婷婷av一区二区三区之一色屋| 91麻豆精品国产自产在线| 一区二区三区在线观看动漫| 免费三级欧美电影| 91精品国产手机| 亚洲欧美激情小说另类| 久久不见久久见免费视频1| 欧美午夜免费电影| 色偷偷一区二区三区|