|
读fly的手动脱dll的UPX壳有感
发了帖子 才知道自己彻底把 输入表的意思搞错了。让各位见笑了,都说vb的输入表好找,我还是没找到,只知道自己上面写的彻底错了。 |
|
读fly的手动脱dll的UPX壳有感
接下来用dll_loadEx 1.0装入过程中出现问题。 无法在一个dll_loadEx中load testdll.dll 和 复件testdll.dll 会出现 can not load this dll的错误。 无论怎么样,只要有一个先load,另外一个肯定不能load 用2个dll_loadEx分别加载,ImageBase ImageSize值就不会变化了。 我前面哪里出了问题,请各位高手指点。 |
|
读fly的手动脱dll的UPX壳有感
11014C1F 110E ADC DWORD PTR DS:[ESI],ECX 11014C21 0008 ADD BYTE PTR DS:[EAX],CL 11014C23 0000 ADD BYTE PTR DS:[EAX],AL 11014C25 0000 ADD BYTE PTR DS:[EAX],AL 11014C27 00F1 ADD CL,DH 11014C29 06 PUSH ES 11014C2A C511 LDS EDX,FWORD PTR DS:[ECX] ; Modification of segment register 11014C2C 9B WAIT 11014C2D 06 PUSH ES 11014C2E C511 LDS EDX,FWORD PTR DS:[ECX] ; Modification of segment register 11014C30 - FF25 44110011 JMP DWORD PTR DS:[11001144] ; MSVBVM60.__vbaChkstk 11014C36 - FF25 C8110011 JMP DWORD PTR DS:[110011C8] ; MSVBVM60.__vbaExceptHandler 11014C3C - FF25 04120011 JMP DWORD PTR DS:[11001204] ; MSVBVM60.__vbaFPException 11014C42 - FF25 EC100011 JMP DWORD PTR DS:[110010EC] ; MSVBVM60._adj_fdiv_m16i 11014C48 - FF25 BC100011 JMP DWORD PTR DS:[110010BC] ; MSVBVM60._adj_fdiv_m32 11014C4E - FF25 3C120011 JMP DWORD PTR DS:[1100123C] ; MSVBVM60._adj_fdiv_m32i 11014C54 - FF25 48100011 JMP DWORD PTR DS:[11001048] ; MSVBVM60._adj_fdiv_m64 11014C5A - FF25 60120011 JMP DWORD PTR DS:[11001260] ; MSVBVM60._adj_fdiv_r 11014C60 - FF25 F8100011 JMP DWORD PTR DS:[110010F8] ; MSVBVM60._adj_fdivr_m16i 11014C66 - FF25 58120011 JMP DWORD PTR DS:[11001258] ; MSVBVM60._adj_fdivr_m32 11014C6C - FF25 40120011 JMP DWORD PTR DS:[11001240] ; MSVBVM60._adj_fdivr_m32i 11014C72 - FF25 E4110011 JMP DWORD PTR DS:[110011E4] ; MSVBVM60._adj_fdivr_m64 ............................. // 省略n行 110150B0 - FF25 D4100011 JMP DWORD PTR DS:[110010D4] ; MSVBVM60.__vbaVarPow 110150B6 - FF25 4C100011 JMP DWORD PTR DS:[1100104C] ; MSVBVM60.rtcVarBstrFromChar 110150BC - FF25 CC120011 JMP DWORD PTR DS:[110012CC] ; MSVBVM60.rtcGetDateValue 110150C2 - FF25 88100011 JMP DWORD PTR DS:[11001088] ; MSVBVM60.rtcGetDayOfWeek 110150C8 - FF25 C0110011 JMP DWORD PTR DS:[110011C0] ; MSVBVM60.EVENT_SINK_QueryInterface 110150CE - FF25 48110011 JMP DWORD PTR DS:[11001148] ; MSVBVM60.EVENT_SINK_AddRef 110150D4 - FF25 9C110011 JMP DWORD PTR DS:[1100119C] ; MSVBVM60.EVENT_SINK_Release 110150DA - FF25 FC100011 JMP DWORD PTR DS:[110010FC] ; MSVBVM60.GetMemVar 110150E0 - FF25 B0110011 JMP DWORD PTR DS:[110011B0] ; MSVBVM60.PutMemVar 110150E6 - FF25 CC110011 JMP DWORD PTR DS:[110011CC] ; MSVBVM60.SetMemVar 110150EC - FF25 6C120011 JMP DWORD PTR DS:[1100126C] ; MSVBVM60.VBDllUnRegisterServer 110150F2 - FF25 84120011 JMP DWORD PTR DS:[11001284] ; MSVBVM60.VBDllGetClassObject 110150F8 - FF25 7C120011 JMP DWORD PTR DS:[1100127C] ; MSVBVM60.VBDllRegisterServer 110150FE - FF25 74120011 JMP DWORD PTR DS:[11001274] ; MSVBVM60.VBDllCanUnloadNow 11015104 - FF25 8C120011 JMP DWORD PTR DS:[1100128C] ; MSVBVM60.UserDllMain 1101510A 0000 ADD BYTE PTR DS:[EAX],AL 1101510C 5A POP EDX 1101510D 68 F475C511 PUSH testdll.11C575F4 11015112 68 F875C511 PUSH testdll.11C575F8 11015117 52 PUSH EDX 11015118 ^ E9 E7FFFFFF JMP testdll.11015104 ; JMP to MSVBVM60.UserDllMain VB是伪代码,这里VB dll的入库 应该算是输入表吧 最小的是 11014EEE - FF25 00100011 JMP DWORD PTR DS:[11001000] ; MSVBVM60.__vbaVarTstGt 最大的是 11014F00 - FF25 38130011 JMP DWORD PTR DS:[11001338] ; MSVBVM60.rtcR8ValFromBstr 参看代码 好像是到1100133C结束 11001300 99 C1 46 73 28 25 47 73 60 C0 46 73 BA B4 48 73 ?Fs(%Gs`榔s捍Hs 11001310 1F C2 46 73 D3 DA 47 73 5B 95 47 73 F3 24 47 73 缕s于Gs[?s?Gs 11001320 DC C1 46 73 B3 B9 49 73 35 0F 48 73 D7 50 3B 73 芰Fs彻Is5Hs仔;s 11001330 FE 47 3B 73 70 95 47 73 6D D6 46 73 00 00 00 00 ?;sp?sm制s.... 11001340 00 00 00 00 00 40 8F 40 06 00 04 00 00 00 00 00 .....@?...... 11001350 5C 83 24 11 20 83 24 11 0E 00 08 00 00 00 00 00 \? ?...... 11001360 A6 84 24 11 8D 84 24 11 0E 00 08 00 00 00 00 00 ?$?$...... 再11001000附近的代码如下 11000F80 DC 1C F2 83 CD 91 64 53 50 9C D9 F5 00 29 DB 68 ???dSP??)坭 11000F90 9A 0C AC CF 3A 02 83 03 42 BB 77 C1 24 57 7C 6E ??:?B击?W|n 11000FA0 2B 9F A3 E8 22 8C F6 9A B7 92 72 7F 2A 91 FB 0D +?????*?. 11000FB0 F7 2A B6 D3 59 4D 35 2E 88 28 AA CF 63 40 05 94 ?队YM5.??c@ 11000FC0 B4 FC 1A BD 6D 11 94 1A 4B BA 8F 47 A3 0B 57 44 袋巾?K?G?WD 11000FD0 32 2F AB 46 EB B3 9D A4 4E A0 8A 93 4B C8 EA E9 2/?氤?N_?K汝 11000FE0 55 50 58 21 0C 09 07 07 4B EA 8C 45 3B 35 D3 9C UPX!..K?E;5? 11000FF0 00 20 D8 00 A9 10 D8 00 00 20 D8 00 0D 99 00 57 . ???. ?.?W 11001000 18 BC 49 73 56 A0 49 73 44 59 47 73 FC B1 48 73 忌sV_IsDYGs?Hs 11001010 8D 69 48 73 6E 98 49 73 74 59 47 73 81 21 47 73 ?Hsn?stYGs?Gs 11001020 6A B4 47 73 F9 9A 49 73 9E 10 49 73 3E 62 47 73 j辞s?Is?Is>bGs 11001030 7E EE 46 73 0D 54 3B 73 CE 49 3B 73 DF B4 47 73 ~钇s.T;s紊;s叽Gs 11001040 73 10 49 73 1E 9F 49 73 4E 62 48 73 6D 63 47 73 sIs?sNbHsmcGs 11001050 A9 22 47 73 19 93 49 73 C9 66 3B 73 F8 94 47 73 ?Gs?s涉;s?Gs 代码分割不是很明显 像VB类的程序 代码的输入表应该是VB dll的入口 开始=11001000 结束=1100133C 大小=33C fly大哥,对不对啊。 |
|
读fly的手动脱dll的UPX壳有感
谢谢 fly 输入表前后是不是会有空的字串 明显标记的? |
|
用Ollydbg手脱EncryptPE V1.2003.5.18加壳的DLL
给点意见我吧,我试了好久了。 |
|
读fly的手动脱dll的UPX壳有感
我买了《加密与解密》第二版 说实在的,论坛上您的那篇比书中的手动脱UPX壳写的好,书里的还是看的云里雾里的。请指点一下吧,下午要回家,可能不能上网,回去好好补补基础知识。 |
|
读fly的手动脱dll的UPX壳有感
哈哈 没想到你这么快就回,谢谢fly。 您的upx dll示例我做了好几遍了,想熟熟手。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值