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

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

?? blockop.cc

?? 功能較全面的反匯編器:反匯編器ht-2.0.15.tar.gz
?? CC
?? 第 1 頁 / 共 2 頁
字號:
/* *	HT Editor *	blockop.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 <stdlib.h>#include <string.h>#include "blockop.h"#include "cmds.h"#include "atom.h"#include "htctrl.h"#include "endianess.h"#include "hteval.h"#include "except.h"#include "hthist.h"#include "htiobox.h"#include "keyb.h"#include "strtools.h"#include "htprocess.h"#include "snprintf.h"#include "evalx.h"/* *	CLASS ht_blockop_dialog */void ht_blockop_dialog::init(Bounds *b, FileOfs pstart, FileOfs pend, List *history){	ht_dialog::init(b, "operate on block", FS_TITLE | FS_KILLER | FS_MOVE);	Bounds c;	bool prerange = (pend > pstart);	ht_statictext *text;	ht_label *s;		List *addrhist = (List*)getAtomValue(HISTATOM_GOTO);	/* start */	c = *b;	c.h = 1;	c.w = 13;	c.x = 7;	c.y = 1;	start = new ht_strinputfield();	start->init(&c, 64, addrhist);	insert(start);	if (prerange) {		char t[32];		ht_snprintf(t, sizeof t, "0x%qx", pstart);		ht_inputfield_data d;		d.textlen = strlen(t);		d.text = (byte*)t;		start->databuf_set(&d, sizeof d);	}	/* start_desc */	c.x = 1;	c.w = 6;	s = new ht_label();	s->init(&c, "~start", start);	insert(s);		/* end */	c = *b;	c.h = 1;	c.w = 13;	c.x = 27;	c.y = 1;	end=new ht_strinputfield();	end->init(&c, 64, addrhist);	insert(end);	if (prerange) {		char t[32];		ht_snprintf(t, sizeof t, "0x%qx", pend);		ht_inputfield_data d;		d.textlen = strlen(t);		d.text = (byte*)t;		end->databuf_set(&d, sizeof d);	}	/* end_desc */	c.x = 23;	c.w = 3;	s = new ht_label();	s->init(&c, "~end", end);	insert(s);	/* mode */	c = *b;	c.h = 1;	c.w = 16;	c.x = 7;	c.y = 3;	mode = new ht_listpopup();	mode->init(&c);	mode->insertstring("byte (8-bit)");	mode->insertstring("word (16-bit)");	mode->insertstring("dword (32-bit)");	mode->insertstring("qword (64-bit)");	mode->insertstring("string");	insert(mode);	/* mode_desc */	c.x = 1;	c.w = 12;	c.y = 3;	s = new ht_label();	s->init(&c, "~mode", mode);	insert(s);	/* action_expl */	c = *b;	c.x = 1;	c.y = 5;	c.w -= 3;	c.h = 1;	text = new ht_statictext();	text->init(&c, "set each element to", align_left);	insert(text);		/* action */	List *ehist = (List*)getAtomValue(HISTATOM_EVAL_EXPR);	c = *b;	c.h = 1;	c.w = 40;	c.x = 7;	c.y = 6;	action = new ht_strinputfield();	action->init(&c, 4096, ehist);	insert(action);	/* action_desc */	c.x = 1;	c.w = 27;	c.y = 6;	s = new ht_label();	s->init(&c, "e~xpr", action);	insert(s);	/* help *//*	c=*b;	c.x=1;	c.y=8;	c.w-=c.x+2;	c.h-=c.y+2;	text=new ht_statictext();	text->init(&c,		"special vars:          special funcs:\n"		"o - file offset        readbyte(ofs)\n"		"i - iteration index    readstring(ofs, n)", align_left);	insert(text);*/	/* functions */	ht_button *bhelp = new ht_button();	c = *b;	c.x = 1;	c.y = 8;	c.w = 12;	c.h = 2;	bhelp->init(&c, "~Functions", 100);	insert(bhelp);}void ht_blockop_dialog::done(){	ht_dialog::done();}struct ht_blockop_dialog_data {	ht_inputfield_data start;	ht_inputfield_data end;	ht_listpopup_data mode;	ht_inputfield_data action;};/* *   blockop_dialog */static FileOfs blockop_i;static FileOfs blockop_o;static bool blockop_expr_is_const;static bool blockop_symbol_eval(eval_scalar *r, char *symbol){	if (strcmp(symbol, "i") == 0) {		r->type = SCALAR_INT;		r->scalar.integer.value = blockop_i;		r->scalar.integer.type = TYPE_UNKNOWN;		blockop_expr_is_const = false;		return true;	} else if (strcmp(symbol, "o") == 0) {		r->type = SCALAR_INT;		r->scalar.integer.value = blockop_o;		r->scalar.integer.type = TYPE_UNKNOWN;		blockop_expr_is_const = false;		return true;	}	return false;}static int func_readint(eval_scalar *result, eval_int *offset, int size, Endianess e){		File *f = (File*)eval_get_context();	byte buf[8];	try {		f->seek(offset->value);		f->readx(buf, size);	} catch (const IOException&) {		set_eval_error("i/o error (couldn't read %d bytes from ofs %qd (0x%qx))", size, offset->value, offset->value);		return 0;	}	scalar_create_int_q(result, createHostInt64(buf, size, e));	return 1;}static int func_readbyte(eval_scalar *result, eval_int *offset){	return func_readint(result, offset, 1, little_endian);}static int func_read16le(eval_scalar *result, eval_int *offset){	return func_readint(result, offset, 2, little_endian);}static int func_read32le(eval_scalar *result, eval_int *offset){	return func_readint(result, offset, 4, little_endian);}static int func_read64le(eval_scalar *result, eval_int *offset){	return func_readint(result, offset, 8, little_endian);}static int func_read16be(eval_scalar *result, eval_int *offset){	return func_readint(result, offset, 2, big_endian);}static int func_read32be(eval_scalar *result, eval_int *offset){	return func_readint(result, offset, 4, big_endian);}static int func_read64be(eval_scalar *result, eval_int *offset){	return func_readint(result, offset, 8, big_endian);}static int func_readstring(eval_scalar *result, eval_int *offset, eval_int *len){	File *f = (File*)eval_get_context();	uint l = len->value;	void *buf = malloc(l);	/* FIXME: may be too slow... */	if (buf) {		eval_str s;		uint c = 0;		try {			f->seek(offset->value);			f->readx(buf, l);		} catch (const IOException&) {			free(buf);			set_eval_error("i/o error (couldn't read %d bytes from ofs %d (0x%qx))", l, c, offset->value, offset->value);			return 0;		}		s.value = (char*)buf;		s.len = l;		scalar_create_str(result, &s);		free(buf);		return 1;	}	set_eval_error("out of memory");	return 0;}static bool blockop_func_eval(eval_scalar *result, char *name, eval_scalarlist *params){	/* FIXME: non-constant funcs (e.g. rand()) should	   set blockop_expr_is_const to false */	eval_func myfuncs[] = {		{"i", 0, {SCALAR_INT}, "iteration index"},		{"o", 0, {SCALAR_INT}, "current offset"},		{"readbyte", (void*)&func_readbyte, {SCALAR_INT}, "read byte from offset"},		{"read16le", (void*)&func_read16le, {SCALAR_INT}, "read little endian 16 bit word from offset"},		{"read32le", (void*)&func_read32le, {SCALAR_INT}, "read little endian 32 bit word from offset"},		{"read64le", (void*)&func_read64le, {SCALAR_INT}, "read little endian 64 bit word from offset"},		{"read16be", (void*)&func_read16be, {SCALAR_INT}, "read big endian 16 bit word from offset"},		{"read32be", (void*)&func_read32be, {SCALAR_INT}, "read big endian 32 bit word from offset"},		{"read64be", (void*)&func_read64be, {SCALAR_INT}, "read big endian 64 bit word from offset"},		{"readstring", (void*)&func_readstring, {SCALAR_INT, SCALAR_INT}, "read string (offset, length)"},		{NULL}	};		blockop_expr_is_const = false;			return std_eval_func_handler(result, name, params, myfuncs);}/* *	BLOCKOP STRING */class ht_blockop_str_context: public Object {public:	File *file;	FileOfs ofs;	uint len;	uint size;	bool netendian;	char *action;	uint i;	FileOfs o;	bool expr_const;	eval_str v;	~ht_blockop_str_context()	{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区电影| 日韩经典中文字幕一区| 国产真实精品久久二三区| 在线国产亚洲欧美| 亚洲欧美日韩中文字幕一区二区三区 | av在线播放一区二区三区| 精品国产制服丝袜高跟| 久久国产生活片100| 精品国产乱码久久久久久浪潮 | 欧美激情中文不卡| 成人不卡免费av| 亚洲另类在线制服丝袜| 99精品国产一区二区三区不卡| 国产精品人人做人人爽人人添| 丁香网亚洲国际| 亚洲黄色免费电影| 国产精品99久久久久久久女警| 精品无码三级在线观看视频| 日韩写真欧美这视频| 国产一区二区91| 日本一区二区三区视频视频| 日本道在线观看一区二区| 中文字幕不卡三区| 91福利精品视频| 国产资源精品在线观看| 自拍偷拍国产亚洲| 日韩一区二区精品在线观看| 极品美女销魂一区二区三区| 国产精品毛片高清在线完整版 | 亚洲成人激情综合网| 欧美va亚洲va在线观看蝴蝶网| 国产精品66部| 亚洲第一狼人社区| 欧美激情中文不卡| 日韩精品一区二区三区四区| 99riav一区二区三区| 天堂va蜜桃一区二区三区 | 亚洲v日本v欧美v久久精品| 精品国产免费视频| 欧美日韩视频在线观看一区二区三区 | 国产欧美一区二区三区鸳鸯浴 | 欧美久久一二区| 91丝袜国产在线播放| 国产精品综合二区| 琪琪久久久久日韩精品| 国产精品乱码人人做人人爱 | 中文字幕乱码久久午夜不卡| 欧美裸体一区二区三区| 91视频在线观看免费| 在线观看日韩一区| 国产成人免费av在线| 久久国产免费看| 久久成人18免费观看| 美女mm1313爽爽久久久蜜臀| 日本午夜一区二区| 日本视频在线一区| 国内精品久久久久影院色| 免费日韩伦理电影| 免费视频最近日韩| 另类的小说在线视频另类成人小视频在线 | 欧美三级中文字幕| 3atv一区二区三区| 精品国产一区二区三区久久久蜜月| 制服丝袜亚洲播放| 日韩欧美一区在线| 欧美经典一区二区| 国产欧美一区二区精品秋霞影院| 日韩欧美高清在线| 久久久国产精华| 亚洲天堂成人网| 午夜一区二区三区视频| 日韩电影在线观看一区| 国产精品一二三区| av电影在线观看完整版一区二区| 波多野结衣的一区二区三区| 色综合久久久久综合体| 欧美午夜理伦三级在线观看| 欧美一区二区三区喷汁尤物| 亚洲国产精品传媒在线观看| 香蕉成人伊视频在线观看| 国产日本欧洲亚洲| 国产精品入口麻豆原神| 亚洲成在线观看| 成人福利电影精品一区二区在线观看| 欧美性做爰猛烈叫床潮| 久久精品视频一区二区三区| 亚洲国产欧美一区二区三区丁香婷 | 91猫先生在线| 国产精品久久久久久久久免费樱桃| 亚洲一区二区欧美| 91在线精品一区二区| 久久嫩草精品久久久精品一| 日韩国产在线观看一区| 在线一区二区三区| 欧美国产乱子伦| 国产一区 二区| 欧美成va人片在线观看| 图片区小说区国产精品视频| 91国在线观看| 一区二区三区欧美在线观看| 99精品国产热久久91蜜凸| 综合激情网...| 不卡视频一二三| 自拍偷拍国产精品| 91丝袜高跟美女视频| 亚洲欧美区自拍先锋| 在线这里只有精品| 一区二区国产视频| 久久色在线视频| 午夜精品福利一区二区三区av| 国产美女av一区二区三区| 欧美草草影院在线视频| 国产乱码精品一区二区三区忘忧草 | 日韩欧美国产综合一区 | 色婷婷久久久亚洲一区二区三区| 日韩一区二区三区电影| 亚洲成人精品一区二区| 91麻豆精品国产91久久久使用方法| 国产一区二区三区四区五区美女 | 精品99一区二区| 国产真实乱子伦精品视频| 国产精品青草久久| 欧美午夜精品电影| 九色|91porny| 国产精品久久午夜| 制服.丝袜.亚洲.中文.综合| 国模少妇一区二区三区| 亚洲精品欧美在线| 久久精品夜夜夜夜久久| 在线免费观看不卡av| 九九精品视频在线看| 一区二区在线观看av| 亚洲精品一区二区三区在线观看| 18欧美亚洲精品| 欧美日高清视频| caoporm超碰国产精品| 日韩av电影一区| 亚洲bt欧美bt精品777| 久久色中文字幕| 日韩视频在线观看一区二区| 91免费版在线看| 国产精品一区专区| 精品制服美女丁香| 亚洲一二三区视频在线观看| 国产三级精品在线| 久久这里只有精品首页| 欧美xxxx在线观看| 欧美一区二区三区婷婷月色| 色悠悠亚洲一区二区| 99精品视频免费在线观看| 国产又粗又猛又爽又黄91精品| 免费观看日韩av| 精品欧美乱码久久久久久| 欧美性xxxxxxxx| 91福利视频久久久久| 欧美视频一区在线观看| 欧美日韩亚洲另类| 欧美大片在线观看一区| www久久久久| 最新久久zyz资源站| 亚洲欧洲综合另类| 久久先锋影音av| 亚洲乱码中文字幕| 综合在线观看色| 亚洲韩国精品一区| 日韩精品成人一区二区三区| 日韩激情视频在线观看| 美国欧美日韩国产在线播放| 捆绑变态av一区二区三区| 蜜臀av在线播放一区二区三区| 精品在线观看视频| 91丨九色porny丨蝌蚪| 国产九色精品成人porny| 国产精品1024| 成人av第一页| 欧美三级电影在线看| 欧美电影免费观看完整版| 中文字幕一区二区三区不卡| 亚洲自拍另类综合| 国产成人自拍高清视频在线免费播放| 国产91高潮流白浆在线麻豆| 欧美亚洲愉拍一区二区| 久久久精品中文字幕麻豆发布| 亚洲黄一区二区三区| 国产在线视频一区二区三区| 日本电影亚洲天堂一区| 中文字幕欧美日韩一区| 亚洲电影中文字幕在线观看| 高清国产一区二区三区| 51精品国自产在线| 亚洲一区二区三区爽爽爽爽爽| 国产一区福利在线| 日韩欧美高清dvd碟片| 午夜精品爽啪视频| 色久优优欧美色久优优| 中文乱码免费一区二区 | 亚洲精品在线一区二区| 日韩高清在线不卡| 欧美另类高清zo欧美| 五月天婷婷综合|