资源描述:
《telock0.98加壳的dll脱壳》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、tElock0.98加壳的DLL脱壳~教育资源库 前言: 早在2000年10月就脱过用tElock0.98加壳的NotePad,并好像在看雪论坛写过脱壳简要。 最近有网友问tElock0.98加壳的DLL脱壳问题。整理出一篇文章,希望对你有帮助。 Liotta[BCG] 目标: 超星浏览器3.6.0.1210所带的pdg2.dll(先用upx-d解压,然后用tElock0.98加壳) scouting...E:ProgramFilesSSREADER36pdg2.dll-256000bytesbig EntryPoint:0007EBD6(offset0003
2、DBD6)E925E4FFFF000000 ImageBase:10000000BaseofCode:00001000 BaseofDate:0005A000SizeofImage:00080000 NumberofSections:0006 工具: SoftICE+ICEDump PEditor+P1007D000017F:1007EBDB0000ADD[EAX],AL017F:1007EBDD0008ADD[EAX],CL 消除断点bpint3 再BPXGetModuleHandleA 为何要用这个函数中断呢?因为用tElock0.98加壳后的文件只有这
3、一个输入函数,用PEditor看看就知! 函数GetModuleHandleA中断,按F12返回。:u1007e210leip-1007e210017F:1007E2108B9562D34000MOVEDX,[EBP+0040D362]017F:1007E2168BB552D34000MOVESI,[EBP+0040D352]017F:1007E21C85F6TESTESI,ESI<--首次调用时的ESI就是ImportTabler的RVA,记下该值0005D720。017F:1007E21E0F8406040000JZ1007E62A017F:1007E22403F
4、2ADDESI,EDX<--EDX的值就是ImageBase017F:1007E22683A552D4400000ANDDOVEAX,[ESI+0C]017F:1007E23083660C00ANDDP出有效的文件就要想想办法。017F:1007E23485C0TESTEAX,EAX017F:1007E2360F84EE030000JZ1007E62A017F:1007E23C03C2ADDEAX,EDX017F:1007E23E8BD8MOVEBX,EAX017F:1007E24050PUSHEAX017F:1007E241FF95D0D24000CALL[EBP+0
5、040D2D0]:ueipl1007e270-eip017F:1007E24785C0TESTEAX,EAX<--GetModuleHandleA中断,按F12返回到此处。017F:1007E2490F85BA000000JNZ1007E309017F:1007E24F53PUSHEBX017F:1007E250FF95E4BA4000CALL[EBP+0040BAE4]017F:1007E25685C0TESTEAX,EAX017F:1007E2580F85AB000000JNZ1007E309017F:1007E25E8B9562D34000MOVEDX,[EBP+
6、0040D362]017F:1007E26401952AD34000ADD[EBP+0040D32A],EDX017F:1007E26A019536D34000ADD[EBP+0040D336],EDX017F:1007E6C6MOVEDI,[EBP+0040D362]017F:1007E6CCADDEDI,[EDI+3C]017F:1007E6CFOR[EDI+06],SP<--此处改了NumberofSections的值017F:1007E6D3SHRESI,00017F:1007E6D6CLC 然后用/tracex10000000eip-8指令追踪到pdg2.d
7、ll的OEP为100330E4:ueipl100330f7-eip017F:100330E455PUSHEBP017F:100330E58BECMOVEBP,ESP12下一页友情提醒:,特别!017F:100330E753PUSHEBX 三,如何DUMP出pdg2.dll文件呢?经过以上追踪应该很清楚了! 中断在DLL文件入口点,改CC为原来的E9 bpxreadfile(主要是用以跳过反跟踪代码,直接G1007E21E不行) F5 中断按F12返回 BD* G1007E21E RFLZ