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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? xex_analy.cc

?? 功能較全面的反匯編器:反匯編器ht-2.0.15.tar.gz
?? CC
字號:
/* *	HT Editor *	xex_analy.cc * *	Copyright (C) 2006 Sebastian Biallas (sb@biallas.net) * *	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 <stdio.h>#include <stdlib.h>#include <string.h>#include "analy.h"#include "analy_names.h"#include "analy_register.h"#include "analy_ppc.h"#include "htctrl.h"#include "htdebug.h"#include "htiobox.h"#include "htxex.h"#include "strtools.h"#include "xex_analy.h"#include "xexstruct.h"#include "snprintf.h"void	XEXAnalyser::init(ht_xex_shared_data *XEX_shared, File *File){	xex_shared = XEX_shared;	file = File;	validarea = new Area();	validarea->init();	Analyser::init();}/* * */void	XEXAnalyser::load(ObjectStream &f){	GET_OBJECT(f, validarea);	Analyser::load(f);}/* * */void	XEXAnalyser::done(){	validarea->done();	delete validarea;	Analyser::done();}/* * */void XEXAnalyser::beginAnalysis(){	char	buffer[1024];		Address *entry = createAddress32(xex_shared->entrypoint);	pushAddress(entry, entry);	int lib_count=xex_shared->imports.lib_count;	for (int i=0; i < lib_count; i++) {		XexImportLib *lib = xex_shared->imports.libs + i;		for (int j = 0; j < lib->func_count; j++) {			XexImportFunc *func = lib->funcs + j;			uint32 ord = func->ord;			if (ord & 0xff000000) {				int libidx = (ord & 0x00ff0000) >> 16;				ord &= 0x7fff;				if (libidx != i) {					continue;				}				char s[200];				ht_snprintf(s, sizeof s, "wrapper_import_%s_%d", lib->name, ord);				Address *faddr = createAddress32(func->patch);				addComment(faddr, 0, "");				assignSymbol(faddr, s, label_func);				delete faddr;				faddr = createAddress32(func->patch+12);								Address *faddr2 = createAddress32(func->ia);				addXRef(faddr2, faddr, xrefijump);				delete faddr;				delete faddr2;				//				printf("xref 0x%08x -> 0x%08x\n", ia, imports[i].func[j].patch + 12);							} else {				char s[200];				ord &= 0x7fff;				ht_snprintf(s, sizeof s, "import_%s_%d", lib->name, ord);				Address *faddr = createAddress32(func->patch);				addComment(faddr, 0, "");				assignSymbol(faddr, s, label_func);				data->setIntAddressType(faddr, dst_idword, 4);				delete faddr;				//				printf("function_ptr 0x%08x name '%s'\n", imports[i].func[j].patch, s);			}					}	}#if 0	int dimport_count=xex_shared->dimports.funcs->count();	entropy = random_permutation(dimport_count);	for (int i=0; i<dimport_count; i++) {		// FIXME: delay imports need work (push addr)		ht_pe_import_function *f=(ht_pe_import_function *)(*xex_shared->dimports.funcs)[entropy[i]];		ht_pe_import_library *d=(ht_pe_import_library *)(*xex_shared->dimports.libs)[f->libidx];		if (f->byname) {			ht_snprintf(buffer, sizeof buffer, "; delay import function loader for %s, ordinal %04x", f->name.name, f->ordinal);		} else {			ht_snprintf(buffer, sizeof buffer, "; delay import function loader for ordinal %04x", f->ordinal);		}		char *label;		label = import_func_name(d->name, f->byname ? f->name.name : NULL, f->ordinal);		Address *faddr;		if (pe32) {			faddr = createAddress32(f->address);		} else {			faddr = createAddress64(f->address);		}		addComment(faddr, 0, "");		addComment(faddr, 0, ";********************************************************");		addComment(faddr, 0, buffer);		addComment(faddr, 0, ";********************************************************");		assignSymbol(faddr, label, label_func);		free(label);		delete faddr;	}	if (entropy) free(entropy);#endif	addComment(entry, 0, "");	addComment(entry, 0, ";****************************");	addComment(entry, 0, ";  program entry point");	addComment(entry, 0, ";****************************");	assignSymbol(entry, "entrypoint", label_func);	setLocationTreeOptimizeThreshold(1000);	setSymbolTreeOptimizeThreshold(1000);	delete entry;	Analyser::beginAnalysis();}/* * */ObjectID	XEXAnalyser::getObjectID() const{	return ATOM_XEX_ANALYSER;}/* * */uint XEXAnalyser::bufPtr(Address *Addr, byte *buf, int size){	FileOfs ofs = addressToFileofs(Addr);/*	if (ofs == INVALID_FILE_OFS) {		int as=0;	}*/	assert(ofs != INVALID_FILE_OFS);	file->seek(ofs);	return file->read(buf, size);}bool XEXAnalyser::convertAddressToRVA(Address *addr, RVA *r){	ObjectID oid = addr->getObjectID();	if (oid == ATOM_ADDRESS_FLAT_32) {		*r = ((AddressFlat32*)addr)->addr - xex_shared->image_base;		return true;	}	return false;}/* * */Address *XEXAnalyser::createAddress32(uint32 addr){	return new AddressFlat32(addr);}Address *XEXAnalyser::createAddress(){	return new AddressFlat32();}/* * */FileOfs XEXAnalyser::addressToFileofs(Address *Addr){	if (validAddress(Addr, scinitialized)) {		FileOfs ofs;		RVA r;		if (!convertAddressToRVA(Addr, &r)) return INVALID_FILE_OFS;		if (!xex_rva_to_ofs(xex_shared, r, ofs)) return INVALID_FILE_OFS;		return ofs;	} else {		return INVALID_FILE_OFS;	}}/* * */const char *XEXAnalyser::getSegmentNameByAddress(Address *Addr){	return "";}/* * */String &XEXAnalyser::getName(String &s){	return file->getDesc(s);}/* * */const char *XEXAnalyser::getType(){	return "XEX/Analyser";}/* * */void XEXAnalyser::initUnasm(){	analy_disasm = new AnalyPPCDisassembler();	((AnalyPPCDisassembler*)analy_disasm)->init(this, ANALY_PPC_32);}/* * */Address *XEXAnalyser::nextValid(Address *Addr){	return (Address *)validarea->findNext(Addr);}/* * */void XEXAnalyser::store(ObjectStream &st) const{	PUT_OBJECT(st, validarea);	Analyser::store(st);}/* * */Address *XEXAnalyser::fileofsToAddress(FileOfs fileofs){	RVA r;	if (xex_ofs_to_rva(xex_shared, fileofs, r)) {		return createAddress32(r + xex_shared->image_base);	} else {		return new InvalidAddress();	}}/* * */bool XEXAnalyser::validAddress(Address *Addr, tsectype action){//	e_section_headers *sections=&xex_shared->sections;	int sec;	RVA r;	FileOfs ofs;	if (!convertAddressToRVA(Addr, &r)) return false;//	if (!pe_rva_to_section(sections, r, &sec)) return false;	if (!xex_rva_to_ofs(xex_shared, r, ofs)) return false;	uint32 flags = xex_get_rva_flags(xex_shared, r);	switch (action) {	case scvalid:	case scinitialized:	case scread:		return true;		return true;	case scwrite:	case screadwrite:		return !(flags & 1);	case sccode:		return !(flags & 2);	}	return true;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品免费免费| 国产精品久久久99| 成年人国产精品| 一区二区三区欧美日| 精品日韩一区二区三区免费视频| 国产一区二区三区免费在线观看| 一区二区三区欧美久久| 欧美精品一区二区三区在线| 99re成人精品视频| 日韩avvvv在线播放| 亚洲美女屁股眼交| 精品成人a区在线观看| 色美美综合视频| 亚洲综合一二区| 国产色91在线| 7777精品伊人久久久大香线蕉经典版下载| 国产又黄又大久久| 亚洲影视在线观看| 最新国产成人在线观看| 精品国产一区久久| 欧美视频一区二区| 婷婷开心激情综合| 亚洲天堂2014| 日韩一二三四区| 欧美性三三影院| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品黄色在线观看| 欧美精品一级二级三级| 99久久婷婷国产综合精品| 精品一二三四在线| 日韩精品免费视频人成| 国产亚洲美州欧州综合国| 制服丝袜av成人在线看| 在线一区二区三区四区| 日韩成人一级片| 亚洲资源在线观看| 国产欧美一区二区精品性色超碰 | 91丨九色丨黑人外教| 精品一区二区三区欧美| 国产欧美精品一区二区三区四区| 精品国产一区二区亚洲人成毛片 | 一区二区在线看| 国产亚洲精久久久久久| 精品国产免费人成电影在线观看四季 | 免费在线观看日韩欧美| 亚洲综合清纯丝袜自拍| 中文字幕亚洲精品在线观看| 在线观看91视频| 91久久精品网| 一道本成人在线| 99久久99久久精品免费看蜜桃| 秋霞国产午夜精品免费视频| 青青草精品视频| 日韩在线播放一区二区| 日日嗨av一区二区三区四区| 午夜久久福利影院| 精品一区二区三区欧美| 精品无码三级在线观看视频| 老司机午夜精品| 亚洲精品伦理在线| 日韩av一级片| 精品一区二区三区在线视频| 久久99国产精品免费| 午夜久久电影网| 九九视频精品免费| 国产成人久久精品77777最新版本| 国产一区二区三区不卡在线观看 | 亚洲视频在线一区| 国产精品二三区| 亚洲麻豆国产自偷在线| 国产精品国产a| 国产精品美女久久久久av爽李琼| 国产精品传媒在线| 亚洲欧美日韩久久精品| 亚洲成人一区在线| 丝袜美腿成人在线| 免费观看日韩av| 国产成人精品aa毛片| 国内精品第一页| 国产精品1024| 91浏览器打开| 91麻豆精品91久久久久久清纯| 精品国产91亚洲一区二区三区婷婷| 欧美色爱综合网| 久久久精品综合| 国产精品久久久久aaaa樱花| 亚洲午夜电影在线观看| 麻豆91在线观看| 国产成人在线视频播放| 欧美在线999| www激情久久| 亚洲综合色丁香婷婷六月图片| 亚洲精品福利视频网站| 精品一区二区在线视频| 成人激情黄色小说| 欧美久久婷婷综合色| 久久久久免费观看| 亚洲国产成人tv| 久久国产乱子精品免费女| 在线这里只有精品| 久久久久久久av麻豆果冻| 一区二区三区小说| 国产成人免费在线视频| 欧美中文字幕一区| 中文字幕av一区二区三区| 久久国产尿小便嘘嘘尿| 欧美日韩在线精品一区二区三区激情| 中文字幕av不卡| 国产在线不卡一区| 日韩欧美亚洲国产精品字幕久久久 | 午夜久久久久久电影| 99久久99久久精品国产片果冻| 久久综合色综合88| 麻豆精品在线看| 欧美一三区三区四区免费在线看| 一区二区三区在线观看欧美| 不卡av在线网| 国产精品久久夜| 成人免费视频国产在线观看| www精品美女久久久tv| 青青草国产成人av片免费| 欧美天堂亚洲电影院在线播放| 中文字幕日韩一区| 不卡在线视频中文字幕| 国产日韩欧美一区二区三区乱码| 国产呦萝稀缺另类资源| 久久天堂av综合合色蜜桃网| 老司机一区二区| 精品久久久久一区| 久久国产夜色精品鲁鲁99| 日韩写真欧美这视频| 青青草91视频| 欧美大白屁股肥臀xxxxxx| 毛片av一区二区| 精品三级在线看| 国模少妇一区二区三区| 2024国产精品视频| 国产精品一区在线观看你懂的| 久久人人爽人人爽| 成人午夜碰碰视频| 中文字幕在线观看一区| 99精品视频在线观看免费| 亚洲私人黄色宅男| 欧美在线播放高清精品| 五月婷婷综合网| 欧美成人r级一区二区三区| 蜜桃视频第一区免费观看| 日韩欧美一区二区不卡| 国精品**一区二区三区在线蜜桃| 精品sm捆绑视频| 成人高清av在线| 亚洲欧洲日韩av| 色婷婷久久久综合中文字幕| 尤物视频一区二区| 6080日韩午夜伦伦午夜伦| 久草在线在线精品观看| 中文字幕第一区二区| 99精品视频在线免费观看| 亚洲国产精品尤物yw在线观看| 日韩午夜中文字幕| 国产精品一区三区| 亚洲伦在线观看| 69堂国产成人免费视频| 国产做a爰片久久毛片| 综合久久给合久久狠狠狠97色| 欧美三级日韩在线| 精品一区二区三区在线视频| 国产精品久久久久久久久果冻传媒| 色综合一区二区| 美腿丝袜亚洲综合| 国产精品成人一区二区三区夜夜夜| 欧美色图免费看| 国产又黄又大久久| 亚洲精品va在线观看| 精品国产免费久久| 色一情一乱一乱一91av| 紧缚捆绑精品一区二区| 亚洲女爱视频在线| 26uuu成人网一区二区三区| 99久久免费视频.com| 欧美aaaaaa午夜精品| 亚洲午夜电影网| 久久精品人人做| 欧美日高清视频| 国产iv一区二区三区| 五月天激情综合网| 国产精品素人一区二区| 日韩亚洲欧美一区| 在线观看日韩av先锋影音电影院| 久久草av在线| 亚洲成人精品一区二区| 国产精品美女久久久久久2018| 777a∨成人精品桃花网| 91女神在线视频| 国产成人在线看| 久久99最新地址| 首页国产丝袜综合| 亚洲精品精品亚洲| 国产精品久久久久影院| 欧美电影免费观看高清完整版在线 |