|
|
|
|
|
[转帖]Hex-Rays.IDA.Pro.Advanced.SDK.v6.1-RDW
貌似是版本过期了,提示这个不是最新版?英语学的不强大. 这个提示有点郁闷.. 按NFO把python问题解决了... 这个NFO里貌似米有.. 烦编译了一下记事本..那速度真的比5.5快多了..试用感受,强大多了. ----------------------------------------------------------------------------------------- 115网盘分流(我想还是有必要分流一下,感谢林大,大家快用吧~~!): //直接解压就可以,我已经处理好了. ida6.1:http://u.115.com/file/aqzfrhyd //能不用就不用吧,原汁原味才够味,如果有破解需要,将该压缩包中文件替换原文件.直接用的是ARAB的方法,用了后,请感谢这位强人吧! ida6.1 patch(ARAB破解方法修改^^):http://u.115.com/file/bhzsv370 //和我一样,不喜欢安装的话,在这里就可以下到压缩包. python2.6:http://u.115.com/file/clgx6bcd 已经发现的问题: 1. 启动IDA会有版本过期,提示; -->目前不影响使用 2. 反编译插件,会提示还有3月就过期了; -->目前不影响使用 //NFO中文大致翻译: rdw.nfo.txt |
|
[转帖]Hex-Rays.IDA.Pro.Advanced.SDK.v6.1-RDW
林大 这个提示你那有么? your support plan might have expired. To renew it, please visit then web site for the instructions. 大意: 您的支持计划,可能已过期。要更新,请访问网站的。 |
|
[转帖]Hex-Rays.IDA.Pro.Advanced.SDK.v6.1-RDW
哇...手动一个个解压..点的手的麻.. |
|
[转帖]Hex-Rays.IDA.Pro.Advanced.SDK.v6.1-RDW
林大..我专门来支持你的.. |
|
|
|
[原创]一些简单的壳分析
// 发现加密算法简单,而且IAT并未被加密了,CALL调用被拿掉了,比较麻烦些~!我觉得这个壳完全可以硬解码 // // 从入口直接F4这里,上面就是VirtualAlloc获得数据空间,解密代码: // 停在这里后,已经解密完成. 0040D22E 2B7C24 28 sub edi, dword ptr [esp+28] 0040D232 897C24 1C mov dword ptr [esp+1C], edi 0040D236 61 popad 0040D237 C2 0800 retn 8 // 实际早就觉得这个地方是JMP的关键,果真: 0040D183 50 push eax 0040D184 53 push ebx 0040D185 E8 05000000 call 0040D18F 0040D18A 5A pop edx 0040D18B 52 push edx 0040D18C 55 push ebp 0040D18D - FFE2 jmp edx //跟进去吧~! // 出现异常 00390090 AD lods dword ptr [esi] 00390091 CD20 33F6E810 vxdjump 10E8F633 00390097 0000 add byte ptr [eax], al // 重新载入,直接F4,再F7 00390000 E8 16000000 call 0039001B 00390005 8B5C24 0C mov ebx, dword ptr [esp+C] 00390009 8BA3 C4000000 mov esp, dword ptr [ebx+C4] 0039000F 64:8F05 0000000>pop dword ptr fs:[0] 00390016 83C4 04 add esp, 4 00390019 EB 14 jmp short 0039002F 0039001B 64:FF35 0000000>push dword ptr fs:[0] 00390022 64:8925 0000000>mov dword ptr fs:[0], esp 00390029 33C9 xor ecx, ecx 0039002B 99 cdq 0039002C F7F1 div ecx ;这里会有个除法异常 0039002E E9 E8030000 jmp 0039041B // 那来这么多异常撒~~! // 忽略全部异常,在代码段下写入异常,F9段下,发现代码段已经完全解密,发现CALL调用 // 已经被修改了。可能需要还在前面来处理. // 取消写入断点,按F7就来到了,F8会飞了的. 0040D18F 60 pushad 0040D190 8B7424 24 mov esi, dword ptr [esp+24] 0040D194 8B7C24 28 mov edi, dword ptr [esp+28] 0040D198 FC cld 0040D199 B2 80 mov dl, 80 0040D19B 33DB xor ebx, ebx 0040D19D A4 movs byte ptr es:[edi], byte ptr [esi> 0040D19E B3 02 mov bl, 2 // 第一次解密的是代码段,第二次解密的是数据段,看明白了 // GO ON~~!按流程是到了解密IAT的时候,果真: 00392845 AA stos byte ptr es:[edi] 00392846 61 popad 00392847 8D95 26070000 lea edx, dword ptr [ebp+726] 0039284D 52 push edx 0039284E 56 push esi 0039284F FF95 73060000 call dword ptr [ebp+673] //获得IAT表 00392855 8907 mov dword ptr [edi], eax //EDI为IAT地址 00392857 5A pop edx 00392858 0FB642 FF movzx eax, byte ptr [edx-1] 0039285C 03D0 add edx, eax 0039285E 42 inc edx 0039285F 83C7 04 add edi, 4 00392862 59 pop ecx 00392863 ^ E2 A9 loopd short 0039280E 00392865 ^ E9 63FFFFFF jmp 003927CD //F2 断点,继续下一个DLL // IAT表解密完成,004062DC - 0040652C 004062DC 00 00 00 00 00 00 00 00 BB 7A DD 77 27 6C DD 77 ........粃輜'l輜 004062EC E7 EA DD 77 C8 EF DD 77 F3 BC DF 77 00 00 00 00 珀輜蕊輜蠹遷.... 004062FC 25 8D F1 77 71 5A F1 77 CE EC F1 77 70 5B F1 77 %嶑wqZ駑戊駑p[駑 0040630C D2 4C F4 77 F1 DE F2 77 5F 6E F1 77 9E F4 F2 77 襆魒褶騱_n駑烎騱 0040631C 79 5E F4 77 61 DC F2 77 FF DC F1 77 00 BF F3 77 y^魒a茯w荞w.矿w 0040632C F2 4D F4 77 DB 5E F1 77 1F 94 F1 77 45 DF F1 77 騇魒踍駑旕wE唏w // 下面应该怎么到OEP了: // 有点眼熟~! 003928DB 8B07 mov eax, dword ptr [edi] ;unpackme.00401A5C 003928DD 0BC0 or eax, eax // 这里没有找OEP,而是逐一替换地址 // EDI表的格式为 地址 KEY 003928D5 8DB5 6D050000 lea esi, dword ptr [ebp+56D] 003928DB 8B07 mov eax, dword ptr [edi] ;EDI这里有个表 003928DD 0BC0 or eax, eax 003928DF 75 02 jnz short 003928E3 003928E1 EB 1D jmp short 00392900 003928E3 25 FFFFFF7F and eax, 7FFFFFFF 003928E8 0385 83060000 add eax, dword ptr [ebp+683] 003928EE 2B85 8F060000 sub eax, dword ptr [ebp+68F] 003928F4 8BDE mov ebx, esi 003928F6 2BD8 sub ebx, eax 003928F8 8958 FC mov dword ptr [eax-4], ebx 003928FB 83C7 08 add edi, 8 003928FE ^ EB DB jmp short 003928DB // 替换完地址就是应该OEP了吧 // ^o^还真是去了OEP了 00392947 89AD A7050000 mov dword ptr [ebp+5A7], ebp 0039294D 8B85 B3060000 mov eax, dword ptr [ebp+6B3] 00392953 0385 83060000 add eax, dword ptr [ebp+683] 00392959 8BF8 mov edi, eax ; unpackme.004010CC // 飞向光明之颠~~! 00392987 5D pop ebp 00392988 5B pop ebx 00392989 59 pop ecx 0039298A 5A pop edx 0039298B 5E pop esi 0039298C - FFE0 jmp eax ; unpackme.004010CC // 比较简单的脱壳方法就是DUMP了 // 修复比较麻烦, // 跑了一圈发现了关键所在,不知道大家明白了吗? // bp VirtualAlloc: // 第一次断下是00390000,这个是解密程序,GO ON~! // 第二次断下是003D0000,这个是代码段,看看原始加密的代码段是否完好~! // // ESI -EDI就是将代码段的内容拷贝到003D0000 0040D190 8B7424 24 mov esi, dword ptr [esp+24] 0040D194 8B7C24 28 mov edi, dword ptr [esp+28] 0040D198 FC cld 0040D199 B2 80 mov dl, 80 0040D19B 33DB xor ebx, ebx 0040D19D A4 movs byte ptr es:[edi], byte ptr [esi> 0040D19E B3 02 mov bl, 2 // 发现这个加密算法并不多难,数据段和代码段都是同一个算法,完全硬解码也不是多困难 // // 主要是这个函数: 0040D212 02D2 add dl, dl ;关键,累加 0040D214 75 05 jnz short 0040D21B 0040D216 8A16 mov dl, byte ptr [esi] 0040D218 46 inc esi 0040D219 12D2 adc dl, dl ;关键 0040D21B C3 retn // 代码已经解密出来了,哎~~!本以为原始代码没动过,结果还是动了. 003D00E1 56 push esi 003D00E2 90 nop 003D00E3 E8 00000000 call 003D00E8 ;这里默认指下一条指令 003D00E8 8BF0 mov esi, eax 003D00EA 8A00 mov al, byte ptr [eax] 003D00EC 84C0 test al, al 003D00EE 74 04 je short 003D00F4 003D00F0 3C 22 cmp al, 22 003D00F2 ^ 75 ED jnz short 003D00E1 003D00F4 803E 22 cmp byte ptr [esi], 22 003D00F7 75 15 jnz short 003D010E 003D00F9 46 inc esi 003D00FA EB 12 jmp short 003D010E // 无意思了~~~~~~~~~~! |
|
|
|
|
|
[下载]OllyDbg 2.0 The final beta release (odbg200k.zip)
偶来晚了...都早放出来了. |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值