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

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

?? dasmdata.cpp

?? win32 exe程序反匯編
?? CPP
字號:
/*		fichier DasmData.cpp : fichier implementation
 *
 *	descr : classe automate desassemblage des constantes
 *	projet : PEDasm
 *	
 *	rq:
 *	Ce programme est libre de droits. Il peut etre distribue et/ou modifie
 *  selon les termes de la licence 'GNU General Public License version 2'.
 *	
 *	Ce programme est distribue sans aucunes garanties, y compris d'utilite 
 *	ni de risques encouru, quelle que soit son utilisation.
 *
 *	lire le fichier licence.txt fourni ou bien ecrire a :
 *	the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *	pour recevoir une copie de la licence.
 *
 *	Copyright (C) 1997 - 1998 Nicolas Witczak <witczak@geocities.com>
 */

#include "Config.h"

#include "DasmData.h"
#include <cassert>


////////////////////////////////////////////////////////////////////////
// class CDasmDataData : desassemblage d'une portion de code

CDasmData::CDasmData( )
{}


bool CDasmData::PassScan()
{
	CExeRep::CSymbolColl::iterator iter 
		= GetExe()->m_arRelocSymbols.lower_bound( &CSymbol( m_iIP ) );
	for( ; ( iter != GetExe()->m_arRelocSymbols.end() )
		&& ( (*iter)->m_VirtAdress < m_iNextIP ) ; iter ++ )
	{
		CSymbol* pRelocSymb = *iter ;
		CExeRep::CSymbolColl::const_iterator prevSym = GetExe()->m_arSymbols.find( & CSymbol( pRelocSymb->m_VirtAdress ) ) ;
		DWORD dwSymbVal = *(DWORD*)(GetExe()->va2ptr( pRelocSymb->m_VirtAdress )) ;
		CSection* pCurSection = GetExe()->GetSectFromVA( dwSymbVal ) ;
		if( pCurSection != 0 )
		{
			if( pCurSection->IsCode() )
				GetExe()->AddSymbol( dwSymbVal , pRelocSymb->m_VirtAdress , true , cSymCallBack ) ;	
			else
				GetExe()->AddSymbol( dwSymbVal , pRelocSymb->m_VirtAdress , true , cSymData ) ;	
			if( prevSym == GetExe()->m_arSymbols.end() )
			{
				if( m_pSection->IsData() )
					GetExe()->AddSymbol( pRelocSymb->m_VirtAdress ,0,true, cSymDataPtr ) ;
			}
			else
			{
				if( ( (*prevSym)->m_Attrib & fSymPointer ) == 0 )
					(*prevSym)->m_Attrib = cSymDataPtr ; 
			}
		}
		else	// improbable : signifie que la relocation pointe a l'exterieur de l'espace 
				// d'adressage de l'exe cible
			GetExe()->AddSymbol( dwSymbVal , pRelocSymb->m_VirtAdress , true , cSymUnknown ) ;
	}
	m_iIP = m_iNextIP ; 
	return true ;
}

bool CDasmData::PassEcho()
{
	static char_buff pszTemp ;
	unsigned int iSymbSize ;
	int iLineWrap = 8 ;
	iSymbSize = m_iNextIP - m_iIP ;

// sortie
	if( m_pvCur >= m_pSection->init_end() ) // partie section non initialisee
		fprintf( m_pFileOut ,"\tbyte %i dup(?)\n" , iSymbSize );
	else
	{
		iLineWrap = 8 ;
	// adresse d'un autre symbol	
		if( ( m_pSymbCur != 0 ) && ( m_pSymbCur->m_Attrib & fSymPointer ) != 0 ) 
		{			
			fprintf( m_pFileOut , "\tdword %s\n" , GetExe()->GetSymbName( *(DWORD*)m_pvCur , m_pSymbCur->m_VirtAdress  ,false ,cteDecorate | cteDecOffset ) );
			m_pvCur += 4 ;
		}
	// cas particuliers
		else if( iSymbSize == 2 )	// un seul word
		{
			fprintf( m_pFileOut , "\tword %s" , GetExe()->GetValue( *(WORD*)m_pvCur , 0 ) );
			m_pvCur += 2 ;
		}
		else if( iSymbSize == 4 )	// un seul dword
		{
			fprintf( m_pFileOut , "\tdword %s" , GetExe()->GetValue( *(DWORD*)m_pvCur , 0 ) );
			m_pvCur += 4 ;
		}
	// iteration octet suivant
		while( m_pvCur < m_pvNext )
		{
			int iNumreq ;
			CExeRep::symb_iterator iterReloc = GetExe()->m_arRelocSymbols.find( &CSymbol( GetExe()->ptr2va( m_pvCur ) ) ) ;
			
			if( iterReloc != GetExe()->m_arRelocSymbols.end() )
			{
				if( iLineWrap != 8 )
					fprintf( m_pFileOut , "\n" ) ;	
				fprintf( m_pFileOut , "\tdword %s\n" , GetExe()->GetSymbName( *(DWORD*)m_pvCur , m_pSymbCur->m_VirtAdress  ,true ,cteDecorate | cteDecOffset ) );		
				m_pvCur += 4 ;
				iLineWrap = 8 ;
			}
			else if( ( iNumreq = ReqString( m_pvCur , m_pvNext , pszTemp ) ) > 0 )
			{					
				m_pvCur += iNumreq ;
				if( iLineWrap != 8 )
					fprintf( m_pFileOut , "\n" ) ;
				fprintf( m_pFileOut , "\tbyte %s\n" , pszTemp );					
				iLineWrap = 8 ;
			}
			else
			{
				iNumreq = ReqDup( m_pvCur , m_pvNext , pszTemp ) ;
				if( iNumreq > 0  )
					m_pvCur += iNumreq ;
				else
					strcpy( pszTemp , GetExe()->GetValue( *m_pvCur++ , 0 ) ) ; 
				if( iLineWrap == 0 )
				{
					iLineWrap = 8 ;
					fprintf( m_pFileOut ,"\n");
				}
				if( iLineWrap == 8 )
					fprintf( m_pFileOut ,"\tbyte %s " , pszTemp );
				else
					fprintf( m_pFileOut ," , %s ", pszTemp ) ;
				iLineWrap -- ;
			}
		}
	};
// iteration symbol suivante		
	fprintf( m_pFileOut , "\n" ) ;
	m_iIP = m_iNextIP ; 
	return true ;
}

bool CDasmData::ScanNext()
{
	if( m_iPass == ctePassScan )
		return PassScan();
	else
		return PassEcho();
}

void CDasmData::PrintInstr()
{
}

void CDasmData::Reset() 
{
}

int CDasmData::ReqString( BYTE* pszCur,BYTE* pszEnd , char* pszBuff )
{
	int iRep = 0 ;
	BYTE* pszIn ;
	for( pszIn = pszCur ; pszIn < pszEnd ; ++ pszIn )
	{	
		if( iRep > 126 )
			break ;
		if( ( *pszIn >= 32 ) && ( *pszIn < 127 ) )
			++ iRep ;
		else 
			break ;
	}
	if( iRep >= 4 )
	{
		// double quotation des '
		char* pszOut = pszBuff ;
		*pszOut++ = '\'' ;
		for( pszIn = pszCur ; pszIn < ( pszCur + iRep ) ; ++pszIn )
		{
			if( *pszIn == '\'' )
				*pszOut++ = '\'' ;
			*pszOut++ = *pszIn ;
		}	
		*pszOut++ = '\'' ;
		*pszOut = '\0' ;
		return iRep ;
	}
	else
		return 0 ;
}

int CDasmData::ReqDup( BYTE* pszCur,BYTE* pszEnd , char* pszBuff )
{
	int iRep = 0 ;
	BYTE cRep ;
	for( cRep = *pszCur ; pszCur < pszEnd ; ++ pszCur)
	{
		if( cRep == *pszCur )
			++ iRep ;
		else 
			break ;
	}
	if( iRep >= 4 )
	{
		sprintf( pszBuff , "%i dup(%s)" , iRep , GetExe()->GetValue( cRep , 0 ) ) ;
		return iRep ;
	}
	else
		return 0 ;
}

//////////////////////////////////////////////////////////////////
// fonctions globales

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品乱码av一区二区| 亚洲高清免费观看高清完整版在线观看 | 国产视频不卡一区| 东方欧美亚洲色图在线| 综合网在线视频| 在线观看网站黄不卡| 日韩精品一二三四| 国产午夜亚洲精品理论片色戒| 国产成人精品三级麻豆| 亚洲天堂2014| 3d动漫精品啪啪| 国产**成人网毛片九色| 亚洲日韩欧美一区二区在线| 欧美日韩色综合| 韩国一区二区三区| 日韩伦理免费电影| 欧美日韩美少妇| 韩国欧美一区二区| 亚洲欧美一区二区三区国产精品 | 26uuu国产日韩综合| 成人综合在线网站| 亚洲五码中文字幕| wwwwww.欧美系列| 一本久久a久久免费精品不卡| 日韩和欧美一区二区三区| 日本一区二区三区在线观看| 欧美影片第一页| 国产高清在线精品| 亚洲a一区二区| 国产亚洲精品超碰| 制服丝袜亚洲精品中文字幕| 成人激情免费网站| 久久综合综合久久综合| 亚洲精品久久久蜜桃| 久久伊人蜜桃av一区二区| 色8久久精品久久久久久蜜| 国产一区二区三区黄视频 | 色综合一个色综合| 久久99精品网久久| 亚洲国产视频直播| 国产精品美女www爽爽爽| 日韩免费福利电影在线观看| 91猫先生在线| 丁香婷婷深情五月亚洲| 另类中文字幕网| 五月婷婷欧美视频| 一区二区三区不卡视频| 国产精品视频观看| 久久欧美一区二区| 日韩三级视频中文字幕| 欧美系列一区二区| 91麻豆免费视频| 成人午夜在线播放| 国产一区二区三区蝌蚪| 免费成人你懂的| 婷婷丁香久久五月婷婷| 亚洲精品综合在线| 中文字幕一区二区不卡| 国产欧美一区二区精品性| 精品欧美黑人一区二区三区| 91精品免费观看| 在线播放91灌醉迷j高跟美女| 色综合久久六月婷婷中文字幕| 国产成人午夜高潮毛片| 国产一区二区视频在线播放| 日本伊人色综合网| 手机精品视频在线观看| 性欧美疯狂xxxxbbbb| 亚洲一区二区欧美日韩| 亚洲午夜激情av| 香蕉乱码成人久久天堂爱免费| 亚洲黄色片在线观看| 一区二区三区高清在线| 亚洲欧美日韩在线不卡| 亚洲精品国久久99热| 亚洲宅男天堂在线观看无病毒| 综合网在线视频| 亚洲另类在线一区| 亚洲第一主播视频| 天天色 色综合| 老司机免费视频一区二区| 久久99精品久久久久久国产越南| 热久久免费视频| 国产乱码精品一区二区三区忘忧草 | 国产成人免费在线视频| 丁香天五香天堂综合| aaa亚洲精品| 欧美在线视频不卡| 91精品国产手机| 亚洲精品一区二区三区影院| 久久久高清一区二区三区| 国产精品麻豆久久久| 亚洲综合一二区| 蜜桃av一区二区| 国产v日产∨综合v精品视频| 成人97人人超碰人人99| 欧美丝袜丝交足nylons图片| 91麻豆精品91久久久久同性| 久久综合久久久久88| 中文字幕一区二区三中文字幕| 亚洲综合另类小说| 精品在线你懂的| 99精品偷自拍| 日韩一区二区三| 国产精品美女一区二区| 亚洲国产三级在线| 国产经典欧美精品| 欧美在线不卡视频| 欧美成人欧美edvon| 国产精品污网站| 日日夜夜精品视频天天综合网| 精品亚洲成a人| 一本大道久久a久久综合| 日韩欧美成人激情| 亚洲乱码国产乱码精品精小说| 日本中文在线一区| a美女胸又www黄视频久久| 欧美放荡的少妇| 日韩美女视频一区| 国产一区二区三区在线观看免费 | 五月激情六月综合| 风间由美一区二区av101| 欧美日韩精品免费观看视频| 久久夜色精品一区| 视频一区免费在线观看| 99久久免费国产| 精品国产在天天线2019| 亚洲国产一区在线观看| 国产精品一区在线| 91精品国产综合久久久久久| 国产精品乱子久久久久| 精品一区二区三区影院在线午夜 | 99精品久久只有精品| 日韩精品一区二区在线观看| 一区二区三区四区av| 国产露脸91国语对白| 日韩一区二区视频| 亚洲一区二区美女| 91女神在线视频| 国产亚洲va综合人人澡精品| 日本一不卡视频| 欧美日韩国产一二三| 亚洲色图清纯唯美| www.欧美.com| 国产日韩av一区二区| 国内偷窥港台综合视频在线播放| 欧美日韩视频专区在线播放| 一区二区三区资源| 91小视频在线免费看| 日韩1区2区日韩1区2区| 在线观看亚洲a| 亚洲天堂中文字幕| 99在线视频精品| 日本一区二区免费在线观看视频| 乱中年女人伦av一区二区| 欧美高清你懂得| 亚洲国产精品久久人人爱| 色婷婷综合久久久中文一区二区| 综合亚洲深深色噜噜狠狠网站| 国产成人三级在线观看| 国产午夜一区二区三区| 国产宾馆实践打屁股91| 久久精品日韩一区二区三区| 韩国三级在线一区| 久久久久久影视| 粉嫩av亚洲一区二区图片| 国产精品视频一二| 不卡一二三区首页| 亚洲欧美国产毛片在线| 色综合av在线| 亚洲一区在线看| 欧美色视频一区| 无吗不卡中文字幕| 欧美第一区第二区| 激情文学综合插| 国产精品美女www爽爽爽| 91日韩在线专区| 亚洲成人激情自拍| 欧美xxxx在线观看| 国产91精品久久久久久久网曝门| 国产精品免费av| 欧美亚日韩国产aⅴ精品中极品| 亚洲.国产.中文慕字在线| 日韩女优制服丝袜电影| 韩日av一区二区| 国产精品久久久久久户外露出 | 亚洲成人动漫精品| 欧美一级日韩一级| 国产一区二区精品在线观看| 日本一区二区综合亚洲| 色嗨嗨av一区二区三区| 天涯成人国产亚洲精品一区av| 日韩精品中文字幕一区二区三区 | 亚洲午夜三级在线| 日韩欧美国产精品一区| 国产69精品一区二区亚洲孕妇| 欧美国产日韩精品免费观看| 色吧成人激情小说| 开心九九激情九九欧美日韩精美视频电影| 久久精品人人做人人综合|