Safengine Shielden v2.1.7.0脱壳视频
本帖最后由 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 00000000MOV EAX,DWORD PTR FS:
0040181B 50 PUSH EAX
0040181C 64:8925 0000000>MOV DWORD PTR FS:,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的调用是 偏位的 我们看下
004FC0087C80AE40kernel32.GetProcAddress
004FC00C7C801629kernel32.DeviceIoControl
004FC0107C80B741kernel32.GetModuleHandleA
004FC01400000000
004FC01877BF9CC5msvcrt.??2@YAPAXI@Z
004FC01C77C05C94msvcrt._except_handler3
004FC02077C04E51msvcrt.__dllonexit
004FC02477BFC407msvcrt.malloc
004FC02877C323D8OFFSET msvcrt._adjust_fdiv
004FC02C77C09D67msvcrt._initterm
004FC03077C16F70msvcrt.memcpy
004FC03477C180F9msvcrt.wcsrchr
004FC03877C17A90msvcrt.strncpy
004FC03C00000000
004FC04077D1A9B6user32.wsprintfW
004FC04400000000
004FC04876D32841iphlpapi.GetInterfaceInfo
004FC04C00000000
004FC05077DA6C27advapi32.RegCloseKey
004FC05477DA7ABBadvapi32.RegQueryValueExA
004FC05877DA7852advapi32.RegOpenKeyExA
$ ==> >7C9300C4ntdll.RtlAllocateHeap
$+4 >7C801D7Bkernel32.LoadLibraryA
$+8 >7C80AE40kernel32.GetProcAddress
$+C >7C801629kernel32.DeviceIoControl
$+10 >7C80B741kernel32.GetModuleHandleA
$+14 >00000000
$+18 >77BF9CC5msvcrt.??2@YAPAXI@Z
$+1C >77C05C94msvcrt._except_handler3
$+20 >77C04E51msvcrt.__dllonexit
$+24 >77BFC407msvcrt.malloc
$+28 >77C323D8OFFSET msvcrt._adjust_fdiv
$+2C >77C09D67msvcrt._initterm
$+30 >77C16F70msvcrt.memcpy
$+34 >77C180F9msvcrt.wcsrchr
$+38 >77C17A90msvcrt.strncpy
$+3C >00000000
$+40 >77D1A9B6user32.wsprintfW
$+44 >00000000
$+48 >76D32841iphlpapi.GetInterfaceInfo
$+4C >00000000
$+50 >77DA6C27advapi32.RegCloseKey
$+54 >77DA7ABBadvapi32.RegQueryValueExA
$+58 >77DA7852advapi32.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:,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
这个样本 貌似是最小保护、 这样都能抢着板凳,前排出名~~学习了 Sound 发表于 2012-8-16 12:15 static/image/common/back.gif
这个样本 貌似是最小保护、
却是是最小保护 的本来觉得太简单了 就不想做了 朋友想看 就费点事 录一下而已 加密强度高的 搞不定 我是抛砖 等着引玉呢 如果是最小保护的话,不脱壳用Patch的话反而更容易。
不过楼主分享精神可佳。期待更多视频教程。 感谢分享精彩教程 期待楼主更多作品分享 解压要密码?
下来学习下。。SE好强大
高手在民间啊。。
学习一下牛人的教程,谢谢分享了~~ 商业版SE怎么过OD 晴师傅 果然威武 晴师傅 果然威武