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

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

?? hex2bin.cpp

?? 在高通的手機平臺下,一個下載手機.bin文件到手機的flash中的工具,包含PC端的程序代碼和運行在基帶處理器中的代碼.
?? CPP
字號:
// NAME: Hex2Bin.cpp 
//--------------------------------------------------------------------------------------------------
//
// GENERAL DESCRIPTION
//
//	This module provides the utility that converts the phone S/W to binary from hex format.
//--------------------------------------------------------------------------------------------------
//
// Revision History:
//                             Modification     Tracking
// Author                          Date          Number     Description of Changes
// -------------------------   ------------    ----------   ----------------------------------------
//
//
// Portability: 
//	This module can be portable to other C++ compilers or Win32 platforms. 
//

//--------------------------------------------------------------------------------------------------
//                                       INCLUDE FILES
//--------------------------------------------------------------------------------------------------
#include "stdafx.h"
#include "Hex2Bin.h"
#include "common.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

using namespace std;

//--------------------------------------------------------------------------------------------------
//										LOCAL TYPEDEFS (STRUCTURES, UNIONS, ENUMS)
//--------------------------------------------------------------------------------------------------
typedef struct {
	BYTE				mark;
	BYTE				len[2];
	BYTE				offset[4];
	BYTE				type[2];
} HEADER;

//--------------------------------------------------------------------------------------------------
//                                     GLOBAL VARIABLES
//--------------------------------------------------------------------------------------------------

CHex2Bin theCnvrt;				//the unique instance for the application

//--------------------------------------------------------------------------------------------------
//                                     CLASS IMPLEMENTATION
//--------------------------------------------------------------------------------------------------
//
// Construction/Destruction
//--------------------------------------------------------------------------------------------------
CHex2Bin::CHex2Bin()
{
	m_bType = FALSE;
}

CHex2Bin::~CHex2Bin()
{
}
//--------------------------------------------------------------------------------------------------
// External Member Fucntions
//--------------------------------------------------------------------------------------------------
// FUNCTION: 
//		CHex2Bin::GoGoGo
// DESCRIPTION: 
//		This function converts the phone hex file to the binary file and save with the same file name 
//		except for the extension name replaces with "bin".
// ARGUMENTS PASSED:
//		strFile		the name of the hex file
// RETURN VALUE:
//		TRUE	
//		FALSE
// PRE-CONDITIONS:
//		None
// POST-CONDITIONS:
//		None
// IMPORTANT NOTES:
//		None
//--------------------------------------------------------------------------------------------------
BOOL 
CHex2Bin::GoGoGo(CString strHexName)
{
	char pBinName[200];
	strcpy(pBinName, strHexName);
	BYTE cLen = strlen(pBinName);
	
	pBinName[cLen -3] = 'b';
	pBinName[cLen -2] = 'i';	
	pBinName[cLen -1] = 'n';	
	
	FILE* pHexFile;

    if ( (pHexFile = fopen((LPCTSTR)strHexName, "rt")) == NULL ) 
		return FALSE;
 
	DWORD dwHexSize  = FileSize(pHexFile);
	FILE* pBinFile;
	if ( (pBinFile = fopen(pBinName, "wb")) == NULL )
	{
		fclose(pHexFile);
		return FALSE;
	}
	
	m_segment = CODE_BASE;

	BYTE* filePtr = new BYTE[dwHexSize];
	if(filePtr == NULL)
	{
		cout << "memory new error in CHex2Bin::GoGoGo!" << endl;
		exit(1);
	}

	LONG size = fread(filePtr, 1, dwHexSize, pHexFile);

	HEADER header;

	for (LONG i=0; i<size; ) 
	{
		strncpy((char*)(&header), (char*)(filePtr+i), sizeof(HEADER));

		if (header.mark != ':')
		{
			delete filePtr;
			fclose(pHexFile);
			fclose(pBinFile);
			return FALSE;
		}

		BYTE len	= htoi(header.len);
		BYTE offstr[2];
		offstr[0]	= htoi(header.offset);
		offstr[1]	= htoi(&(header.offset[2]));
		LONG offset = (((LONG)(offstr[0]))<<8) | offstr[1];
		BYTE type	= htoi(header.type);

		LONG checksum = 0x00000000;
		for (unsigned j=1; j<sizeof(HEADER)+2*(len+1); j+=2) 
		{
			BYTE val = htoi(filePtr+i+j);
			checksum += val;
		}
		
		if (checksum & 0x000000FF)
		{
			fclose(pHexFile);
			fclose(pBinFile);
			delete filePtr;
			return FALSE;
		}

		switch (type) 
		{
			case 0:
				{
				unsigned long segment;
				segment = m_segment;
				if (m_bType == TRUE)
					segment >>= 12;

				for (unsigned k=sizeof(HEADER); k<sizeof(HEADER)+2*len; k+=2) 
				{
					LONG addr = segment + offset + (k-sizeof(HEADER))/2;
					BYTE tmp = htoi(filePtr + i + k);
					fwrite( &tmp,1, 1, pBinFile);
				}
				}
				break;
			case 1:
				{
					fclose(pHexFile);
					fclose(pBinFile);
					delete filePtr;
					return TRUE;
				}
			case 2:
			case 4:
				Record_ExtAdd(filePtr+i, len, type);
				break;
			case 3:
			case 5:
				break;
			default:
				{
					fclose(pHexFile);
					fclose(pBinFile);
					delete filePtr;
					return FALSE;
				}
		}

		i += sizeof(HEADER)+2*(len+1)+1;
	}
	delete filePtr;

	fclose(pHexFile);
	fclose(pBinFile);

    return TRUE;
}

//--------------------------------------------------------------------------------------------------
// Internal Member Fucntions
//--------------------------------------------------------------------------------------------------
void 
CHex2Bin::Record_ExtAdd(BYTE* ptr, int len, BYTE type)
{
	m_bType = (type == 2)? TRUE: FALSE;

	BYTE segstr[2];
	segstr[0] = htoi(ptr+sizeof(HEADER));
	segstr[1] = htoi(ptr+sizeof(HEADER)+2);

	m_segment = 0x0;
}

BYTE 
CHex2Bin::htoi(BYTE *str)
{
	BYTE rtn[2];

	rtn[1] = ((str[1] > '9')? str[1]-'A'+10: str[1]-'0');
	rtn[0] = ((str[0] > '9')? str[0]-'A'+10: str[0]-'0');

	return ((rtn[0]<<4) | rtn[1]);
}

LONG 
CHex2Bin::FileSize(FILE *file)
{
	LONG curpos, length;

	curpos = ftell(file);
	fseek(file, 0L, SEEK_END);
	length = ftell(file);
	fseek(file, curpos, SEEK_SET);
	return length;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级资源在线| 国产精品一区久久久久| 国产精品系列在线| 久久精品视频免费| 国产日本欧美一区二区| 久久青草国产手机看片福利盒子| 欧美成人艳星乳罩| 亚洲精品一线二线三线| xnxx国产精品| 日本一区二区三区四区在线视频| 久久久亚洲精品一区二区三区 | 久久久国产综合精品女国产盗摄| 91精品国产高清一区二区三区| 欧美精品123区| 欧美一区二区美女| 26uuu国产一区二区三区| 国产日韩精品一区二区三区在线| 国产精品私人影院| 亚洲综合区在线| 日本亚洲免费观看| 国产精品亚洲一区二区三区在线 | 在线观看一区日韩| 69成人精品免费视频| 精品国产污污免费网站入口 | 久久国产视频网| 懂色中文一区二区在线播放| 不卡高清视频专区| 欧美日韩mp4| 精品国产青草久久久久福利| 中文字幕精品一区| 亚洲第一主播视频| 国产福利一区二区三区视频 | 欧美伦理视频网站| 国产亚洲精品久| 一区二区欧美精品| 韩国欧美一区二区| 91精品办公室少妇高潮对白| 精品乱人伦小说| 亚洲老妇xxxxxx| 国产乱一区二区| 欧美在线短视频| 欧美国产日本韩| 奇米精品一区二区三区在线观看| 粉嫩一区二区三区性色av| 欧美日韩国产经典色站一区二区三区| 久久综合五月天婷婷伊人| 亚洲国产精品一区二区尤物区| 国内精品国产三级国产a久久| 在线观看一区日韩| 国产精品久久久久婷婷| 精品一区二区综合| 欧美日韩国产综合一区二区| 国产精品福利影院| 国产a久久麻豆| 日韩欧美在线一区二区三区| 一区二区三区影院| 高清视频一区二区| 久久久久国产免费免费| 日本不卡一二三| 欧美日韩午夜在线| 亚洲国产综合色| 91黄色在线观看| 国产精品不卡一区二区三区| 韩国女主播一区| 日韩欧美国产系列| 日本va欧美va瓶| 欧美人与禽zozo性伦| 一区二区成人在线视频| 91在线丨porny丨国产| 日本一区二区三区在线不卡| 国产乱码精品一品二品| 久久精品视频免费| 国产综合色视频| 日韩精品一区二| 麻豆成人免费电影| 日韩亚洲国产中文字幕欧美| 天天色 色综合| 777久久久精品| 麻豆国产欧美日韩综合精品二区 | av中文一区二区三区| 中文无字幕一区二区三区| 国产精品亚洲成人| 国产欧美视频一区二区| 国产suv精品一区二区883| 国产亚洲欧美日韩在线一区| 国产精华液一区二区三区| 中文字幕欧美三区| 91久久一区二区| 亚洲成a人片在线观看中文| 欧美日韩亚洲综合在线| 秋霞电影网一区二区| 日韩免费视频一区二区| 国产精品一区二区免费不卡| 国产精品蜜臀av| 在线日韩av片| 裸体一区二区三区| 国产三级久久久| 日本电影欧美片| 免费人成在线不卡| 国产女人aaa级久久久级| 99这里都是精品| 午夜精品福利一区二区蜜股av| 日韩欧美视频在线| av亚洲精华国产精华精| 亚洲福利视频三区| 精品999久久久| 91成人网在线| 精品午夜久久福利影院| 日韩美女久久久| 欧美电影影音先锋| 丁香婷婷综合激情五月色| 亚洲精品国产高清久久伦理二区| 69av一区二区三区| av日韩在线网站| 久色婷婷小香蕉久久| 亚洲日本丝袜连裤袜办公室| 欧美高清一级片在线| 成人h动漫精品一区二| 爽爽淫人综合网网站| 欧美—级在线免费片| 欧美精品xxxxbbbb| 在线视频中文字幕一区二区| 免费看精品久久片| 日韩一区在线看| 2023国产精华国产精品| 欧美三级中文字| 91一区二区三区在线观看| 久久国产成人午夜av影院| 一区二区久久久久久| 亚洲国产经典视频| 欧美电影免费提供在线观看| 色8久久人人97超碰香蕉987| 国产a视频精品免费观看| 毛片av中文字幕一区二区| 香蕉av福利精品导航| 亚洲精品视频观看| 国产精品亲子伦对白| 久久久久国产成人精品亚洲午夜| 3d动漫精品啪啪一区二区竹菊| 色综合欧美在线| av成人免费在线观看| 国产一二精品视频| 激情偷乱视频一区二区三区| 日本在线观看不卡视频| 天堂va蜜桃一区二区三区 | 天天综合日日夜夜精品| 亚洲女厕所小便bbb| 国产精品视频一二| 国产无人区一区二区三区| 亚洲精品一区二区精华| 日韩一区二区免费电影| 91麻豆精品国产| 欧美一级欧美三级在线观看| 欧美日韩一级片在线观看| 欧美日韩欧美一区二区| 欧美日韩午夜在线| 欧美日产国产精品| 91精品国产一区二区三区香蕉 | 九色porny丨国产精品| 免费观看在线色综合| 美女在线视频一区| 韩国三级在线一区| 国产精品18久久久| 白白色亚洲国产精品| 色婷婷综合久色| 欧美乱熟臀69xxxxxx| 欧美岛国在线观看| 久久精品网站免费观看| 国产精品久久毛片a| 一区二区三区精品视频| 视频一区二区三区在线| 美女免费视频一区| 国产精品66部| 一本大道久久a久久精品综合| 欧美无砖专区一中文字| 欧美mv日韩mv国产网站| 国产日韩在线不卡| 亚洲一区二区三区四区五区中文| 午夜精品视频一区| 国产麻豆视频精品| 91欧美激情一区二区三区成人| 欧美亚洲尤物久久| 久久久综合视频| 一区二区高清视频在线观看| 免费成人在线观看视频| 成人免费观看视频| 欧美久久久久久蜜桃| 国产日韩精品久久久| 亚洲福利视频导航| 懂色av一区二区三区免费看| 欧美日韩亚州综合| 国产精品亲子乱子伦xxxx裸| 亚洲一区在线免费观看| 不卡视频一二三| 欧美一级免费大片| 综合久久一区二区三区| 国产一区二区精品久久99| 欧美性色黄大片| 国产精品日韩精品欧美在线| 全国精品久久少妇|