.idata数据的解析

来源:互联网 发布:单片机ram rom flash 编辑:程序博客网 时间:2024/06/05 09:50

每类Section代表不同的数据,不同的数据存储组织方式一定是有非常大区别的。代码段与资源段一定区别巨大,这意味着我需要一个一个的学习每个段的解析。

 

idata段解析

这个段主要存储的是导入符号信息。昨天花了很多时间研究符号的获取,但就在刚刚开始就卡壳了,很多人都是说读取了IMAGE_IMPORT_DESCRIPTOR,就可以获取到链接库名称,但这个字段是一个地址,我根本不能理解这个地址如何对应到文件中的偏移,后来是今天才突然恍然大悟,原来那个是相对虚拟地址,而段头结构中还有一个相对虚拟地址,用来指示段数据被加载到内存后的相对虚拟地址,用段偏移+链接库名称相对虚拟地址-段头结构中的相对虚拟地址就是链接库名称在文件中的偏移。这个计算与基地址一丁点关系都没有,不明白很多文章在将这里的时候来时说基地址问题,有啥联系,白让我浪费脑细胞。

        关于地址转换问题想明白后,其余都是浮云,只要按照其它教程中提到的方法遍历就行,实在不行,看我写的代码就行了。

        另外这次代码做了改动,直接将所有知道的细节都输出到xml文件中,用于以后分析,是否将文件中的每个字节都真的明白了。是否还有很多数据游离于我们分析的结构外?

 

代码:

#include<iostream>

#include<Windows.h>

 

#include<sstream>

#include<string>

#include<vector>

#include <map>

 

 

FILE* fpOutput =NULL;

 

// 对文件数据信息分类

//主要目的是更加准确的确定每个数据的位置

struct Section

{

intm_iStart;

intm_iEnd;

std::stringm_strSectionName;

 

std::map<std::string,std::string>m_mapProperties;

 

std::vector<Section*>vecChild;

};

std::vector<Section*>g_vecSection;

 

void AddSection(intiOffset,int iLen,const char* pName)

{

Section*s = new Section;

s->m_iStart= iOffset;

s->m_iEnd   = iOffset + iLen;

s->m_strSectionName= pName;

 

g_vecSection.push_back(s);

}

void AddSection(intiOffset,int iLen,const char* pName,conststd::map<std::string,std::string>& mapProperties)

{

Section*s = new Section;

s->m_iStart= iOffset;

s->m_iEnd   = iOffset + iLen;

s->m_strSectionName= pName;

s->m_mapProperties  = mapProperties;

 

g_vecSection.push_back(s);

}

 

voidAddChild(std::vector<Section*>& vecChild,Section* pS)

{

for(size_ti=0; i<vecChild.size(); i++)

{

if(pS->m_iStart>=vecChild[i]->m_iStart&&

pS->m_iEnd<= vecChild[i]->m_iEnd)

{

returnAddChild(vecChild[i]->vecChild,pS);

}

}

 

vecChild.push_back(pS);

}

voidOutputInfo(std::vector<Section*>& vecS)

{

for(size_ti=0; i<vecS.size(); i++)

{

std::stringstreamstream;

stream<<"<SectionName=\""<<vecS[i]->m_strSectionName<<"\"Start=\""<<vecS[i]->m_iStart<<"\"End=\""<<vecS[i]->m_iEnd<<"\" ";

 

std::map<std::string,std::string>::iteratorit = vecS[i]->m_mapProperties.begin();

for(;it != vecS[i]->m_mapProperties.end(); it++)

{

stream<<it->first<<"=\""<<it->second<<"\"";

}

stream<<">"<<std::endl;

 

fprintf(fpOutput,"%s",stream.str().c_str());

OutputInfo(vecS[i]->vecChild);

 

std::stringstreamstream1;

stream1<<"</Section>"<<std::endl;

fprintf(fpOutput,"%s",stream1.str().c_str());

}

}

void OutputSection()

{

std::map<int,std::map<int,Section*>>mapS;

 

for(size_ti=0; i<g_vecSection.size(); i++)

mapS[g_vecSection[i]->m_iStart][g_vecSection[i]->m_iEnd]= g_vecSection[i];

 

Section*root = new Section;

root->m_iStart= -1;

root->m_iEnd   = 200000000;

 

std::map<int,std::map<int,Section*>>::iteratorit = mapS.begin();

for(;it!=mapS.end(); it++)

{

Section*pT = NULL;

 

std::map<int,Section*>::iteratoritT = it->second.begin();

for(;itT != it->second.end(); itT++)

{

if(pT!= NULL)

itT->second->vecChild.push_back(pT);

pT= itT->second;

}

 

AddChild(root->vecChild,pT);

}

 

fpOutput= fopen("Output.xml","w+");

OutputInfo(root->vecChild);

fclose(fpOutput);

 

//销毁数据

deleteroot;

 

for(size_ti=0; i<g_vecSection.size(); i++)

deleteg_vecSection[i];

g_vecSection.clear();

}

 

int main(intargc,char** argv)

{

FILE*fp = fopen(argv[1],"rb");

if(!fp)

{

std::cerr<<"Readfile error!\n";

return-1;

}

 

fseek(fp,0,SEEK_END);

intiLen = ftell(fp)+1;

fseek(fp,0,SEEK_SET);

 

char*pC = new char[iLen];

intiRead = fread(pC,1,iLen,fp);

fclose(fp);

 

AddSection(0,iRead,"FileContent");

 

//解析

IMAGE_DOS_HEADER*                m_pDOSHeader= (IMAGE_DOS_HEADER*)(pC);

intiDosHeaderSize = sizeof(IMAGE_DOS_HEADER);

 

AddSection(0,iDosHeaderSize,"IMAGE_DOS_HEADER");

 

IMAGE_NT_HEADERS*                m_pNTHeaders32= (IMAGE_NT_HEADERS *) ((BYTE*)m_pDOSHeader +

m_pDOSHeader->e_lfanew);

intiNTHeaderSize = sizeof(IMAGE_NT_HEADERS);

 

AddSection(m_pDOSHeader->e_lfanew,iNTHeaderSize,"IMAGE_NT_HEADERS");

 

intiSectionStart = m_pDOSHeader->e_lfanew + iNTHeaderSize;

 

std::vector<IMAGE_SECTION_HEADER*>vecSectionHeaders;

for(inti=0; i<m_pNTHeaders32->FileHeader.NumberOfSections; i++)

{

IMAGE_SECTION_HEADER*pSectionHeader = (IMAGE_SECTION_HEADER*)((BYTE*)m_pDOSHeader +

iSectionStart+ i*sizeof(IMAGE_SECTION_HEADER));

 

vecSectionHeaders.push_back(pSectionHeader);

 

AddSection(iSectionStart+i*sizeof(IMAGE_SECTION_HEADER),sizeof(IMAGE_SECTION_HEADER),"IMAGE_SECTION_HEADER");

}

 

intiCurPos = iSectionStart +m_pNTHeaders32->FileHeader.NumberOfSections*sizeof(IMAGE_SECTION_HEADER);

 

AddSection(iSectionStart,m_pNTHeaders32->FileHeader.NumberOfSections*sizeof(IMAGE_SECTION_HEADER),"IMAGE_SECTION_HEADERs");

 

//idata

//IMAGE_IMPORT_DESCRIPTOR数组

//没有指示数组大小的信息,只有不停读取,如果读取到空信息,那么就是结束了

for(size_ti=0; i<vecSectionHeaders.size(); i++)

{

std::stringstrN = (char*)(vecSectionHeaders[i]->Name);

AddSection(vecSectionHeaders[i]->PointerToRawData,vecSectionHeaders[i]->SizeOfRawData,strN.c_str());

 

if(strN== ".idata")

{

intiReadNum = 0;

while(1)

{

IMAGE_IMPORT_DESCRIPTOR*pD = (IMAGE_IMPORT_DESCRIPTOR*)(pC + vecSectionHeaders[i]->PointerToRawData+ iReadNum*sizeof(IMAGE_IMPORT_DESCRIPTOR));

AddSection(vecSectionHeaders[i]->PointerToRawData+iReadNum*sizeof(IMAGE_IMPORT_DESCRIPTOR),sizeof(IMAGE_IMPORT_DESCRIPTOR),"IMAGE_IMPORT_DESCRIPTOR");

 

iReadNum++;

if(pD->FirstThunk== 0)

break;

 

 

 

//name

intiNameAddress = vecSectionHeaders[i]->PointerToRawData + pD->Name -vecSectionHeaders[i]->VirtualAddress;

std::stringstrName = pC+iNameAddress;

 

{

std::map<std::string,std::string>mapP;

mapP["name"]= strName;

AddSection(iNameAddress,strName.length(),"Dll_Import_Name",mapP);

}

 

 

std::vector<std::string>vecImportFuns;

 

//OriginalThunk

intiThunkNum = 0;

while(1)

{

//OriginalFirstThunk

intiOriginalFirstThunkAddress =iThunkNum*sizeof(IMAGE_THUNK_DATA)+vecSectionHeaders[i]->PointerToRawData +pD->OriginalFirstThunk - vecSectionHeaders[i]->VirtualAddress;

IMAGE_THUNK_DATA*pThunkData = (IMAGE_THUNK_DATA*)(pC+iOriginalFirstThunkAddress);

AddSection(iOriginalFirstThunkAddress,sizeof(IMAGE_THUNK_DATA),"IMAGE_THUNK_DATA");

 

iThunkNum++;

if(pThunkData->u1.AddressOfData== 0)

break;

 

 

 

intiHitAddress = vecSectionHeaders[i]->PointerToRawData +pThunkData->u1.AddressOfData - vecSectionHeaders[i]->VirtualAddress;

 

IMAGE_IMPORT_BY_NAME*pImportName = (IMAGE_IMPORT_BY_NAME*)(pC+iHitAddress);

vecImportFuns.push_back((char*)(pImportName->Name));

 

std::map<std::string,std::string>mapP;

mapP["name"]= vecImportFuns[vecImportFuns.size()-1];

AddSection(iHitAddress,2+vecImportFuns[vecImportFuns.size()-1].length()+1,"IMAGE_IMPORT_BY_NAME",mapP);

}

AddSection(vecSectionHeaders[i]->PointerToRawData+ pD->OriginalFirstThunk -vecSectionHeaders[i]->VirtualAddress,iThunkNum*sizeof(IMAGE_THUNK_DATA),"IMAGE_THUNK_DATAs");

 

 

//Thunk

iThunkNum= 0;

while(1)

{

//OriginalFirstThunk

intiFirstThunkAddress =iThunkNum*sizeof(IMAGE_THUNK_DATA)+vecSectionHeaders[i]->PointerToRawData +pD->FirstThunk - vecSectionHeaders[i]->VirtualAddress;

IMAGE_THUNK_DATA*pThunkData = (IMAGE_THUNK_DATA*)(pC+iFirstThunkAddress);

AddSection(iFirstThunkAddress,sizeof(IMAGE_THUNK_DATA),"Import_Address_Table");

 

iThunkNum++;

if(pThunkData->u1.AddressOfData== 0)

break;

}

AddSection(vecSectionHeaders[i]->PointerToRawData+ pD->FirstThunk -vecSectionHeaders[i]->VirtualAddress,iThunkNum*sizeof(IMAGE_THUNK_DATA),"Import_Address_Tables");

 

 

 

}

 

 

}

}

 

OutputSection();

return0;

}

 

xml输出示例:

<Section Name="FileContent" Start="0" End="27648" >
<Section Name="IMAGE_DOS_HEADER" Start="0" End="64" >
<Section Name=".textbss" Start="0" End="0" >
</Section>
</Section>
<Section Name="IMAGE_NT_HEADERS" Start="224" End="472" >
</Section>
<Section Name="IMAGE_SECTION_HEADERs" Start="472" End="752" >
<Section Name="IMAGE_SECTION_HEADER" Start="472" End="512" >
</Section>
<Section Name="IMAGE_SECTION_HEADER" Start="512" End="552" >
</Section>
<Section Name="IMAGE_SECTION_HEADER" Start="552" End="592" >
</Section>
<Section Name="IMAGE_SECTION_HEADER" Start="592" End="632" >
</Section>
<Section Name="IMAGE_SECTION_HEADER" Start="632" End="672" >
</Section>
<Section Name="IMAGE_SECTION_HEADER" Start="672" End="712" >
</Section>
<Section Name="IMAGE_SECTION_HEADER" Start="712" End="752" >
</Section>
</Section>
<Section Name=".text" Start="1024" End="13824" >
</Section>
<Section Name=".rdata" Start="13824" End="21504" >
</Section>
<Section Name=".data" Start="21504" End="22016" >
</Section>
<Section Name=".idata" Start="22016" End="24576" >
<Section Name="IMAGE_IMPORT_DESCRIPTOR" Start="22016" End="22036" >
</Section>
<Section Name="IMAGE_IMPORT_DESCRIPTOR" Start="22036" End="22056" >
</Section>
<Section Name="IMAGE_IMPORT_DESCRIPTOR" Start="22056" End="22076" >
</Section>
<Section Name="IMAGE_THUNK_DATAs" Start="22076" End="22192" >
<Section Name="IMAGE_THUNK_DATA" Start="22076" End="22080" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22080" End="22084" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22084" End="22088" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22088" End="22092" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22092" End="22096" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22096" End="22100" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22100" End="22104" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22104" End="22108" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22108" End="22112" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22112" End="22116" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22116" End="22120" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22120" End="22124" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22124" End="22128" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22128" End="22132" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22132" End="22136" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22136" End="22140" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22140" End="22144" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22144" End="22148" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22148" End="22152" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22152" End="22156" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22156" End="22160" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22160" End="22164" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22164" End="22168" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22168" End="22172" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22172" End="22176" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22176" End="22180" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22180" End="22184" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22184" End="22188" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22188" End="22192" >
</Section>
</Section>
<Section Name="IMAGE_THUNK_DATAs" Start="22252" End="22360" >
<Section Name="IMAGE_THUNK_DATA" Start="22252" End="22256" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22256" End="22260" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22260" End="22264" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22264" End="22268" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22268" End="22272" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22272" End="22276" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22276" End="22280" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22280" End="22284" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22284" End="22288" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22288" End="22292" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22292" End="22296" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22296" End="22300" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22300" End="22304" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22304" End="22308" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22308" End="22312" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22312" End="22316" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22316" End="22320" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22320" End="22324" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22324" End="22328" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22328" End="22332" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22332" End="22336" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22336" End="22340" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22340" End="22344" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22344" End="22348" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22348" End="22352" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22352" End="22356" >
</Section>
<Section Name="IMAGE_THUNK_DATA" Start="22356" End="22360" >
</Section>
</Section>
<Section Name="Import_Address_Tables" Start="22420" End="22536" >
<Section Name="Import_Address_Table" Start="22420" End="22424" >
</Section>
<Section Name="Import_Address_Table" Start="22424" End="22428" >
</Section>
<Section Name="Import_Address_Table" Start="22428" End="22432" >
</Section>
<Section Name="Import_Address_Table" Start="22432" End="22436" >
</Section>
<Section Name="Import_Address_Table" Start="22436" End="22440" >
</Section>
<Section Name="Import_Address_Table" Start="22440" End="22444" >
</Section>
<Section Name="Import_Address_Table" Start="22444" End="22448" >
</Section>
<Section Name="Import_Address_Table" Start="22448" End="22452" >
</Section>
<Section Name="Import_Address_Table" Start="22452" End="22456" >
</Section>
<Section Name="Import_Address_Table" Start="22456" End="22460" >
</Section>
<Section Name="Import_Address_Table" Start="22460" End="22464" >
</Section>
<Section Name="Import_Address_Table" Start="22464" End="22468" >
</Section>
<Section Name="Import_Address_Table" Start="22468" End="22472" >
</Section>
<Section Name="Import_Address_Table" Start="22472" End="22476" >
</Section>
<Section Name="Import_Address_Table" Start="22476" End="22480" >
</Section>
<Section Name="Import_Address_Table" Start="22480" End="22484" >
</Section>
<Section Name="Import_Address_Table" Start="22484" End="22488" >
</Section>
<Section Name="Import_Address_Table" Start="22488" End="22492" >
</Section>
<Section Name="Import_Address_Table" Start="22492" End="22496" >
</Section>
<Section Name="Import_Address_Table" Start="22496" End="22500" >
</Section>
<Section Name="Import_Address_Table" Start="22500" End="22504" >
</Section>
<Section Name="Import_Address_Table" Start="22504" End="22508" >
</Section>
<Section Name="Import_Address_Table" Start="22508" End="22512" >
</Section>
<Section Name="Import_Address_Table" Start="22512" End="22516" >
</Section>
<Section Name="Import_Address_Table" Start="22516" End="22520" >
</Section>
<Section Name="Import_Address_Table" Start="22520" End="22524" >
</Section>
<Section Name="Import_Address_Table" Start="22524" End="22528" >
</Section>
<Section Name="Import_Address_Table" Start="22528" End="22532" >
</Section>
<Section Name="Import_Address_Table" Start="22532" End="22536" >
</Section>
</Section>
<Section Name="Import_Address_Tables" Start="22596" End="22704" >
<Section Name="Import_Address_Table" Start="22596" End="22600" >
</Section>
<Section Name="Import_Address_Table" Start="22600" End="22604" >
</Section>
<Section Name="Import_Address_Table" Start="22604" End="22608" >
</Section>
<Section Name="Import_Address_Table" Start="22608" End="22612" >
</Section>
<Section Name="Import_Address_Table" Start="22612" End="22616" >
</Section>
<Section Name="Import_Address_Table" Start="22616" End="22620" >
</Section>
<Section Name="Import_Address_Table" Start="22620" End="22624" >
</Section>
<Section Name="Import_Address_Table" Start="22624" End="22628" >
</Section>
<Section Name="Import_Address_Table" Start="22628" End="22632" >
</Section>
<Section Name="Import_Address_Table" Start="22632" End="22636" >
</Section>
<Section Name="Import_Address_Table" Start="22636" End="22640" >
</Section>
<Section Name="Import_Address_Table" Start="22640" End="22644" >
</Section>
<Section Name="Import_Address_Table" Start="22644" End="22648" >
</Section>
<Section Name="Import_Address_Table" Start="22648" End="22652" >
</Section>
<Section Name="Import_Address_Table" Start="22652" End="22656" >
</Section>
<Section Name="Import_Address_Table" Start="22656" End="22660" >
</Section>
<Section Name="Import_Address_Table" Start="22660" End="22664" >
</Section>
<Section Name="Import_Address_Table" Start="22664" End="22668" >
</Section>
<Section Name="Import_Address_Table" Start="22668" End="22672" >
</Section>
<Section Name="Import_Address_Table" Start="22672" End="22676" >
</Section>
<Section Name="Import_Address_Table" Start="22676" End="22680" >
</Section>
<Section Name="Import_Address_Table" Start="22680" End="22684" >
</Section>
<Section Name="Import_Address_Table" Start="22684" End="22688" >
</Section>
<Section Name="Import_Address_Table" Start="22688" End="22692" >
</Section>
<Section Name="Import_Address_Table" Start="22692" End="22696" >
</Section>
<Section Name="Import_Address_Table" Start="22696" End="22700" >
</Section>
<Section Name="Import_Address_Table" Start="22700" End="22704" >
</Section>
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22764" End="22781" name="_CRT_RTC_INITW" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22782" End="22804" name="_configthreadlocale" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22804" End="22823" name="__setusermatherr" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22824" End="22835" name="_commode" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22836" End="22845" name="_fmode" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22846" End="22863" name="__set_app_type" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22864" End="22877" name="_amsg_exit" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22878" End="22895" name="__wgetmainargs" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22896" End="22904" name="_exit" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22904" End="22918" name="_XcptFilter" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22918" End="22927" name="_cexit" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22928" End="22935" name="exit" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22936" End="22949" name="__winitenv" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22950" End="22970" name="_CrtSetCheckCount" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22970" End="22987" name="_CrtDbgReportW" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="22988" End="23000" name="_initterm" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23000" End="23014" name="_initterm_e" >
</Section>
<Section Name="Dll_Import_Name" Start="23014" End="23027" name="MSVCR100D.dll" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23028" End="23048" name="?terminate@@YAXXZ" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23048" End="23063" name="_controlfp_s" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23064" End="23081" name="_invoke_watson" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23082" End="23092" name="_unlock" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23092" End="23106" name="__dllonexit" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23106" End="23114" name="_lock" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23114" End="23124" name="_onexit" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23124" End="23150" name="_except_handler4_common" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23150" End="23171" name="_crt_debugger_hook" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23172" End="23188" name="EncodePointer" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23188" End="23210" name="InterlockedExchange" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23210" End="23218" name="Sleep" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23218" End="23247" name="InterlockedCompareExchange" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23248" End="23269" name="HeapSetInformation" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23270" End="23300" name="SetUnhandledExceptionFilter" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23300" End="23316" name="DecodePointer" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23316" End="23342" name="QueryPerformanceCounter" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23342" End="23357" name="GetTickCount" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23358" End="23379" name="GetCurrentThreadId" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23380" End="23402" name="GetCurrentProcessId" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23402" End="23428" name="GetSystemTimeAsFileTime" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23428" End="23450" name="WideCharToMultiByte" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23450" End="23470" name="IsDebuggerPresent" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23470" End="23492" name="MultiByteToWideChar" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23492" End="23509" name="RaiseException" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23510" End="23521" name="lstrlenA" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23522" End="23539" name="GetProcAddress" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23540" End="23555" name="LoadLibraryW" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23556" End="23567" name="HeapFree" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23568" End="23580" name="HeapAlloc" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23580" End="23597" name="GetProcessHeap" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23598" End="23619" name="GetModuleFileNameW" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23620" End="23635" name="VirtualQuery" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23636" End="23650" name="FreeLibrary" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23650" End="23669" name="TerminateProcess" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23670" End="23690" name="GetCurrentProcess" >
</Section>
<Section Name="IMAGE_IMPORT_BY_NAME" Start="23690" End="23717" name="UnhandledExceptionFilter" >
</Section>
<Section Name="Dll_Import_Name" Start="23718" End="23730" name="KERNEL32.dll" >
</Section>
</Section>
<Section Name=".rsrc" Start="24576" End="26112" >
</Section>
<Section Name=".reloc" Start="26112" End="27648" >
</Section>
</Section>

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 凉鞋的铆钉生锈了怎么办 扇子的铆钉坏了怎么办 包包的铆钉坏了怎么办 汽车半轴螺丝母拧不动怎么办? 卫衣袖子短了怎么办 u型导轨蚊帐下垂怎么办 100的水管螺纹出漏水怎么办 吊顶螺丝没有防锈处理怎么办 膨胀螺丝洞松了怎么办 膨胀螺丝眼大了怎么办 墙上螺丝孔大了怎么办 膨胀螺丝孔深了怎么办 克霉膨胀栓的线怎么办 摩托车排气管螺丝断了怎么办 汽车轮胎螺丝卸不下来怎么办 内六角螺丝卸不下来怎么办 洗衣机六角螺丝卸不动怎么办 黄油嘴打不进去怎么办 螺杆冷水机氟系统有空气怎么办 脚踏式加油枪皮碗不下去怎么办? 自攻螺丝滑丝怎么办? 大工打小工老板不管怎么办 虾缸的过滤吸虾怎么办 加热棒坏了鱼怎么办 钢材软打孔断钻头怎么办 空调余额下水管检查口按不上怎么办 风机盘管噪音大怎么办 混凝土水泥放少了怎么办 门式钢梁端板连接下料短啦怎么办? 灌桩导管堵了怎么办 公路车尾钩歪了怎么办 铃木羚羊车大灯不亮怎么办 玻璃瓶打碎了里面食物怎么办 玻璃门上轴坏了怎么办 配筋面积小了怎么办 ps大文件存不了怎么办 挑架钢丝绳拉环未预埋怎么办 出现偏拉的梁怎么办 尾插不好上锡怎么办 汽车玻璃上的焊点很难去除怎么办 拆苹果硬盘焊点掉了怎么办