通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 红客教程 >> 网络攻防 >> 文章正文
脚本实现三次内存断点法快速搞定Telock0.96+Aspack两层壳
责任编辑:酷酷の鱼   更新日期:2008-1-29
 

【脱文标题】 三次内存断点法快速搞定Telock0.96+Aspack两层壳

【脱文作者】 weiyi75[Dfcg]
 
【作者邮箱】 weiyi75@sohu.com
 
【作者主页】 Dfcg官方大本营
 
【使用工具】 Peid,Ollydbg,LoadPe,Imprec1.42,Freeres
 
【破解平台】 Win2000/XP
 
【软件名称】 系统管家 V2.71
 
【下载地址】 http://www.skycn.com/soft/11570.html
 
【软件简介】 系统管家是一款强大的操作系统设置软件。个性化的设置满足初学者及设置高手们的需求。系统管家不但为您提供从桌面、个性、安全、网络、优化等方面的设置,它还包揽了系统注册表的清理、维护、备份及还原,系统垃圾文件、软件、ActiveX无效组件的清理及维护等工作。您是否还在为系统需要同时安装多种设置、维护软件互补而烦恼?系统管家可以为您的Windows98/2000/ME/XP/2003操作系统提供全方位的服务!系统管家内置的系统信息检测可显示操作系统及硬件设备的的大量信息,并且集合了进程管理、内存整理工具软件。目前系统管家提供了桌面设置、开始菜单、任务栏、输入法、窗口界面、系统信息、OEM信息、个性文件夹、安全设置、多用户、密码策略、控制面板、安全视窗、注册表备份/还原、磁盘隐藏、伪装文件、隐藏特殊项目、自动运行、系统启动、文件系统、存储系统、程序加速、多媒体、网络加速、IE浏览器、后台服务、注册表清理、磁盘清理、软件清理、组件清理等功能设置。 
 
【软件大小】 1852 KB
 
【加壳方式】 Telock0.96+Aspack
 
【脱壳声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
 
--------------------------------------------------------------------------------
 
【脱壳内容】

首先Peid查壳,tElock 0.96 -> tE!,然后用OD载入程序,Alt+M查看区段,发现里层还有一层Aspack。

Telock0.98我们在进阶篇看过,比较麻烦,断点不能乱下,如普通Int3断点,硬件断点都不能下。但还是可以通过内存断点中断的,Telock0.96较Telock0.98较弱。

OD载入程序,不忽略无效指令异常和内存异常。 

首先火力探测Telock有一次内存异常和2次无效指令异常然后程序运行。

重新载入程序。

0053CBA2 >^\E9 59E4FFFF     JMP NSSetWin.0053B000  //外壳入口
0053CBA7    0000            ADD BYTE PTR DS:[EAX],AL
0053CBA9    0000            ADD BYTE PTR DS:[EAX],AL
0053CBAB    0000            ADD BYTE PTR DS:[EAX],AL
0053CBAD    00D3            ADD BL,DL
0053CBAF    2BA3 0FEECB13   SUB ESP,DWORD PTR DS:[EBX+13CBEE0F]
0053CBB5    0000            ADD BYTE PTR DS:[EAX],AL
0053CBB7    0000            ADD BYTE PTR DS:[EAX],AL
0053CBB9    0000            ADD BYTE PTR DS:[EAX],AL
0053CBBB    0000            ADD BYTE PTR DS:[EAX],AL
0053CBBD    000E            ADD BYTE PTR DS:[ESI],CL
0053CBBF    CC              INT3
....................................................................

无效指令异常,必须Shift+F9过

0053B6A8    8DC0            LEA EAX,EAX                              ; 非法使用寄存器
0053B6AA    74 03           JE SHORT NSSetWin.0053B6AF
0053B6AC    CD 20           INT 20
0053B6AE    64:67:8F06 0000 POP DWORD PTR FS:[0]
0053B6B4    EB 02           JMP SHORT NSSetWin.0053B6B8
0053B6B6    CD 20           INT 20
0053B6B8    59              POP ECX
0053B6B9    61              POPAD
0053B6BA    F5              CMC
0053B6BB    8D7415 00       LEA ESI,DWORD PTR SS:[EBP+EDX]
0053B6BF    83C2 22         ADD EDX,22
0053B6C2    8BFE            MOV EDI,ESI
0053B6C4    B9 80120000     MOV ECX,1280
0053B6C9    2ADB            SUB BL,BL
0053B6CB    AC              LODS BYTE PTR DS:[ESI]
0053B6CC    32C3            XOR AL,BL
0053B6CE    FEC0            INC AL
....................................................................

内存异常,Shift+F9

0053BBA6    CD 68           INT 68
0053BBA8    66:05 7B0C      ADD AX,0C7B
0053BBAC    66:48           DEC AX
0053BBAE    74 55           JE SHORT NSSetWin.0053BC05
0053BBB0    8D85 450B0000   LEA EAX,DWORD PTR SS:[EBP+B45]
0053BBB6    894424 04       MOV DWORD PTR SS:[ESP+4],EAX
0053BBBA    64:67:8926 0000 MOV DWORD PTR FS:[0],ESP
0053BBC0    EB 1F           JMP SHORT NSSetWin.0053BBE1
0053BBC2    CD 20           INT 20
0053BBC4    8B6424 08       MOV ESP,DWORD PTR SS:[ESP+8]
0053BBC8    8B6C24 08       MOV EBP,DWORD PTR SS:[ESP+8]
0053BBCC    8D85 7A0B0000   LEA EAX,DWORD PTR SS:[EBP+B7A]
0053BBD2    50              PUSH EAX
0053BBD3    EB 01           JMP SHORT NSSetWin.0053BBD6
0053BBD5    E8 81AD291C     CALL 1C7D695B
0053BBDA    0000            ADD BYTE PTR DS:[EAX],AL
0053BBDC    E7 25           OUT 25,EAX                               ; I/O 命令
0053BBDE    A9 FEC3EB01     TEST EAX,1EBC3FE
0053BBE3    EB 33           JMP SHORT NSSetWin.0053BC18
....................................................................

无效指令异常

0053C6BD    8DC0            LEA EAX,EAX                              ; 非法使用寄存器
0053C6BF    EB 01           JMP SHORT NSSetWin.0053C6C2
0053C6C1    EB 68           JMP SHORT NSSetWin.0053C72B
0053C6C3    33C0            XOR EAX,EAX
0053C6C5  - EB FE           JMP SHORT NSSetWin.0053C6C5
0053C6C7    FFE4            JMP ESP
0053C6C9    CD 20           INT 20
0053C6CB    8B6424 08       MOV ESP,DWORD PTR SS:[ESP+8]
0053C6CF    33C0            XOR EAX,EAX
0053C6D1    FF6424 08       JMP DWORD PTR SS:[ESP+8]
0053C6D5  - E9 58508304     JMP 04D71732
0053C6DA    24 37           AND AL,37
0053C6DC    FFE0            JMP EAX
0053C6DE    CD 20           INT 20
0053C6E0    64:8F00         POP DWORD PTR FS:[EAX]
0053C6E3    58              POP EAX
0053C6E4    EB 02           JMP SHORT NSSetWin.0053C6E8
....................................................................

继续Shift+F9就略过第二层壳Aspack运行了。

Alt+M打开内存镜像。

内存镜像

地址       大小       Owner      区段       包含          类型   访问      初始访问  映射为

00400000   00001000   NSSetWin              PE header     Imag   RW        RWE
00401000   00001000   NSSetWin   .text      code          Imag   RW        RWE
00402000   00001000   NSSetWin   .rdata     data          Imag   RW        RWE
00403000   00133000   NSSetWin   .ecode                   Imag   RW        RWE
00536000   00002000   NSSetWin   .rsrc      resources     Imag   RW        RWE
00538000   00002000   NSSetWin   .aspack                  Imag   RW        RWE  //直接去Aspack必经之路下内存访问断点,Shift+F9运行立即中断。
0053A000   00001000   NSSetWin   .adata                   Imag   RW        RWE
0053B000   00004000   NSSetWin              SFX,imports,  Imag   RW        RWE 

当前位置0053C6E4还在0053B000Telock外壳段内,我们知道组合壳或单层壳的解压顺序是由下往上运行的。

00538001    60              PUSHAD    //进入第二层壳Aspack入口
00538002    E8 03000000     CALL NSSetWin.0053800A  可以到这里后用esp定律到Aspack出口。
00538007  - E9 EB045D45     JMP 45B084F7
0053800C    55              PUSH EBP
0053800D    C3              RETN
0053800E    E8 01000000     CALL NSSetWin.00538014
00538013    EB 5D           JMP SHORT NSSetWin.00538072
00538015    BB EDFFFFFF     MOV EBX,-13
0053801A    03DD            ADD EBX,EBP
0053801C    81EB 00801300   SUB EBX,138000
00538022    83BD 22040000 0>CMP DWORD PTR SS:[EBP+422],0
00538029    899D 22040000   MOV DWORD PTR SS:[EBP+422],EBX
0053802F    0F85 65030000   JNZ NSSetWin.0053839A
00538035    8D85 2E040000   LEA EAX,DWORD PTR SS:[EBP+42E]
0053803B    50              PUSH EAX
0053803C    FF95 4D0F0000   CALL DWORD PTR SS:[EBP+F4D]
..................................................................

再次

Alt+M打开内存镜像。

内存镜像

地址       大小       Owner      区段       包含          类型   访问      初始访问  映射为

00400000   00001000   NSSetWin              PE header     Imag   RW        RWE
00401000   00001000   NSSetWin   .text      code          Imag   RW        RWE
00402000   00001000   NSSetWin   .rdata     data          Imag   RW        RWE  //先在data过渡段下内存访问断点,F9运行。
00403000   00133000   NSSetWin   .ecode                   Imag   RW        RWE
00536000   00002000   NSSetWin   .rsrc      resources     Imag   RW        RWE
00538000   00002000   NSSetWin   .aspack                  Imag   RW        RWE  
0053A000   00001000   NSSetWin   .adata                   Imag   RW        RWE
0053B000   00004000   NSSetWin              SFX,imports,  Imag   RW        RWE 
..................................................................

0053875F    8A18            MOV BL,BYTE PTR DS:[EAX]  //内存访问中断。
00538761    40              INC EAX
00538762    885C24 0C       MOV BYTE PTR SS:[ESP+C],BL
00538766    8902            MOV DWORD PTR DS:[EDX],EAX
00538768    8B42 08         MOV EAX,DWORD PTR DS:[EDX+8]
0053876B    8B7C24 0C       MOV EDI,DWORD PTR SS:[ESP+C]
0053876F    C1E0 08         SHL EAX,8
00538772    81E7 FF000000   AND EDI,0FF
00538778    0BC7            OR EAX,EDI
0053877A    8B7A 04         MOV EDI,DWORD PTR DS:[EDX+4]
0053877D    03FE            ADD EDI,ESI
0053877F    8942 08         MOV DWORD PTR DS:[EDX+8],EAX
00538782    8BC7            MOV EAX,EDI
00538784    897A 04         MOV DWORD PTR DS:[EDX+4],EDI
00538787    3BC1            CMP EAX,ECX
00538789  ^ 73 D2           JNB SHORT NSSetWin.0053875D
..................................................................

再次

Alt+M打开内存镜像。

内存镜像

地址       大小       Owner      区段       包含          类型   访问      初始访问  映射为

00400000   00001000   NSSetWin              PE header     Imag   RW        RWE
00401000   00001000   NSSetWin   .text      code          Imag   RW        RWE  //对401000 Code段下内存访问断点,F9运行。
00402000   00001000   NSSetWin   .rdata     data          Imag   RW        RWE  
00403000   00133000   NSSetWin   .ecode                   Imag   RW        RWE
00536000   00002000   NSSetWin   .rsrc      resources     Imag   RW        RWE
00538000   00002000   NSSetWin   .aspack                  Imag   RW        RWE  
0053A000   00001000   NSSetWin   .adata                   Imag   RW        RWE
0053B000   00004000   NSSetWin              SFX,imports,  Imag   RW        RWE 
..................................................................

[1] [2] [3] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    固顶文章 迎新年,献爱心。
    普通文章 瑞星公司01月29日发布 每日计算机病毒及木马播报
    普通文章 计算机安全知识连载(1)认识什么是补丁
    普通文章 U盘病毒隐患重重杀毒软件如何主动防御
    推荐文章 推荐:完整的XSS wrom安全检测实例示范
    普通文章 如何绕过《QQ医生》的查杀
    普通文章 打造你铜墙铁壁的计算机
    普通文章 黑客是如何利用迅雷传播木马的
    普通文章 脚本实现三次内存断点法快速搞定Telock0.96+Aspack两层
    普通文章 IBM AIX逻辑卷标管理器命令本地的缓冲区溢出漏洞
    热门文章
    普通文章入侵防御系统的过去、现在和未来
    普通文章谈谈VB程序的破解(5千字)
    普通文章谈谈VB程序的破解(续)(2千字)
    普通文章由C#风潮想起的-给初学编程者的忠告
    普通文章' or '1'='1'等脚本注入漏洞问题
    推荐文章推荐:记一次简单的渗透测试经过
    普通文章完美经验助你实现局域网访问控制
    普通文章专家提醒:电脑新病毒"打卡签到下载者"
    普通文章金山:《2007年度中国电脑病毒疫情及互联网安全报告》
    普通文章报告显示:网游盗号木马新晋"网络毒王"
    精彩专题