欢迎来到天天文库
浏览记录
ID:21350405
大小:58.00 KB
页数:4页
时间:2018-10-21
《找telock加壳的importtable的方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、找TELock加壳的ImportTable的方法~教育资源库 目的:在内存中将FlashFXP未被破坏的IT完整地提取出来(至于找TELock的OEP、修复的方法等,zombieys、hying、liotta已经讲得很详细了) 第一步:找到IT的位置 找IT自然要依赖于IT的结构特征。IT是个数组,数组中的每个元素是如下的一个结构(#include<inatingnullimportdescriptorDAGE_THUNK_DATA)};DAGE_DIRECTORY_ENTRY_BOUND_IMPORT(neestampofDLLboundto(Ol
2、dBIND)DAGE_IMPORT_DESCRIPTOR; PELoader/unpacker在加载DLL时,过程大致如下: 1、先根据Name用LoadLibraryA加载一个DLL; 2、根据FirstThunk找到IMAGE_IMPORT_BY_NAME数组,用GetProcAddress取得该DLL中的相应函数的地址填入IAT。FirstThunk就是指向IAT。typedefstruct_IMAGE_IMPORT_BY_NAME{AGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME; 找IT的位置的过程和上面的过程
3、有些相反。利用调试器设bpxLoadLibraryA、bpxGetProcAddress断点,我们能够直接得到的条件是DLL文件名字符串及该串的内存地址、每个函数的Hint和函数名的内存地址、IAT的位置(即GetProcAddress的返回值所要写入的位置),这样就至少有3条途径可以找到IT的位置,一是根据DLLName(在看雪教学中已有详细描述),第二条途径是根据Hint和函数名的地址,第三条则是根据IAT的位置,这3条途径用的是同一种方法(这是找IT的一种通用方法,并不限于TELock加的壳)。 1、用BPMBLoadLibraryAXDOd*(esp+
4、4)设断点,看见加载oleaut32.dll:0023:00533DBC61656C6F323374756C6C642E00000000oleaut32.dll....0023:00533DCC6972615643746E61676E616870795465VariantChangeTyp0023:00533DDC00784565615600006E616972706F4374eEx...VariantCop0023:00533DEC646E4979000000006972615643746E61yInd....VariantC0023:00533DFC7261
5、656C00000000537379536E697274lear....SysStrin0023:00533E0C6E654C67000000004673795353656572gLen....SysFreeS0023:00533E1C6E69727400000067527379536C6C4165tring...SysReAll0023:00533E2C7453636F676E6972006E654C79530000ocStringLen...Sy 2、先尝试第一条途径。字符串oleaut32.dll的RVA为00133DBC,于是在内存中搜索这个RVA,希
6、望能够找到存放有该RVA值的某个 IMAGE_IMPORT_DESCRIPTOR结构,也就等于是找到了IT。:scs:400000l178000bc,3d,13,00Patternnotfound 没有找到。因为TELock已经把相应位置上的值清0了。(实际上也可以用下一个DLL的文件名来进行搜索,因为TELock此时尚未处理下一个DLL, 它不可能提前把下一个DLL的IMAGE_IMPORT_DESCRIPTOR结构清掉。) 3、再尝试第2条途径。注意到第一个函数VariantChangeTypeEx的Hint的地址是00533DCA,于是搜索RVA值
7、00133DCA,希望能够找到FirstThunk 所指向的那个数组(其实该数组也就是IAT),进而再找到FirstThunk的位置。:scs:400000l178000ca,3d,13,00Patternfoundat001B:0053328C(0013328C) 找到之后看一下IAT。由于此时还未把GetProcAddress的返回值写入IAT,所以此时IAT中存放的都是指向IMAGE_IMPORT_BY_NAME的指针(RVA)::dd53328c001B:0053328C00133DCA00133DE000133DF200133E02.=...=..
8、.=...>..0
此文档下载收益归作者所有