好友
阅读权限25
听众
最后登录1970-1-1
|
本帖最后由 wuqing1501 于 2012-8-16 15:21 编辑
Safengine Shielden v2.1.7.0脱壳视频
发完帖子后 发现电脑中了病毒 大家注意杀毒 抱歉啊!!
发完帖子后 发现电脑中了病毒 大家注意杀毒 抱歉啊!!
发完帖子后 发现电脑中了病毒 大家注意杀毒 抱歉啊!!
发完帖子后 发现电脑中了病毒 大家注意杀毒 抱歉啊!!
给使用SE的人的建议 一定要用SE的 api 处理全选项最大强度加密增加难度,最好使用SE的 VM把关键代码VM掉 尽量不要使用免费版的授权 因为免费版 是严重放水的 下面的方法只适合初学者 高手飞过吧
SE的加密强度是非常高的,不是我等可以搞定的,在此之所以脱壳,是因为听到朋友说有人在52破解
论坛发布了SE的脱壳(链接地址 http://www.52pojie.cn/thread-160458-1-1.html),也就怀着学
习的态度学习之。
因为样本的加壳难度非常的低(IAT基本上没有处理,没有DLL模拟,没有资源保护,没有使用VM也就
没有ANTIDUMP),故可以采用这样的方式处理,如果上面说的那么多种都有的话我是会放弃的。。。
之所以这么简单还做个视频教程,其实是朋友想让做个,顺便就传上论坛吧。。。
过程还是很简单的,大概也就看个流程吧。。
开始吧。
第一、遇到SE之类的所有的强壳的时候,首要的保证就是要有一个可以使软件正常运行的OD。。
OK 可以正常运行。。
第二、开始调试
对CODE段下内存访问断点,为什么不用别的断点?个人调试的经验吧,内存写入断点不会被ANTI
F9运行吧,一直运行到什么时候呢?看数据窗口,等CODE段的内容全部解码。。。
这个样本因为加密简单,没有保护资源等等,所以直接下段运行后code段已经解码了。。
如果加密复杂的就要一直等到CODE段解码,并且IAT 全部写入以后 这个时候就说明 已经解码完毕并
处理完了IAT 马上要到OEP了,所以这个时候我们对code段下个内存访问断点,然后F9吧,直到软件
停止在oep附近。
OEP
00401806 55 PUSH EBP ; 其实这里才是OEP
00401807 8BEC MOV EBP,ESP ; OEP 附近
00401809 6A FF PUSH -1
0040180B 68 10244000 PUSH 00402410
00401810 68 00184000 PUSH 00401800
00401815 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
0040181B 50 PUSH EAX
0040181C 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
第三、修复IAT吧
oep 到了以后 就不停的F7吧,对于加密简单的,是可以这样处理的。。。
看视频吧,
这里,看看返回的结果是什么?是不是DLL基址呢?是不是相当于LoadLibraryA 的效果呢
004F523D E8 4DB8F1FF CALL 00410A8F
004F5242 ^ E9 80FEFFFF JMP 004F50C7
00410A8F - E9 E7123F7C JMP kernel32.LoadLibraryA
0012FF08 004F5141 /CALL to LoadLibraryA from se.004F513C
0012FF0C 004F5158 \FileName = "MSVCRT.dll"
看到了吧 这里修改以后 刚好是 调用的 那就说明这样调用是可以的没有错的
F9吧
继续F7 看看这个地址 过后是不是EAX就是API地址?是不是相当于GetProcAddress?
004F50DB 50 PUSH EAX
004F5052 E8 7AE0F1FF CALL 004130D1
004F5057 ^ EB BF JMP SHORT 004F5018
004130D1 - E9 6A7D3F7C JMP kernel32.GetProcAddress
0012FF04 004F516B /CALL to GetProcAddress from se.004F5166
0012FF08 77BE0000 |hModule = 77BE0000 (msvcrt)
0012FF0C 004F5189 \ProcNameOrOrdinal = "__p__fmode"
这里很关键 如果有时候 iAT 加密的时候 加密强度比较高 这里出现的就不是 API的名称 这种方法也就失效了。。。
不好意思刚才误按了F2 重来一下吧。继续上次的。。
再来看一个API 继续F7
重新来一遍吧因为有些代码已经执行过了。。
直接去OEP吧
做完这些后 该上UIF了
OK了
用Ir修复一下IAT吧
修复了 把CODE段 以及SE段 修改为可写
可以运行的
但是这个时候 不能跨平台的 因为 IAT的调用是 偏位的 我们看下
004FC008 7C80AE40 kernel32.GetProcAddress
004FC00C 7C801629 kernel32.DeviceIoControl
004FC010 7C80B741 kernel32.GetModuleHandleA
004FC014 00000000
004FC018 77BF9CC5 msvcrt.??2@YAPAXI@Z
004FC01C 77C05C94 msvcrt._except_handler3
004FC020 77C04E51 msvcrt.__dllonexit
004FC024 77BFC407 msvcrt.malloc
004FC028 77C323D8 OFFSET msvcrt._adjust_fdiv
004FC02C 77C09D67 msvcrt._initterm
004FC030 77C16F70 msvcrt.memcpy
004FC034 77C180F9 msvcrt.wcsrchr
004FC038 77C17A90 msvcrt.strncpy
004FC03C 00000000
004FC040 77D1A9B6 user32.wsprintfW
004FC044 00000000
004FC048 76D32841 iphlpapi.GetInterfaceInfo
004FC04C 00000000
004FC050 77DA6C27 advapi32.RegCloseKey
004FC054 77DA7ABB advapi32.RegQueryValueExA
004FC058 77DA7852 advapi32.RegOpenKeyExA
$ ==> >7C9300C4 ntdll.RtlAllocateHeap
$+4 >7C801D7B kernel32.LoadLibraryA
$+8 >7C80AE40 kernel32.GetProcAddress
$+C >7C801629 kernel32.DeviceIoControl
$+10 >7C80B741 kernel32.GetModuleHandleA
$+14 >00000000
$+18 >77BF9CC5 msvcrt.??2@YAPAXI@Z
$+1C >77C05C94 msvcrt._except_handler3
$+20 >77C04E51 msvcrt.__dllonexit
$+24 >77BFC407 msvcrt.malloc
$+28 >77C323D8 OFFSET msvcrt._adjust_fdiv
$+2C >77C09D67 msvcrt._initterm
$+30 >77C16F70 msvcrt.memcpy
$+34 >77C180F9 msvcrt.wcsrchr
$+38 >77C17A90 msvcrt.strncpy
$+3C >00000000
$+40 >77D1A9B6 user32.wsprintfW
$+44 >00000000
$+48 >76D32841 iphlpapi.GetInterfaceInfo
$+4C >00000000
$+50 >77DA6C27 advapi32.RegCloseKey
$+54 >77DA7ABB advapi32.RegQueryValueExA
$+58 >77DA7852 advapi32.RegOpenKeyExA
$+5C >00000000
第一次录这个玩意 竟然断了三次,因为录像过程中同事发消息被录了所以截取了一段 重新录 大家将就看吧。。。
继续吧
但是看下IR修复的是 004ff000 而程序中的调用是 004FC000 需要修改一下这里。
我偷懒了 找块空地吧 写这个代码
修正一下OEP
00401A30 60 PUSHAD
00401A31 B9 5C000000 MOV ECX,5C
00401A36 BE 00F04F00 MOV ESI,<&kernel32.HeapAlloc>
00401A3B BF 00C04F00 MOV EDI,004FC000
00401A40 F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>
00401A42 61 POPAD
00401A43 ^ E9 BEFDFFFF JMP <ModuleEntryPoint>
可以运行了。。。
虚拟机 测试一下
可以运行 可以跨平台了。。
这次就到这里了 第一次做的很不好 希望大家不要介意 其实这个就是大概的流程
对于 加密复杂的 如果有DLL模拟的话只要 开始先去掉DLL模拟 到OEP以后 修正一下 资源 就可以了
但是对于 API 全选项 高强度加密的 我就搞不定了 对于ANTIDUMP的 我也搞不定的 就这样吧
下次见。。。。。。。。
笨笨鼠。。
下载地址:
http://dl.dbank.com/c0qbzgks9a
http://115.com/file/c2sbz0lt#
Safengine Shielden v2.1.7.0脱壳视频.rar
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|