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

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

?? main.c

?? 一個(gè)類似windows
?? C
?? 第 1 頁 / 共 3 頁
字號:
int process_pe(char* filename,int file,void* p,int len)
{

	PIMAGE_DOS_HEADER pDosHeader;
	PIMAGE_NT_HEADERS pNTHeaders;

	char* pStr;
	PSTAB_ENTRY pStab;
	DWORD nStabLen,nSym;
	char* pStrTab;
	char* pSymTab;

	char szSymName[2048];
	HANDLE fileout;
	int nSymStrLen,nStabStrLen;
    int iRetVal = 0;

	pDosHeader = (PIMAGE_DOS_HEADER)p;
	pNTHeaders = (PIMAGE_NT_HEADERS)((DWORD)p + pDosHeader->e_lfanew);

    if ((pDosHeader->e_magic == IMAGE_DOS_SIGNATURE)
       && (pDosHeader->e_lfanew != 0L)
       && (pNTHeaders->Signature == IMAGE_NT_SIGNATURE))
    {
		if( pNTHeaders->FileHeader.PointerToSymbolTable ){

			pSymTab = (char*)((DWORD)p + pNTHeaders->FileHeader.PointerToSymbolTable);
			nSym = pNTHeaders->FileHeader.NumberOfSymbols;
			//string table follows immediately after symbol table. first 4 bytes give the length of the table
			//references to string table include the first 4 bytes.
			pStrTab = (char*)((PIMAGE_SYMBOL)pSymTab + nSym);
			nSymStrLen = *((DWORD*)pStrTab);
			find_stab_sections(p,IMAGE_FIRST_SECTION(pNTHeaders),pNTHeaders->FileHeader.NumberOfSections,
					&pStab,&nStabLen,&pStr,&nStabStrLen);

			if(pStab && nStabLen && pStr && nStabStrLen)
			{
				LPSTR pDot;

				strcpy(szSymName,filename);
				//printf("LOADER: file name = %s\n",szSymName);
				if((pDot = strchr(szSymName,'.')))
				{
					*pDot = 0;
					strcat(pDot,".dbg");
				}
				else
				{
					strcat(szSymName,".dbg");
				}
				//printf("LOADER: symbol file name = %s\n",szSymName);
	            printf("LOADER: creating symbol file %s for %s\n",szSymName,filename);

				fileout = CreateFile(szSymName,
								     GENERIC_READ | GENERIC_WRITE,
								     0,
								     NULL,
								     CREATE_ALWAYS,
								     0,
								     0);

	            if(fileout != INVALID_HANDLE_VALUE)
				{
					printf("NumberOfSections: %d, size: %d\n", pNTHeaders->FileHeader.NumberOfSections,sizeof(IMAGE_SECTION_HEADER));
					process_stabs(szSymName,
								  fileout,
								  IMAGE_FIRST_SECTION(pNTHeaders),
								  pNTHeaders->FileHeader.NumberOfSections*sizeof(IMAGE_SECTION_HEADER),
								  p,
								  pStab,
								  nStabLen,
								  pStr,
								  nStabStrLen,
								  (char*)pSymTab,
								  nSym*sizeof(IMAGE_SYMBOL),
								  pStrTab,
								  nSymStrLen);

					CloseHandle(fileout);
				}
	            else
	            {
	                printf("LOADER: creation of symbol file %s failed\n",szSymName);
					iRetVal = 2;
	            }

			}
	        else
	        {
	            printf("LOADER: file %s has no data inside symbol tables\n",filename);
				if( ulGlobalVerbose )
				{
	                if( !pStab || !nStabLen )
	                    printf("LOADER: - symbol table is empty or not present\n");
	                if( !pStr  || !nStabStrLen )
	                    printf("LOADER: - string table is empty or not present\n");
				}
	            iRetVal = 2;
	        }
		}
		else{
            printf("LOADER: file %s does not have a symbol table\n",filename);
            iRetVal = 2;
		}
    }
    else
    {
        printf("LOADER: file %s is not an ELF binary\n",filename);
        iRetVal = 1;
    }

    //printf("LOADER: leave process_pe()\n");
    return iRetVal;
}

///////////////////////////////////////////////////////////////////////////////////
// process_file()
//
///////////////////////////////////////////////////////////////////////////////////
int process_file(char* filename)
{
	int file;
	void* p;
	off_t len;
	int iRetVal=0;

    //printf("LOADER: enter process_file()\n");
    file = _open(filename,O_RDONLY|_O_BINARY);
    if(file>0)
    {
        //printf("LOADER: opened %s as FD %x\n",filename,file);

        len = _lseek(file,0,SEEK_END);
        printf("LOADER: file %s is %u bytes\n",filename,(int)len);

        _lseek(file,0,SEEK_SET);

        p = malloc(len+16);
        if(p)
        {
			long count;
            //printf("LOADER: malloc'd @ %x\n",p);
            memset(p,0,len+16);
            if(len == (count = _read(file,p,len)))
            {
                //printf("LOADER: trying ELF format\n");
                iRetVal = process_pe(filename,file,p,len);
            }
        }
        _close(file);
    }
    else
    {
        printf("LOADER: file %s could not be opened\n",filename);
		iRetVal = 1;
    }

    //printf("LOADER: leave process_file()\n");
    return iRetVal;
}

///////////////////////////////////////////////////////////////////////////////////
// open_debugger()
//
///////////////////////////////////////////////////////////////////////////////////
HANDLE	open_debugger(void)
{
    debugger_file = CreateFile("\\Device\\Pice",GENERIC_READ,0,NULL,OPEN_EXISTING,NULL,NULL);
	if(debugger_file == INVALID_HANDLE_VALUE)
	{
		printf("LOADER: debugger is not loaded. Last Error: %ld\n", GetLastError());
	}

	return debugger_file;
}

///////////////////////////////////////////////////////////////////////////////////
// close_debugger()
//
///////////////////////////////////////////////////////////////////////////////////
void close_debugger(void)
{
	if( !CloseHandle(debugger_file) ){
		printf("Error closing debugger handle: %ld\n", GetLastError());
	}
}

int ioctl( HANDLE device, DWORD ioctrlcode, PDEBUGGER_STATUS_BLOCK psb)
{
	 DEBUGGER_STATUS_BLOCK tsb;
	 DWORD bytesreturned;
	 if( !DeviceIoControl( device, ioctrlcode, psb, sizeof(DEBUGGER_STATUS_BLOCK),
			&tsb, sizeof(DEBUGGER_STATUS_BLOCK),&bytesreturned, NULL) ){
		printf("Error in DeviceIoControl: %ld\n", GetLastError());
		return -EINVAL;
	 }
	 else{
		memcpy( psb, &tsb, sizeof(DEBUGGER_STATUS_BLOCK) );
	 }
	 return 0;
}

///////////////////////////////////////////////////////////////////////////////////
// banner()
//
///////////////////////////////////////////////////////////////////////////////////
void banner(void)
{
    printf("#########################################################\n");
    printf("####       Symbols LOADER/TRANSLATOR for PICE        ####\n");
    printf("#########################################################\n");
}

#define ACTION_NONE             0
#define ACTION_LOAD             1
#define ACTION_UNLOAD           2
#define ACTION_TRANS            3
#define ACTION_RELOAD           4
#define ACTION_INSTALL          5
#define ACTION_UNINSTALL        6
#define ACTION_STATUS           7
#define ACTION_BREAK            8
#define ACTION_TERMINAL         9

///////////////////////////////////////////////////////////////////////////////////
// change_symbols()
//
///////////////////////////////////////////////////////////////////////////////////
void change_symbols(int action,char* pfilename)
{
    int iRetVal = 0;
	DEBUGGER_STATUS_BLOCK sb;

	strcpy(sb.filename, pfilename);

	switch(action)
	{
		case ACTION_LOAD:
			printf("LOADER: loading symbols from %s\n",pfilename);
			if(open_debugger() != INVALID_HANDLE_VALUE)
			{
				iRetVal = ioctl(debugger_file,PICE_IOCTL_LOAD,&sb);
				close_debugger();
			}
			break;
		case ACTION_UNLOAD:
			printf("LOADER: unloading symbols from %s\n",pfilename);
			if(open_debugger() != INVALID_HANDLE_VALUE)
			{
				iRetVal = ioctl(debugger_file,PICE_IOCTL_UNLOAD,&sb);
				close_debugger();
			}
			break;
		case ACTION_RELOAD:
			printf("LOADER: reloading all symbols\n");
			if(open_debugger() != INVALID_HANDLE_VALUE)
			{
				ioctl(debugger_file,PICE_IOCTL_RELOAD,NULL);
				close_debugger();
    			printf("LOADER: reloading DONE!\n");
			}
			break;
        default :
            printf("LOADER: an internal error has occurred at change_symbols\n");
	}

    switch( iRetVal )
	{
	    case -EINVAL :
			printf("LOADER: debugger return value = -EINVAL, operation has failed\n");
			break;
		case 0 :
			// success - silently proceed
			break;
		default :
			printf("LOADER: debugger return value = %i, operation possibly failed\n",iRetVal);
	}
}

// Dynamic install to be added later
#if 0
///////////////////////////////////////////////////////////////////////////////////
// tryinstall()
//
///////////////////////////////////////////////////////////////////////////////////
int tryinstall(void)
{
    char *argv[]={"/sbin/insmod","pice.o",NULL};
    int err = 0;
    int pid,status;

    banner();
    printf("LOADER: trying to install debugger...\n");

    if( open_debugger() != INVALID_HANDLE_VALUE  )
    {
        printf("LOADER: debugger already installed...\n");
        close_debugger();
        return 0;
    }

    // create a separate thread
    pid = fork();
    switch(pid)
    {
        case -1:
            // error when forking, i.e. out E_NOMEM
            err = errno;
            printf("LOADER: fork failed for execution of '%s' (errno = %u).\n",argv[0],err);
            break;
        case 0:
            // child process handler
            execve(argv[0],argv,NULL);
            // returns only on error, with return value -1, errno is set
            printf("LOADER: couldn't execute '%s' (errno = %u)\n",argv[0],errno);
            exit(255);
            break;
        default:
            // parent process handler
            printf("LOADER: waiting for debugger to load...\n");
            pid = waitpid(pid, &status, 0); // suspend until child is done
            if( (pid>0) && WIFEXITED(status) && (WEXITSTATUS(status) == 0) )
                printf("LOADER: debugger loaded!\n");
            else if( pid<=0 )
            {
                printf("LOADER: Error on loading debugger! (waitpid() = %i)\n",pid);
                err = -1;
            }
            else if( !WIFEXITED(status) )
            {
                printf("LOADER: Error on loading debugger! (ifexited = %i)\n",WIFEXITED(status));
                err = -1;
            }
            else

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产老肥熟一区二区三区| 中文字幕av一区二区三区高 | 国产v日产∨综合v精品视频| 91精品国产综合久久久久久久久久| 亚洲综合清纯丝袜自拍| 色av成人天堂桃色av| 亚洲午夜免费视频| 欧美一区二区三区人| 九色|91porny| 国产精品伦一区二区三级视频| 成人黄动漫网站免费app| 国产精品不卡一区二区三区| 色网综合在线观看| 日本午夜一区二区| 国产欧美精品区一区二区三区| www.亚洲激情.com| 亚洲成人免费在线| 久久中文字幕电影| 色婷婷综合久久久中文字幕| 亚洲成a人片在线不卡一二三区| 日韩欧美电影一二三| 国产麻豆成人传媒免费观看| 中文字幕一区二区三| 欧美丝袜丝交足nylons| 韩国精品在线观看| 亚洲欧美色一区| 精品久久久久久久一区二区蜜臀| 99久久综合精品| 日韩国产欧美一区二区三区| 国产婷婷色一区二区三区四区 | 色婷婷综合视频在线观看| 日韩精品亚洲一区二区三区免费| 国产丝袜欧美中文另类| 91黄色激情网站| 国产精品乡下勾搭老头1| 亚洲国产精品尤物yw在线观看| 精品国产免费久久| 欧美在线观看一区二区| 国产精品一区二区无线| 日韩电影在线一区二区三区| 国产精品黄色在线观看| 日韩视频免费观看高清在线视频| 老司机免费视频一区二区| 亚洲美女一区二区三区| 美国精品在线观看| 在线视频国产一区| 精品一区二区在线观看| 亚洲男同性视频| 亚洲国产精品精华液2区45| 91精品国产乱| 欧美亚洲精品一区| 99久久婷婷国产精品综合| 激情五月婷婷综合| 视频一区二区三区中文字幕| 亚洲精品免费在线播放| 国产精品日韩成人| 精品久久久久99| 欧美精品视频www在线观看| 99精品热视频| 国产成人在线看| 国产一级精品在线| 免费日韩伦理电影| 亚洲a一区二区| 亚洲一区二区精品视频| 亚洲欧洲成人自拍| 国产精品色哟哟| 国产色综合一区| 久久久久9999亚洲精品| 精品捆绑美女sm三区| 日韩色在线观看| 日韩视频在线你懂得| 欧美一卡二卡在线观看| 欧美妇女性影城| 欧美高清精品3d| 日韩一区二区三区av| 337p亚洲精品色噜噜狠狠| 欧美日韩精品系列| 91精品国产综合久久久久久久久久 | 国产日韩欧美一区二区三区乱码| 精品sm在线观看| 国产嫩草影院久久久久| 久久精品无码一区二区三区| 欧美军同video69gay| 日韩电影免费在线| 亚洲v日本v欧美v久久精品| 亚洲午夜精品17c| 亚洲国产aⅴ成人精品无吗| 亚洲影视在线观看| 丝袜国产日韩另类美女| 奇米精品一区二区三区在线观看 | 欧美性大战久久久久久久蜜臀| 色悠悠亚洲一区二区| 91高清在线观看| 欧美精品v日韩精品v韩国精品v| 91精品国产黑色紧身裤美女| 日韩午夜av电影| 国产女人aaa级久久久级| 国产精品国产馆在线真实露脸| 中文字幕一区二区三区不卡在线 | 99re热这里只有精品免费视频| 91麻豆国产福利在线观看| 欧美最猛性xxxxx直播| 91精品国产欧美一区二区| 欧美变态凌虐bdsm| 国产精品三级av| 亚洲国产一区二区a毛片| 久久国产精品色| 成人动漫视频在线| 欧美欧美欧美欧美| 久久久久国产免费免费| 亚洲精品中文字幕乱码三区| 三级成人在线视频| 色综合色狠狠天天综合色| 欧美精品日韩综合在线| 国产日韩精品久久久| 亚洲另类中文字| 蜜桃av噜噜一区| 91免费看`日韩一区二区| 91精品国产综合久久福利| 国产亚洲欧洲997久久综合| 亚洲精品乱码久久久久久久久| 美女视频一区在线观看| 91免费视频网址| 精品美女被调教视频大全网站| 亚洲人成在线播放网站岛国| 蜜臀精品久久久久久蜜臀 | 91网站视频在线观看| 欧美一区二区视频网站| 最近中文字幕一区二区三区| 奇米影视在线99精品| 色香蕉成人二区免费| 精品国产乱码久久久久久闺蜜| 亚洲精品国产精华液| 国产乱子伦视频一区二区三区 | 亚洲欧美日韩精品久久久久| 捆绑变态av一区二区三区| 一道本成人在线| 欧美国产在线观看| 久久国产夜色精品鲁鲁99| 欧美日韩情趣电影| 亚洲视频狠狠干| 成人网男人的天堂| 91精品国产综合久久久久久漫画| 亚洲激情图片一区| 成人91在线观看| 欧美国产97人人爽人人喊| 久久国产人妖系列| 欧美视频第二页| 一区二区三区在线视频播放| 成人精品鲁一区一区二区| 精品国产制服丝袜高跟| 蜜臀久久久99精品久久久久久| 在线观看亚洲一区| 亚洲视频小说图片| 99久久99久久精品免费观看| 亚洲色图.com| 99久久婷婷国产| 最好看的中文字幕久久| 国产精品自产自拍| 久久久久亚洲综合| 国产一区二区精品久久91| 精品久久一区二区三区| 蜜桃免费网站一区二区三区| 欧美乱妇15p| 日韩中文字幕亚洲一区二区va在线| 91久久人澡人人添人人爽欧美| 亚洲欧美综合在线精品| av高清久久久| 亚洲日本在线观看| 在线精品国精品国产尤物884a| 亚洲日本va午夜在线影院| 91一区一区三区| 夜夜嗨av一区二区三区网页 | 日韩成人免费电影| 91.com在线观看| 偷窥国产亚洲免费视频| 8x8x8国产精品| 免费观看一级特黄欧美大片| 日韩一区二区三区三四区视频在线观看| 亚洲123区在线观看| 4hu四虎永久在线影院成人| 日韩国产欧美在线观看| 日韩欧美一级特黄在线播放| 激情图片小说一区| 日本一区二区三区四区 | 亚洲女人****多毛耸耸8| 日本韩国一区二区三区| 天天射综合影视| 26uuu成人网一区二区三区| 国产成人在线免费| 一区精品在线播放| 91福利视频在线| 麻豆精品久久精品色综合| 国产欧美精品一区aⅴ影院| 色呦呦一区二区三区| 日韩中文字幕亚洲一区二区va在线| 欧美成人高清电影在线| av电影在线观看完整版一区二区| 亚洲精品高清在线| 日韩一区二区三区四区 |