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

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

?? htpe.cc

?? 功能較全面的反匯編器:反匯編器ht-2.0.15.tar.gz
?? CC
字號:
/* *	HT Editor *	htpe.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 "log.h"#include "endianess.h"#include "htnewexe.h"#include "htpe.h"#include "htpehead.h"#include "htpeexp.h"#include "htpeil.h"#include "htpeimp.h"#include "htpedimp.h"#include "htpeimg.h"#include "htperes.h"#include "stream.h"#include "tools.h"#include <stdlib.h>#include <string.h>static format_viewer_if *htpe_ifs[] = {	&htpeheader_if,	&htpeexports_if,	&htpeimports_if,	&htpedelayimports_if,	&htperesources_if,	&htpeil_if,	&htpeimage_if,	0};static ht_view *htpe_init(Bounds *b, File *file, ht_format_group *format_group){	byte pemagic[4];	FileOfs h = get_newexe_header_ofs(file);	file->seek(h);	;	if (file->read(pemagic, 4) != 4 	 || pemagic[0] != PE_MAGIC0 || pemagic[1] != PE_MAGIC1	 || pemagic[2] != PE_MAGIC2 || pemagic[3] != PE_MAGIC3) return 0;	ht_pe *g = new ht_pe();	g->init(b, file, htpe_ifs, format_group, h);	return g;}format_viewer_if htpe_if = {	htpe_init,	0};/* *	CLASS ht_pe */void ht_pe::init(Bounds *b, File *file, format_viewer_if **ifs, ht_format_group *format_group, FileOfs header_ofs){	ht_format_group::init(b, VO_BROWSABLE | VO_SELECTABLE | VO_RESIZE, DESC_PE, file, false, true, 0, format_group);	VIEW_DEBUG_NAME("ht_pe");	String fn;	LOG("%y: PE: found header at 0x%08qx", &file->getFilename(fn), header_ofs);	ht_pe_shared_data *pe_shared = ht_malloc(sizeof (ht_pe_shared_data));	shared_data = pe_shared;	pe_shared->header_ofs = header_ofs;	pe_shared->exports.funcs = new Array(true);	pe_shared->dimports.funcs = new Array(true);	pe_shared->dimports.libs = new Array(true);	pe_shared->imports.funcs = new Array(true);	pe_shared->imports.libs = new Array(true);	pe_shared->il = NULL;	pe_shared->v_image = NULL;	pe_shared->v_dimports = NULL;	pe_shared->v_imports = NULL;	pe_shared->v_exports = NULL;	pe_shared->v_resources = NULL;	pe_shared->v_header = NULL;	/* read header */	file->seek(header_ofs+4);	file->readx(&pe_shared->coffheader, sizeof pe_shared->coffheader);	createHostStruct(&pe_shared->coffheader, COFF_HEADER_struct, little_endian);	file->readx(&pe_shared->opt_magic, sizeof pe_shared->opt_magic);	pe_shared->opt_magic = createHostInt(&pe_shared->opt_magic, sizeof pe_shared->opt_magic, little_endian);	file->seek(header_ofs+4+sizeof pe_shared->coffheader);	switch (pe_shared->opt_magic) {	case COFF_OPTMAGIC_PE32:		file->readx(&pe_shared->pe32.header, sizeof pe_shared->pe32.header);		createHostStruct(&pe_shared->pe32.header, COFF_OPTIONAL_HEADER32_struct, little_endian);		file->readx(&pe_shared->pe32.header_nt, sizeof pe_shared->pe32.header_nt);		createHostStruct(&pe_shared->pe32.header_nt, PE_OPTIONAL_HEADER32_NT_struct, little_endian);		for (uint i=0; i<PE_NUMBEROF_DIRECTORY_ENTRIES; i++) {			createHostStruct(&pe_shared->pe32.header_nt.directory[i], PE_DATA_DIRECTORY_struct, little_endian);		}		break;	case COFF_OPTMAGIC_PE64:		file->readx(&pe_shared->pe64.header, sizeof pe_shared->pe64.header);		createHostStruct(&pe_shared->pe64.header, COFF_OPTIONAL_HEADER64_struct, little_endian);		file->readx(&pe_shared->pe64.header_nt, sizeof pe_shared->pe64.header_nt);		createHostStruct(&pe_shared->pe64.header_nt, PE_OPTIONAL_HEADER64_NT_struct, little_endian);		for (uint i=0; i<PE_NUMBEROF_DIRECTORY_ENTRIES; i++) {			createHostStruct(&pe_shared->pe64.header_nt.directory[i], PE_DATA_DIRECTORY_struct, little_endian);		}		break;	}	/* read section headers */	int os=pe_shared->coffheader.optional_header_size;	pe_shared->sections.section_count=pe_shared->coffheader.section_count;	file->seek(header_ofs+os+sizeof(COFF_HEADER)+4/*magic*/);	pe_shared->sections.sections = ht_malloc(pe_shared->sections.section_count * sizeof *pe_shared->sections.sections);	file->readx(pe_shared->sections.sections, pe_shared->sections.section_count*sizeof *pe_shared->sections.sections);	for (uint i=0; i<pe_shared->sections.section_count; i++) {		createHostStruct(&pe_shared->sections.sections[i], COFF_SECTION_HEADER_struct, little_endian);		/*		 *	To make those uninitialized/initialized flags		 *	correct we guess a little		 *		if (pe_shared->sections.sections[i].data_size &&			pe_shared->sections.sections[i].data_offset) {			pe_shared->sections.sections[i].characteristics |= ;			pe_shared->sections.sections[i].characteristics ~= ;		} else {			pe_shared->sections.sections[i].characteristics |= ;			pe_shared->sections.sections[i].characteristics ~= ;		}*/	}	shared_data = pe_shared;	ht_format_group::init_ifs(ifs);}void ht_pe::done(){	ht_format_group::done();	ht_pe_shared_data *pe_shared = (ht_pe_shared_data*)shared_data;	delete pe_shared->exports.funcs;	delete pe_shared->dimports.funcs;	delete pe_shared->dimports.libs;	delete pe_shared->imports.funcs;	delete pe_shared->imports.libs;	free(pe_shared->sections.sections);	free(shared_data);}void ht_pe::loc_enum_start(){/*	ht_pe_shared_data *sh=(ht_pe_shared_data*)shared_data;	if (sh->opt_magic==COFF_OPTMAGIC_PE32) {		loc_enum=1;	} else {		loc_enum=0;	}*/}bool ht_pe::loc_enum_next(ht_format_loc *loc){#if 0	ht_pe_shared_data *sh=(ht_pe_shared_data*)shared_data;	if (loc_enum) {		loc->name="pe";		loc->start=sh->header_ofs;		// calc pe size		uint l=sizeof (COFF_HEADER) + sh->coffheader.optional_header_size;		// go through directories		for (uint i=0; i<16; i++) {			FileOfs o;			if (pe_rva_to_ofs(&sh->sections, sh->pe32.header_nt.directory[i].address, &o)) {				uint k=o+sh->pe32.header_nt.directory[i].size-sh->header_ofs;				l=MAX(k, l);			}		}		// go through sections		for (uint i=0; i<sh->sections.section_count; i++) {			uint k=sh->sections.sections[i].data_offset+sh->sections.sections[i].data_size-sh->header_ofs;			l=MAX(k, l);		}		loc->length=l;				loc_enum=0;		return true;	}	return false;#endif	return false;}/* *	rva conversion routines */bool pe_rva_to_ofs(pe_section_headers *section_headers, RVA rva, FileOfs *ofs){	COFF_SECTION_HEADER *s=section_headers->sections;	for (uint i=0; i<section_headers->section_count; i++) {		if ((rva>=s->data_address) &&		(rva<s->data_address+s->data_size)) {			*ofs=rva-s->data_address+s->data_offset;			return true;		}		s++;	}	return false;}bool pe_rva_to_section(pe_section_headers *section_headers, RVA rva, int *section){	COFF_SECTION_HEADER *s=section_headers->sections;	for (uint i=0; i<section_headers->section_count; i++) {		if ((rva>=s->data_address) &&		(rva<s->data_address+MAX(s->data_size, s->data_vsize))) {			*section=i;			return true;		}		s++;	}	return false;}bool pe_rva_is_valid(pe_section_headers *section_headers, RVA rva){	COFF_SECTION_HEADER *s=section_headers->sections;	for (uint i=0; i<section_headers->section_count; i++) {		if ((rva>=s->data_address) &&		(rva<s->data_address+MAX(s->data_size, s->data_vsize))) {			return true;		}		s++;	}	return false;}bool pe_rva_is_physical(pe_section_headers *section_headers, RVA rva){	COFF_SECTION_HEADER *s=section_headers->sections;	for (uint i=0; i<section_headers->section_count; i++) {		if ((rva>=s->data_address) &&		(rva<s->data_address+s->data_size)) {			return true;		}		s++;	}	return false;}/* *	ofs conversion routines */bool pe_ofs_to_rva(pe_section_headers *section_headers, FileOfs ofs, RVA *rva){	COFF_SECTION_HEADER *s=section_headers->sections;	for (uint i=0; i<section_headers->section_count; i++) {		if ((ofs>=s->data_offset) &&		(ofs<s->data_offset+s->data_size)) {			*rva=ofs-s->data_offset+s->data_address;			return true;		}		s++;	}	return false;}bool pe_ofs_to_section(pe_section_headers *section_headers, FileOfs ofs, int *section){	COFF_SECTION_HEADER *s=section_headers->sections;	for (uint i=0; i<section_headers->section_count; i++) {		if ((ofs>=s->data_offset) &&		(ofs<s->data_offset+s->data_size)) {			*section=i;			return true;		}		s++;	}	return false;}bool pe_ofs_to_rva_and_section(pe_section_headers *section_headers, FileOfs ofs, RVA *rva, int *section){	bool r = pe_ofs_to_rva(section_headers, ofs, rva);	if (r) {		r = pe_ofs_to_section(section_headers, ofs, section);	}	return r;}bool pe_ofs_is_valid(pe_section_headers *section_headers, FileOfs ofs){	RVA rva;	return pe_ofs_to_rva(section_headers, ofs, &rva);}/* * */ bool pe_section_name_to_section(pe_section_headers *section_headers, const char *name, int *section){	COFF_SECTION_HEADER *s = section_headers->sections;	int slen = strlen(name);	slen = MIN(slen, COFF_SIZEOF_SHORT_NAME);	for (uint i=0; i < section_headers->section_count; i++) {		if (ht_strncmp(name, (char*)&s->name, slen) == 0) {			*section = i;			return true;		}		s++;	}	return false;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕中文乱码欧美一区二区| 精品久久国产字幕高潮| 麻豆精品视频在线观看| 国产精品久久久久久久午夜片| 欧美日韩精品一二三区| a级高清视频欧美日韩| 捆绑调教美女网站视频一区| 日韩美女视频19| 精品噜噜噜噜久久久久久久久试看 | 日韩毛片视频在线看| 7777精品久久久大香线蕉| 91麻豆免费视频| 国产成人aaa| 久久成人久久鬼色| 亚洲电影在线播放| 一区二区三区精密机械公司| 国产精品免费aⅴ片在线观看| 中文字幕一区视频| 久久久久久电影| 欧美一区二区三区成人| 欧美日韩国产乱码电影| 在线免费不卡电影| 色94色欧美sute亚洲13| 成人h动漫精品一区二| 高清在线不卡av| 国产精品996| 国产一区视频在线看| 美国十次了思思久久精品导航| 亚洲电影一区二区| 天天操天天综合网| 天堂精品中文字幕在线| 亚洲图片自拍偷拍| 亚洲va欧美va天堂v国产综合| 亚洲激情校园春色| 亚洲一区中文日韩| 亚洲午夜久久久| 视频一区中文字幕国产| 午夜精品久久久久久久99樱桃 | 中文字幕日韩一区| 中文字幕五月欧美| 亚洲日本护士毛茸茸| 国产精品少妇自拍| 国产精品久久久久久久久免费相片| 国产欧美久久久精品影院| 日本一区二区三区国色天香| 亚洲国产精品v| 亚洲精品视频自拍| 亚洲国产日韩一级| 麻豆成人综合网| 国产a久久麻豆| 91影院在线观看| 欧美日韩精品专区| 日韩欧美高清dvd碟片| 久久久天堂av| 亚洲卡通动漫在线| 午夜久久久久久久久久一区二区| 日韩福利电影在线观看| 九九国产精品视频| 成人av在线一区二区| 色综合久久久久综合99| 欧美精品丝袜久久久中文字幕| 日韩欧美成人午夜| 国产精品另类一区| 亚洲一区二区视频在线观看| 日韩av中文字幕一区二区三区| 久久疯狂做爰流白浆xx| 国产91丝袜在线播放九色| 色综合一区二区| 91麻豆精品国产91久久久使用方法| 日韩精品一区二区三区在线观看| 亚洲国产岛国毛片在线| 亚洲一区国产视频| 国产在线播精品第三| 99在线视频精品| 91精品国产综合久久久久久漫画| 久久久久久久久久电影| 亚洲另类春色国产| 久久99精品久久只有精品| 成人午夜av电影| 欧美精品久久天天躁| 久久久久久免费网| 亚洲一区二区三区在线播放 | 色综合天天在线| 91麻豆精品国产91久久久更新时间| 国产午夜亚洲精品午夜鲁丝片| 自拍视频在线观看一区二区| 日韩黄色片在线观看| 国产毛片精品国产一区二区三区| 99天天综合性| 日韩一级精品视频在线观看| 国产精品无圣光一区二区| 亚洲一二三专区| 国产毛片精品国产一区二区三区| 在线亚洲精品福利网址导航| 精品久久国产老人久久综合| 国产精品毛片久久久久久| 午夜精品一区二区三区三上悠亚| 精品亚洲成av人在线观看| 91成人免费在线视频| 久久精品视频免费| 乱一区二区av| 欧美日韩一区小说| 亚洲女子a中天字幕| 高清成人免费视频| 欧美mv和日韩mv国产网站| 一级女性全黄久久生活片免费| 高清成人在线观看| 久久久蜜臀国产一区二区| 日本最新不卡在线| 欧美系列日韩一区| 亚洲精品免费视频| 97久久精品人人做人人爽| 国产日韩欧美电影| 国产综合色产在线精品| 日韩欧美国产一区二区三区| 午夜久久久久久| 欧美猛男男办公室激情| 一区二区三区国产| 91农村精品一区二区在线| 国产精品久久影院| 高潮精品一区videoshd| 久久伊人蜜桃av一区二区| 久久国产精品区| 日韩欧美电影在线| 免费精品99久久国产综合精品| 欧美日韩亚洲综合| 香港成人在线视频| 欧美日韩国产高清一区二区三区| 亚洲精品欧美激情| 欧美午夜精品一区二区三区| 亚洲激情中文1区| 欧美影院午夜播放| 亚洲va欧美va人人爽午夜| 欧美日韩国产首页| 日欧美一区二区| 欧美一区午夜视频在线观看| 日韩福利电影在线| 欧美mv日韩mv| 国产高清一区日本| 中文字幕一区二区三区色视频 | 99久久免费精品高清特色大片| 国产视频一区不卡| 成人涩涩免费视频| 亚洲精品国产品国语在线app| 91国产免费观看| 亚洲国产欧美日韩另类综合| 欧美丰满嫩嫩电影| 久久 天天综合| 国产欧美日韩亚州综合| 不卡电影一区二区三区| 亚洲乱码日产精品bd| 91福利在线播放| 日韩中文字幕一区二区三区| 日韩欧美国产午夜精品| 国产不卡视频在线观看| 亚洲色图另类专区| 欧美久久久久久久久中文字幕| 免费观看一级欧美片| 欧美激情艳妇裸体舞| 一本久道久久综合中文字幕 | 久久久精品欧美丰满| 成人h精品动漫一区二区三区| 亚洲日本韩国一区| 69精品人人人人| 国产寡妇亲子伦一区二区| 亚洲乱码一区二区三区在线观看| 欧美男女性生活在线直播观看| 久久99热这里只有精品| 国产精品美女久久久久av爽李琼| 欧美色视频在线观看| 精品亚洲国内自在自线福利| 亚洲欧洲av一区二区三区久久| 欧美色视频在线观看| 国产精品小仙女| 午夜久久久影院| 欧美国产日韩亚洲一区| 欧美日韩国产一二三| 国产91精品久久久久久久网曝门| 亚洲综合免费观看高清完整版在线 | 一本久久a久久精品亚洲| 日本va欧美va精品发布| 中文字幕av一区二区三区高| 欧美日韩精品电影| 成人动漫一区二区在线| 免费在线观看视频一区| 亚洲丝袜另类动漫二区| 精品国产精品一区二区夜夜嗨| www.成人在线| 韩国女主播一区二区三区| 亚洲男同1069视频| 26uuu另类欧美| 欧美日韩在线精品一区二区三区激情| 国产精品自拍一区| 日韩成人免费电影| 亚洲天堂网中文字| 2022国产精品视频| 在线播放91灌醉迷j高跟美女| 99视频热这里只有精品免费| 久久狠狠亚洲综合| 日韩精品一区第一页|