基于综合处理的软件壳自动脱壳方法

文档序号:4215475阅读:203来源:国知局
专利名称:基于综合处理的软件壳自动脱壳方法
技术领域
本发明属于网络安全技术领域,特别是一种针对设有保护壳的恶意软件进行脱壳处理的方法;采用本发明方法可对恶意软件进行自动脱壳处理、还原恶意软件在壳保护之前的可执行状态,以方便继后对恶意软件的分析处理。
背景技术
壳是一种对计算机软件进行保护的常用手段。十几年来,各式各样的软件保护壳 (程序)的出现对计算机正常软件的保护起到重要作用;但软件保护壳是一把双刃剑,既可用于保护正常软件、也可用于保护恶意软件。恶意软件通过保护壳把恶意程序(代码)伪装成正常程序,当用户运行此类程序时、在不知不觉中就执行了恶意程序,这些恶意程序的行为通常是窃取数据、破坏数据、发送垃圾邮件、运行其他恶意代码指定的程序等等,轻则干扰正常程序的运行、重则造成恶性事故。利用各种保护壳,恶意程序还可以躲过传统的特征杀毒,并且给恶意程序(软件)的分析和检测带来诸多困难。要分析恶意程序的特点、进而找出检测方法,必须对其进行脱壳处理;由于软件壳技术的理论研究尚不完善,因此还没有通用的自动脱壳工具,这就为恶意程序在各类保护壳的掩护下运行提供了条件,从而给计算机的正常运行、给社会正常的经济活动、通讯,甚至国家的安全造成严重威胁。

发明内容
本发明的目的是针对各类可能用于对恶意软件进行保护的软件壳,研究设计一种基于综合处理的软件可自动脱壳方法,达到对加壳保护的恶意软件、通过多层次的综合处理,找出其壳特征并根据其壳特征进行自动脱壳处理,还原软件加壳前的可执行状况,以便进行后续分析处理的目的。本发明的解决方案是首先将可用于恶意软件加壳保护的各组(种)壳的壳特征参数(包括原始入口点参数及对应的全部断点位置参数)分别录入(初始化入)壳特征数据库内、作为鉴别加壳恶意软件壳特征的依据待用;在待脱壳的恶意软件输入内存系统后、 即将待脱壳的软件分别与录入(初始化入)壳特征数据库内的各原始入口点参数进行对比搜索,以找出与原始入口点参数以及对应的各断点位置参数,再按所得各断点位置参数对待脱壳软件进行运行调试、得到输入表各参数,然后再使用该原始入口点参数及所得输入表各参数对待脱壳软件进行修复,最后获得脱壳后的恶意软件,从而实现其发明目的。因而,本发明的方法包括步骤1.初始化处理将各组带保护壳软件的壳特征参数中的原始入口点参数及与该原始入口点参数对应的全部断点位置参数、逐一按类录入壳特征数据库内、待用;步骤2.获取加壳恶意软件的原始入口点参数和断点位置参数将待脱壳的恶意软件输入内存系统后,与壳特征库中的各原始入口点参数进行逐一比对处理,以获得待脱壳的恶意软件的原始入口点参数,并记录该原始入口点参数及所对应的全部断点位置参数,分别存储、备用;
步骤3.获取输入表数据在步骤2获得的各断点位置数据处,采用断点回调函数 (的方式)跟踪待脱壳软件的运行、调试,并随时记录回调函数给出的输入表各参数数据; 当输入表参数收集完毕后、停止对待脱壳软件的运行、调试,同时存储备用;步骤4.待脱壳软件的转储将待脱壳软件从内存中转储到硬盘上;步骤5.脱壳后软件的获取使用从步骤2所得、备用的原始入口点参数和步骤 3获取并存储备用的输入表各参数,对经步骤4转储到硬盘上的待脱壳的软件进行修复处理,修复后即得可直接用于分析的(脱壳后的)软件。所述各组原始入口点参数及与该原始入口点参数对应的全部断点位置参数(其中“?? ”为占位符号),包括一 .原始入口点参数为60 BE ?? ? ? ? BF ? ? ? FC B2 80 33 DB A4 B3 02 E86D ? ? ? 73 F6 33 C9 E8 64 ? ? ? 73 IC 33 CO E8 5B ? ? ? 73 23 B3 02 41 BO 10 E84F ? ? ? 12 CO 73 F7 75 3F M EB D4 E8 4D ? ? ? 2B CB 75 10 E8 42 ? ? ? EB 28 ACDl E8 74 4D 13 C9 EB IC 91 48 Cl EO 08 AC E8 2C ? ? ? 3D ? 7D ? ? 73 OA 80 FC 05 7306 83 F8 7F 77 02 41 41 95 8B C5 B3 01 56 8B F7 2B FO F3 A4 5E EB 8E 02 D2 75 05 8A 16 4612 D2 C3 33 C9 41 E8 EE FF FF FF 13 C9 E8 E7 FF FF FF 72 F2 C3 BE ?
10 40 ? B9 04 ? ? ? 8B F981FE ‘? ? ? ? 7F10AC 4704182C0273 FO 29 3E 03 Fl 03 F9 EB E8 BA? ? 40 ? 8D B2 ? ? ? ? 8B46OC85 CO 74 51 03 C2 8B 7E 10 8B IE85DB75 02 8B DF 03 DA03FA525750FF15? ? ? ? 5F 5A 85 CO 74 2F8BC88B 03 85 CO 74 22OFBA FOIF72048D4410 02 51 52 57 50 51 FF 15 ? ? ? ? 5F 5A 59 85CO74 OBAB83C304
EB D883 C6 14 EBAA 61 C3 61 E9及对应的断点位置参数断点1 :525750FF15 5F5A,断点2 :5152575051FF15 5F5A59,断点3 :61C361E9 ;或_■.原始入口点参数60 68 ? ? ? ? 68 ? 10 40 ? 68? ? ? ? E881 07 ? ? BE ? 10 40 ? B9 04 ? ? ? 8B F9 81FE? ? ? ? 7F10 AC 47 04 18 2C 02 73 F029 3E 03 Fl 03 F9 EBE8 BA ? ? 40?
8D B2 ? ? ? ? 8B 46 OC 85 CO 74 51 03 C28B 7E 10 8B IE 85 DB 75 02 8B DF 03 DA 03 FA 52 57 50 FF 15 ? ? ? ? 5F 5A 85 C074 2F 8B C8 8B 03 85 CO 74 22 OF BA FO IF 72 04 8D 44 10 02 51 52 57 50 51 FF 15 ? ? ? ? 5F 5A 59 85 CO 74 OB AB 83 C3 04 EB D8 83 C6 14 EB AA 61 C3 61 E9 ? ? ? ?
8B0803 48 04 B8 ? 03 ? ? D3 EO 05 36 07 ? ? C38B103B500475OCC740 10 01 ? ? ? B2 FF 8B C2 C3 8B 10 8A 12 FF ? 8BC2C353568BD88913 03 CA 89 4B 04 33 CO 8943 10 33 CO 89 43 OC C7 4308FFFFFFFFBE05? ? ? 8B C3 E8 BC FF FF FF 25 FF ? ? ? 8B 53 OCClE208OBC28943OC4E 75 E6 5E 5B C3 53 56 57 55 51 89 04 24 8B IC 248B5B088B34248B76
9OC 33 ED 8B FA 85 FF 7E 2F Dl EB 03 ED 3B DE 77 05 2B F3 83CD 01 81 FB ? ? ? 01 73 17 Cl E3 08 8B 04 24 E8 6A FF FF FF 25 FF ? ? ? Cl E608 OB C6 8B FO 4F 75 Dl 8B 04 24 89 58 08 8B 04 24 89 70 OC 8B C5 5A 5D 5F 5E 5B C353 56 57 55 8B F8 8B 5F 08 8B 77 OC 8B CB Cl E9 OB 8B 02 OF AF C8 3B CE 76 12 8B D9B9 ? 08 ? ? 2B C8 Cl E9 05 01 OA 33 ED EB OE 2B Fl 2B D9 Cl E8 05 29
02BD 01 ? ? ? 81 FB ? ? ? 01 73 16 8B C7 E8 FE FE FF FF 25 FF ? ? ? Cl E6 08 OB C6 8B FO C1E3 08 89 5F 08 89 77 OC 8B C5 5D 5F 5E 5B C3 53 56 57 55 51 89 OC 24 8B EA 8B F8 BBOl ? ? ? 8B 34 24 85 F6 7E 14 8D 54 9D ? 8B C7 E8 78 FF FF FF 03 DB OB C3 8B D84E 75 EC 8B OC 24 B8 01 ? ? ? D3 EO 50 8B C3 5A 2B C2 5A 5D 5F 5E 5B C3 53 56 5755 81 C4 F4 FF FF FF 89 4C 24 08 89 54 24 04 89 04 24 33 ED BB 01 ? ? ? 8B 74 2408 4E 85 F6 7C 20 46 33 FF 8B 44 24 04 8D 14 98 8B 04 24 E8 22 FF FF FF 03 DB OB D88B CF D3 EO OB E8 47 4E 75 E3 8B C5 83 C4 OC 5D 5F 5E 5B C3 53 56 57 8B FA 8B FO BBOl ? ? ? 8D 14 9F 8B C6 E8 F4 FE FF FF 03 DB OB C3 8B D8 81 FB ? 01 ? ? 7C E88B C3 5F 5E 5B C3 53 56 57 55 51 88 OC 24 8B FA 8B FO BB 01 ? ? ? OF B6 2C 24 ClED 07 83 E5 01 DO 24 24 8B C5 Cl EO 08 05 ? 01 ? ? 03 C3 8D 14 87 8B C6 E8 AC FEFF FF 03 DB OB D8 3B C5 74 22 81 FB ? 01 ? ? 7D 22 8D 14 9F 8B C6 E8 92 FE FF FF03 DB OB C3 8B D8 81 FB ? 01 ? ? 7C E8 EB 08 81 FB ? 01 ? ? 7C AB 8B C3 5A 5D5F 5E 5B C3 53 56 57 55 8B E9 8B F2 8B D8 8B FE 8B D7 8B C3 E8 5D FE FF FF 85 CO 7517 Cl E5 03 83 C5 02 8D 14 AF 8B C3 B9
03? ? ? E8 A9 FE FF FF EB 40 8D 57 04 8BC3 E8 38 FE FF FF 85 CO 75 ID Cl E5 03 81 C5 82 ? ? ? 8D 14 AF 8B C3 B9 03 ? ? ? E8 81 FE FF FF 83 CO 08 EB 15 8D 97 08 04 ? ? 8B C3 B9 08 ? ? ? E8 6A FE FF FF83 CO 10 5D 5F 5E 5B C3 8A 12 80 FA El 72 03 33 CO C3 33 C9 89 48 08 80 FA 2D 72 0B80 EA 2D FF 40 08 80 FA 2D 73 F5 33 C9 89 48 04 80 FA 09 72 OB 80 EA 09 FF 40 04 80FA 09 73 F5 81 E2 FF ? ? ? 89 10 BO 01 C3及对应的断点位置参数断点1 :525750FF15 5F5A断点2 :5152575051FF15 5F5A59断点3 :61C361E9 ;或三.原始入口点参数83 7C 24 08 01 OF 85 28 01 ? ? 60 68 ? ? ? ? 68 ? ? ? ? 68 ? ? ? ? E8 ? ? ? ? BE ? ? ? ? B9 ? ? ? ? 8B F9 81 FE ? ? ? ? 7F 10 AC 47 04 ? 2C ? 73 FO 29 3E 03 Fl 03 F9 EB E8 BB ? ? ? ? BA ? ? ? ? BE ? ? ? ? 85 F6 74 78 B9 ? ? ? ? E3 71 8B 6C 33 ? 8B 4C 33 04 E3 67 81 E908 ? ? ? 81 C6 08 ? ? ? OF B7 04 33 8B F8 81 E7 ? ? ? ? 03 FD Cl E8 ? 4874 OB 48 74 13 48 74 16 48 74 18 EB 32 52 Cl EA ? 66 01 14 3B 5A EB 27 66 01 14 3BEB 21 01 14 3B EB IC 83 C6 02 83 E9 02 8B 443B FE66 8B 04 33 8D 84 15 ? ? ? ? Cl E8 ? 66 8914 3B83C60283E902 75A7 EB 8F BA ? ? ? ? 8D B2 ? ? ? ? 8B46 OC85CO745103C2 8B7E ? 8B IE 85 DB 75 02 8B DF 03 DA 03 FA 52 57 50FF15 ? ? ? ‘? 5F 5A85 CO 74 2F 8B C8 8B 03 85 CO 74 22 OF BA FO ? 7204 8D4410? 515257 5051 FF 15 ? ? ? ? 5F 5A 59 85 CO 74 OB AB 83C3 04EBD883C614EBAA 61 C3 61 E9 ? ? ? ? 8B 08 03 48 04 B8 ? 03? ? D3EO053607 ? ? C3 8B10 3B 50 04 75 OC C7 40 10 01 ? ? ? B2 FF8BC2C38B108A 12FF ? 8B C2 C3 5356 8B D8 89 13 03 CA 89 4B 04 33CO 89431033CO8943 OCC7 43 08 FF FF FF FF BE05 ? ? ? 8B C3 E8 BC FF‘FF FF 25 FF ? ‘? ? 8B 53 OC Cl E2 08 OB C2 89 43 OC 4E75 E6 5E 5B C3
及对应的断点位置参数
断点 1 :525750FF15 5F5A
断点 2 :5152575051FF15 5F5A59
断点 3 :61C361E9 ;

四.原始入口点参数87 25 ?? ? ? ? 61 94 55A4 B680FF1373F933 C9FF 13 73 16 33C0 FF 13 73 IF B6 80 41 BO 10 FF 13 12CO 73FA753AAAEBEO FF53 08 02 F6 83 D9 01 750E FF 53 04 EB 24 AC Dl E8 742D 13C9EB189148Cl EO08 AC FF 53 04 3B 43 F8 73 0A80 FC 05 73 06 83 F8 7F77 024141958BC5B6 ? 56 8B F7 2B FO F3 A4 5E EB 9F 5E AD 97AD 50 FF 5310 958B074078F375 03FF 63 OC 50 55 FF 53 14 AB EB EE 33 C9 41 FF 13 13C9FF 1372F8C302D275 058A 16 46 12 D2 C3
及对应的断点位置参数
断点 1 :AD50FF53 ? 95
断点 2 :5055FF53 ? AB
断点 3 :75 ?? FF630C ;

五·原始入口点参数4D 5A BE ? ? ? ? 8B DEAD AD50AD97B280A4 B680 FF 1373 F9 33 C9 FF 13 73 16 33 CO FF 13 73 21 B680 41BO10FF1312CO 73FA 75 3E AA EB E0E8 76 6E ? ? 02 F6 83 D9 01 75OE FF53FCEB26ACDl E874 2F 13 C9 EB IA 91 48 Cl E008 AC FF 53 FC 3D ? ? ? ? 73OA80FC 0573 06 83 F8 7F 77 02 41 41 95 8B C5 B6 ? 56 8BF72B FOF3A45EEB9BAD 85CO 75 90 AD 96 AD 97 56 AC 3C ? 75 FB FF 53 FO 9556 ADOFC8405974EC 7907 AC 3C ? 75 FB 91 40 50 55 FF 53 F4 AB 85 CO 75E5 C3
及对应的断点位置参数
断点 1 :56AC3C0075FBFF53F0
断点 2 :405055FF53F4AB85C0
断点 3 :AB85C075E5C3
断点 4 :5E59E2B1ADFFE09148 ;

六·原始入口点参数4D 5A BE ? ? ? ? AC 91 AD 95 AD 92 AD515687 F297 FCB280 33 DB A4 B3 02 FF 55 04 73 F8 33 C9 FF 55 04 73 18 33 COFF5504 73IF B30241 BO IOFF 55 04 12 CO 73 F9 75 4F AA EB DC E8 5D ? ? ? 2BCB 7517 FF5508 EB 35 AC Dl E874 04 13 C9 EB 23 87 F2 5E 59 E2 Bl AD FFEO9148 ClEO 08ACFF 55 08 3D ? ? ? ? 730A 80 FC 05 73 06 83 F8 7F770241 4155 87FDAB 87 FD 5D 55 87 F5 AD 87 F5 5D B3 01 568B F7 2B FO F3 A45EEB86 02D2 75058A 16 46 12 D2 C3 33 C9 41 FF 55 04 13 C9 FF 55 0472 F6 C3
及对应的断点位置参数
断点1:56AC3C0075FBFF53F0
断点2:405055FF53F4AB85C0
断点3:AB85C075E5C3
断点4:5E59E2B1ADFFE09148 ;

七·原始入口点参数(数据)E9 F5 00 00 00 OD OA C4 C4 C4 C4 C4 C4C4C4C4 C4C4 C4C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4C4C4C4 C4C4 C4C4C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4C4C4C4 C4C4 C4C4C4C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 OD OA 20 50 65 58 20 28632920 6279 206261 72 74 5E43 72 61 63 6B 50 6C 20 62 65 74 61 20 72 656C6561 7365 202020 20 20 20 20 20 20 20 2020 20 20 20 20 20 20 20 20 20202020 2020 202020 20 20 20 20 20 20 20 20 20 20 20 20 20 ODOA C4 C4 C4C4C4C4 C4C4 C4C4C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4C4 C4 C4C4C4C4 C4C4 C4C4C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4C4 C4C4C4C4 C4C4 C4C4C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 OD OA 60 E801000000 E883 C404E8 01 00 00 00
及对应的断点位置参数
断点1:5A5E0E56CB
断点2:50E801000000 ? 83C404A1 E8 FFD085C0
断点3:83C40481E3FFFFFF7F53FFB5 E801000000 ? 83C404A1
断点4:6A ? 59F3A4C3
断点568 EB01C7584050C3
断点668 EB01C7584050C3 ;

八·原始入口点参数80 7C 24 08 01 OF 85 ? ? ? ? 60 BE ? ‘? ? ? 8D BE? ? ? ? C7 87 ? ? ? ? 57 83 CD FF EB 00-7FEB8BIE 83EE FC11DB 72 ED B8 01 00 00 00 01 DB75 07 8B IE 83 EE FC 11 DB 11CO01DB 73? 75 ?9 8B IE 83 EE FC 11 DB 73 E4 31 C9 83 E803 72 OD Cl EO 088A0646 83FO FF7474 89 C5 01 DB 75 07 8B IE 83 EE FC 11 DB 11 C9 OlDB 75 078BIE83 EEFC 11DB11 C9 75 20 41 01 DB 75 07 8B IE 83 EE FC 11 DB 11 C9 OlDB73EF75 09 8B IE 83 EE FC 11 DB 73 E4 83 Cl 02 81 FD 00 F3 FF FF 83 Dl 01 8D 14 2F83 FD FC 76 OF 8A 02 42 88 07 47 49 75 F7 E9 63 FF FF FF 90 8B 02 83 C2 04 89 07 83 C7 0483 E9 04 77 Fl 01 CF E9 01及对应的断点位置参数断点1 :5083C708FF96断点2 5047 ? 5748F2AE断点3 :5748F2AE55FF96断点4 :89F95748F2AE52FF断点5 :83EC80E9断点6 :61E9 ;或九.原始入口点参数80 7C 24 08 01 OF 85 ? ? ? ? 60 BE ? ? ? ? 8D BE ? ? ? ? C7 87 ? ? ? ? 57 83 CD FF EB 00-7F EB 8B IE 83 EE FC 11 DB 72 ED B8 01 00 00 00 01 DB75 07 8B IE 83 EE FC 11 DB 11 CO 01 DB 73 ? 75 ? 9 8B IE 83 EE FC 11 DB 72 10 48 01 DB 7507 8B IE 83 EE FC 11 DB 11 CO EB D4 31 C9 83 E8 03 72 11 Cl EO 08 8A 06 46 83 FO FF 74 78D1 F8 89 C5 EB OB 01 DB 75 07 8B IE 83 EE FC 11 DB 11 C9 01 DB 75 07 8B IE 83 EE FC IlDB 11 C9 75 20 41 01 DB 75 07 8B IE 83 EE FC 11 DB 11 C9 01 DB 73 EF 75 09 8B IE 83 EEFC 11 DB 73 E4 83 Cl 02 81 FD 00 FB FF FF 83 Dl 01 8D 14 2F 83 FD FC 76 OF 8A 02 42 88 0747 49 75 F7 E9 01及对应的断点位置参数断点1 :5083C708FF96断点2 5047 ? 5748F2AE断点3 :5748F2AE55FF96断点4 :89F95748F2AE52FF断点5 :83EC80E9断点6 :61E9 ;或十.原始入口点参数80 7C 24 08 01 OF 85 ? ? ? ? 60 BE ? ?
? ? 8D BE ? ? ? C787? ? ? ? ? ? ? ? 5783CDEB00-7F EB 8B IE83EE FC 11DB72EDB801 0000 00 01 DB75 07 8B IE83EE11DB 11 CO 01 DB73? 75 、98BIE83EE FC 11 DB及对应的断点位置参数断点1 :5083C708FF96断点2 5047 ? 5748F2AE断点3 :5748F2AE55FF96断点4 :89F95748F2AE52FF断点5 :83EC80E9断点6:61E9。
所述采用断点回调函数为采用拦截窗口函数、拦截对话框函数、拦截注册表函数、 拦截驱动函数以及可返回调用断点位置函数地址的函数中的一种或几种。本发明由于将可用于恶意软件加壳保护的各类(种)壳的壳特征参数(包括原始入口点参数及对应的全部断点位置参数)分别录入(初始化入)壳特征数据库内、作为鉴别加壳恶意软件壳特征的依据;在待脱壳的恶意软件输入内存系统后、即将待脱壳的软件分别与录入(初始化入)壳特征数据库内的各原始入口点参数进行对比搜索,以找出与原始入口点参数以及对应的各断点位置参数,再按所得各断点位置参数对待脱壳软件进行运行调试、得到输入表各参数,然后再使用该原始入口点参数及所得输入表各参数对待脱壳软件进行修复,最后获得脱壳后的恶意软件;因而本发明具有可对加壳保护的恶意软件进行自动脱壳处理,还原恶意软件加壳前的可执行状况,为后续对恶意软件进行分析处理清除其保护屏障;从而确保计算机的正常运行、维护社会正常的经济活动、以及通讯和国家的安全等特点。
具体实施例方式实施例1 以对名称为samplel. exe的加壳软件的脱壳处理为例步骤1.初始化处理将上述发明内容中一至十组所列原始入口点参数及与之(原始入口点参数)对应的全部断点位置参数逐一录入系统壳特征数据库内,待用步骤2.获取加壳恶意软件的原始入口点参数和断点位置参数将待脱壳的名称为samplel.exe的加壳(恶意)软件输入内存系统后,与壳特征数据库中的各原始入口点参数进行逐一比对,得待脱壳的恶意软件的原始入口点参数与壳特征数据库中第八组、即与原始入口点参数807C 240801 OF85 9 ? ? ? goBE ? ??? 8D BE ? ? ? ? C787? ? ? ? 57 83 CD FF EB00-7FEB8BIE83EEFC 11DB 72ED B8 0100 000001 DB7507 8B IE 83 EE FC 11DB 11CO01DB73? 75 ?9 8BIE 83 EEFC 11DB73 E431 C9 83 E8 0372 OD ClEO 088A064683FOFF 7474 89C5 01 DB75 078BIE 83EE FC 11 DB 11 C9 OlDB75 078BIE83EEFC11 DB11 C975 20 4101 DB7507 8BIE 83 EE FC 11 DB 11 C9 OlDB73EF75098BIE 83EE FC11 DB 73E4 83Cl02 81FD 00 F3 FF FF 83 Dl 01 8D 14 2F83FDFC76OF 8A02 4288 07 47‘49 75 F7 E9 63 FF FF FF 90 8B 02 83C2 04890783
C7 0483 E9 04 77 Fl 01 CF E9 01匹配;而与该原始入口点参数对应的断点位置参数为断点1:5083C708FF96
断点2:5047 ? 5748F2AE
断点3:5748F2AE55FF96
断点4:89F95748F2AE52FF
断点5:83EC80E9
断点6:61E9 ;
将上述原始入口点参娄ts所对应的全部6个断点位置参数记录(存储)、备用;
步骤3.获取输入表■据在步骤2获得的6个断点位置数据处,分别采用可返
回调用断点位置函数地址的函数作为回调函数,跟踪、调试待脱壳软件的运行,并随时记录回调函数给出的输入表中各个参数、至输入表各参数收集完毕后、获得该恶意软件输入表
参数)为0098]0100100077C746ADADVAPI32. RegQueryValueExff0099]0100100477C7469DADVAPI32. RegCloseKey0100]0100100877C71514ADVAPI32. RegCreateKeyff0101]0100100C77C7448EADVAPI32. IsTextUnicode0102]0100101077C748EFADVAP132. RegQueryValueExA0103]0100101477C74907ADVAP132. RegOpenKeyExA0104]0100101877C714D6ADVAPI32. RegSetValueExff0105]0100101C000000000106]0100102075C575E0C0MCTL32. CreateStatusffindowff0107]01001024000000000108]0100102877B800D7GDI32.EndPage0109]0100102C77B94C63GDI32.AbortDoc0110]0100103077B950AAGDI32.EndDoc0111]0100103477B66EAAGDI32.DeleteDC0112]0100103877B95195GDI32.StartPage0113]0100103C77B6B4B5GDI32.GetTextExtentPoint32ff0114]0100104077B6CF79GDI32.CreateDCff0115]0100104477B80082GDI32.SetAbortProc0116]0100104877B6B73AGDI32.GetTextFaceff0117]0100104C77B6FDE4GDI32.TextOutff0118]0100105077B95BB0GDI32.StartDocff0119]0100105477B6FDA1GDI32.EnumFontsff0120]0100105877B65DDFGDI32.GetStockObject0121]0100105C77B67568GDI32.GetObjectff0122]0100106077B66F7FGDI32.GetDeviceCaps0123]0100106477B6ABFCGDI32.CreateFontIndirectff0124]0100106877B65F14GDI32.DeleteObject0125]0100106C77B67B8FGDI32.GetTextMetricsff0126]0100107077B669B1GDI32.SetBkMode0127]0100107477B68484GDI32.LPtoDP0128]0100107877B70BD3GDI32.SetffindowExtEx0129]0100107C77B73A6CGDI32.SetViewportExtEx0130]0100108077B6EFBFGDI32.SetMapMode0131]0100108477B66640GDI32.SelectObject0132]01001088000000000133]0100108C77E2BB80kernel32. GetCurrentThreadId0134]0100109077E2BA60kernel32. GetTickCount
0100109477E2BB9Fkernel32.QueryPerformanceCounter
0100109877E2A90Ekernel32.GetLocalTime
0100109C77E36584kernel32.GetUserDefaultLCID
010010A077E2AFABkernel32.GetDateFormatff
010010A477E2AC29kernel32.GetTimeFormatff
010010A877E29E05kernel32.GlobalLock
010010AC77E29D50kernel32.GlobalUnlock
010010B077E31268kernel32.GetFileInformationByHandle
010010B477E20A7Fkernel32.CreateFileMappingff
010010B877E32FDEkernel32.GetSystemTimeAsFileTime
010010BC77E22331kernel32.TerminateProcess
010010C077E2CDCFkernel32.GetCurrentProcess
010010C477E33D01kernel32.SetUnhandledExceptionFi Iter
010010C877E3395Ckernel32.LoadLibraryA
010010CC77E2CF41kernel32.GetModuleHandleA
010010D077DE1E10kernel32.GetStartupInfoA
010010D477E29CF9kernel32.GlobalFree
010010D877E36596kernel32.GetLocaleInfoff
010010DC77E2CA64kernel32.LocalFree
010010E077E33363kernel32.LocalAlloc
010010E477E2D9E8kernel32.lstrlenff
010010E877E25C02kernel32.LocalUnlock
010010EC77E29BEEkernel32.CompareStringff
010010F077E25BEAkernel32.LocalLock
010010F477E4560Dkernel32.FoldStringff
010010F877E2CA7Ckernel32.CloseHandle
010010FC77E18BFAkernel32.lstrcpyff
0100110077E296FBkernel32.ReadFile
0100110477E2CC56kernel32.CreateFileff
0100110877E2A8EBkernel32.lstrcmpiff
0100110C77E2CAC4kernel32.GetCurrentProcessId
0100111077E333D3kernel32.GetProcAddress
0100111477E3679Ekernel32.GetCommandLineff
0100111877E44BE7kernel32.lstrcatff
0100111C77E30E62kernel32.FindClose
0100112077E353B2kernel32.FindFirstFileff
0100112477E364FFkernel32.GetFileAttributesff
0100112877E367B0kernel32.lstrcmpff
0100112C77E2B7A0kernel32.MulDiv
16
0100113077E46118kernel32.lstrcpynff
0100113477E20032kernel32.LocalSize
0100113877E2BF00kernel32.GetLastError
0100113C77E31400kernel32.WriteFile
0100114077E2BB08JMP 到 ntdll. RtlSetLastffin32Error
0100114477E3450Ekernel32 WideCharToMultiByte
0100114877E27328kernel32.LocalReAlloc
0100114C77E254A3kernel32.FormatMessageW
0100115077E222EFkernel32.GetUserDefaultUILanguage
0100115477E22319kernel32 SetEndOfFile
0100115877E20F62kernel32 DeleteFileff
0100115C77E339AAkernel32 GetACP
0100116077E2DB13kernel32.UnmapViewOfFile
0100116477E3452Bkernel32.MultiByteToffideChar
0100116877E2899Bkernel32.MapViewOfFile
0100116C77E3ED38kernel32.UnhandledExceptionFilter
0100117000000000
0100117473A14E4ASHELL32. DragFinish
0100117873A1508ESHELL32. DragQueryFileff
0100117C73921BF1SHELL32. DragAcceptFiles
01001180738CA129SHELL32.ShellAboutff
0100118400000000
0100118877D254DDUSER32. GetClientRect
0100118C77D23075USER32. SetCursor
0100119077D25421USER32.ReleaseDC
0100119477D2544CUSER32.GetDC
0100119877D33B9BUSER32.DialogBoxParamff
0100119C77D2333AUSER32.SetActiveffindow
010011A077D23800USER32.GetKeyboardLayout
010011A477D2507DUSER32.DefffindowProcff
010011A877D1B2F4USER32.Destroyffindow
010011AC77D42939USER32.MessageBeep
010011B077D1F2A9USER32.Showffindow
010011B477D2335DUSER32.GetForegroundffindow
010011B877D24C8EUSER32.IsIconic
010011BC77D469DEUSER32.GetffindowPlacement
010011C077D2E981USER32.CharUpperff
010011C477DIDFBAUSER32.LoadStringff
010011C877D1976DUSER32.LoadAcceleratorsff
010011CC77D1FD8BUSER32.GetSystemMenu
010011D077D20162USER32.RegisterClassExff
010011D477D212EBUSER32.LoadImageff
010011D877D1ED90USER32.LoadCursorff
010011DC77D17F78USER32.SetffindowPlacement
010011E077D1EC7CUSER32.CreateffindowExff
010011E477D201A9USER32.GetDesktopffindow
010011E877D23A34USER32.GetFocus
010011EC77D1F142USER32.LoadIconff
010011F077D2612BUSER32.SetffindowTextff
010011F477D1B308USER32.PostQuitMessage
010011F877D1DF8DUSER32.RegisterffindowMessageff
010011FC77D1FFA8USER32.Updateffindow
0100120077D404BEUSER32.SetScrollPos
0100120477D1BA8AUSER32.CharLowerff
0100120877D2634AUSER32.PeekMessageff
0100120C77D18D02USER32.Enableffindow
0100121077D25894USER32.DrawTextExff
0100121477D45630USER32.CreateDialogParamff
0100121877D1B8C5USER32.GetffindowTextff
0100121C77D267CFUSER32.GetSystemMetrics
0100122077D18D29USER32.Moveffindow
0100122477D2566DUSER32.InvalidateRect
0100122877D34867USER32.WinHelpff
0100122C77D1B4E8USER32.GetDlgCtrlID
0100123077D5B6AAUSER32.ChildffindowFromPoint
0100123477D1A506USER32.ScreenToClient
0100123877D1A4B3USER32.GetCursorPos
0100123C77D370D8USER32.SendDlgItemMessageff
0100124077D25539USER32.SendMessageff
0100124477D20BE6USER32.CharNextff
0100124877D3EE7CUSER32.CheckMenuItem
0100124C77D4446CUSER32.CloseClipboard
0100125077D444FFUSER32.IsClipboardFormatAvai labIe
0100125477D4447EUSER32.OpenClipboard
0100125877D467D2USER32.GetMenuState
0100125C77D443BCUSER32.EnableMenuItem
0100126077D19C19USER32.GetSubMenu
0100126477D46B68USER32.GetMenu
0100126877D6EA5FUSER32.MessageBoxff
0100126C77D24449USER32.SetffindowLongff
0100127077D261B8USER32.GetffindowLongff
0100127477D442BBUSER32.GetDlgItem
0100127877DIABADUSER32.SetFocus
0100127C77D3EBD4USER32.SetDlgItemTextff
0100128077D3426DUSER32.wsprintfff
0100128477D3ECBCUSER32.GetDlgItemTextff
0100128877D43BA3USER32.EndDialog
0100128C77D26029USER32.GetParent
0100129077D1B750USER32.UnhookffinEvent
0100129477D2CC61USER32.DispatchMessageff
0100129877D264C7USER32.TranslateMessage
0100129C77D2667EUSER32.TranslateAcceleratorff
010012A077D24104USER32.IsDialogMessageff
010012A477D2447BUSER32.PostMessageff
010012A877D2CDE8USER32.GetMessageff
010012AC77D224DCUSER32.SetffinEventHook
010012B000000000
010012B46D942458WINSP00L. GetPrinterDriverff
010012B86D94CAE7WINSP00L. ClosePrinter
010012BC6D9368F0WINSP00L. OpenPrinterff
010012C000000000
010012C46F062694comdlg32. PageSetupDlgff
010012C86F08ACF0comdlg32. FindTextff
010012CC6F064B96comdlg32. PrintDlgExff
010012D06F06FE6Dcomdlg32. ChooseFontff
010012D46F05259Dcomdlg32. GetFileTitleff
010012D86F08A2D5comdlg32. GetOpenFileNameff
010012DC6F08AD24comdlg32. ReplaceTextff
010012E06F062158comdlg32. CommDlgExtendedError
010012E46F08A36Ecomdlg32. GetSaveFileNameff
010012E800000000
010012EC6FF7DC75msvcrt._XcptFilter
010012F06FFBB2C0msvcrt_exit
010012F46FFBB2DBmsvcrt_c_exit
010012F86FF5F708msvcrttime
010012FC6FF67511msvcrtlocaltime
010013006FF637D4msvcrt_cexit
19
010013046FF5AA8Cmsvcrt.iswetype
010013086FF7D770msvcrt._except_handler3
0100130C6FF5C7C8msvcrt._wtol
010013106FF5B05Emsvcrt.wcsncmp
010013146FF795D1msvcrt._snwprintf
010013186FF636AAmsvcrt.exit
0100131C6FFF04D8ASCII"P$)“
010013206FF62BC0msvcrt._getmainargs
010013246FF5C151msvcrt._initterm
010013286FFE77ADmsvcrt._setusermatherr
0100132C6FFF32ECOFFSETmsvcrt. _adjust_fdiv
010013306FF627C3msvcrt._p_commode
010013346FF627CEmsvcrt._p_fmode
010013386FF62804msvcrt._set_app_type
0100133C6FF5E1E1msvcrt._controlfp
010013406FF6D3F3msvcrt.wcsncpy
0100134400000000 ;此时停止对待脱壳软件的运行调试,同时将所得输入表存储、备用;步骤4.待脱壳软件的转储将待脱壳软件samplel. exe从内存中(由步骤2录入)转储到系统硬盘中;步骤5.脱壳后软件的获取采用从本实施例步骤2得到的原始入口点参数和步骤 3所得输入表中的参数,对经步骤4转储到硬盘上的待脱壳软件samplel. exe进行修复处理,获得脱壳后的软件;修复后即得可直接用于分析的(脱壳后)软件。实施例2 以名称为sample〗, exe的加壳恶意软件的脱壳处理为例;步骤1.初始化处理与实施例1相同;步骤2.获取加壳恶意软件的原始入口点参数和断点位置参数将待脱壳的名称为sample, exe的加壳(恶意)软件输入内存系统后,与壳特征数据库中的各原始入口点参数进行逐一比对,得待脱壳的恶意软件的原始入口点参数与壳特征数据库中第四组、即与 C9 FF FF 53 EO 08 B6 ? 75 03 75 0权利要求
1.一种基于综合处理的软件壳自动脱壳方法,包括步骤1.初始化处理将各组带保护壳软件的壳特征参数中的原始入口点参数及与该原始入口点参数对应的全部断点位置参数、逐一按类录入壳特征数据库内、待用;步骤2.获取加壳恶意软件的原始入口点参数和断点位置参数将待脱壳的恶意软件输入内存系统后,与壳特征库中的各原始入口点参数进行逐一比对处理,以获得待脱壳的恶意软件的原始入口点参数,并记录该原始入口点参数及所对应的全部断点位置参数,分别存储、备用;步骤3.获取输入表数据在步骤2获得的各断点位置数据处,采用断点回调函数跟踪待脱壳软件的运行、调试,并随时记录回调函数给出的输入表各参数数据;当输入表参数收集完毕后、停止对待脱壳软件的运行、调试,同时存储备用;步骤4.待脱壳软件的转储将待脱壳软件从内存中转储到硬盘上;步骤5.脱壳后软件的获取使用从步骤2所得、备用的原始入口点参数和步骤3获取并存储备用的输入表各参数,对经步骤4转储到硬盘上的待脱壳的软件进行修复处理,修复后即得可直接用于分析的软件。
2.按权利要求1所述基于综合处理的软件壳自动脱壳方法,其特征在于所述各组原始入口点参数及与该原始入口点参数对应的全部断点位置参数包括一.原始入口点参数为60 BE ? ? ? ? BF ? ? ? ? FC B2 80 33DBA4B3 02E86D? ? ? 73F6 33 C9 E8 64 ? ? ? 73IC33 COE85B? ‘? 73 23B302 41 BO10E84F ? ? ? 12 CO73 F7753FAA EBD4E8·4D? ? ? 2BCB75 10 E842? ? ? EB 28 ACDlE8 744D13C9 EBIC91·48ClEO 08AC E82C? ? ? 3D ? 7D ? ? 73OA 80FC05730683F8·7F7702 4141 958BC5 B3 01568B F72B FO F3 A4 5EEB 8E02D275 058A16·4612 D2 C3 33 C9 41 E8 EE FF FF FF 13 C9 E8 E7 FF FF FF 72 F2 C3 BE ? 10 40 ? B9 04 ? ? ? 8B F9 81 FE ? ? ? ? 7F 10 AC 47 04 18 2C 02 73 FO 29 3E 03 Fl 03 F9 EB E8 BA ? ? 40 ? 8D B2 ? ? ? ? 8B 46 OC 85 CO 74 51 03 C2 8B 7E 10 8B IE 85 DB 75 02 8B DF 03 DA 03 FA52 57 50 FF 15 ? ? ? ? 5F 5A 85 CO 74 2F 8B C8 8B 03 85 CO 74 22 OF BA FO IF 72 04 8D 4410 02 51 52 57 50 51 FF 15 ? ? ? ? 5F 5A 59 85 CO 74 OB AB 83 C3 04 EB D8 83 C6 14 EBAA 61 C3 61 E9 及对应的断点位置参数 断点 1 :525750FF15 5F5A, 断点 2 :5152575051FF15 5F5A59, 断点 ·3 :61C361E9 ; 或二.原始入口点参数60 68 ? ? ? ? 68 ? 10 40 ? 68 ? ? ? ? E881 07 ? ? BE ? 10 40 ? B904 9 ? ? 8BF981pg ? ? ? ? 7F10 AC 47 04 18 2C 02 73 F029 3E03 Fl 03 F9 EBE8BA? ? 40 ? 8DB2? ? ? ? 8B 46 OC 85 CO 74 5103 C28B 7E 108BIE85DB 75 02 8BDF03DA03 FA 52 57 50 FF 15 ? ? ? ? 5F 5A 85 C0742F8BC8 8B 03 85CO74 22 OF BA FO IF 72 04 8D 44 10 02 51 52 57 50 51 FF 15 ? ? ? ? 5F 5A 59 85 CO 74 OB AB 83 C3 04 EB D8 83 C6 14 EB AA 61 C3 61 E9 ? ? ? ? 8B 0803 48 04 B8 ? 03 ? ? D3 EO 05 36 07 ? ? C3 8B 10 3B 50 04 75 OC C7 40 10 01 ? ? ? B2 FF 8B C2 C3 8B 10 8A 12 FF ? 8B C2 C3 53 56 8B D8 89 13 03 CA 89 4B 04 33 CO 8943 10 33 CO 89 43 OC C7 43 08 FF FF FF FF BE 05 ? ? ? 8B C3 E8 BC FF FF FF 25 FF ? ? ? 8B 53 OC Cl E2 08 OB C2 89 43 OC 4E 75 E6 5E 5B C3 53 56 57 55 51 89 04 24 8B IC 248B 5B 08 8B 34 24 8B 76 OC 33 ED 8B FA 85 FF 7E 2F Dl EB 03 ED 3B DE 77 05 2B F3 83CD 01 81 FB ? ? ? 01 73 17 Cl E3 08 8B 04 24 E8 6A FF FF FF 25 FF ? ? ? Cl E608 OB C6 8B FO 4F 75 Dl 8B 04 24 89 58 08 8B 04 24 89 70 OC 8B C5 5A 5D 5F 5E 5B C353 56 57 55 8B F8 8B 5F 08 8B 77 OC 8B CB Cl E9 OB 8B 020F AF C8 3B CE 76 12 8B D9B9 ? 08 ? ? 2B C8 Cl E9 05 01 OA 33 ED EB OE 2B Fl 2B D9 Cl E8 05 29 02 BD 01 ? ? ? 81 FB ? ? ? 01 73 16 8B C7 E8 FE FE FF FF 25 FF ? ? ? Cl E6 08 OB C6 8B FO C1E3 08 89 5F 08 89 77 OC 8B C5 5D 5F 5E 5B C3 53 56 57 55 51 89 OC 24 8B EA 8B F8 BBOl ? ? ? 8B 34 24 85 F6 7E 14 8D 54 9D ? 8B C7 E8 78 FF FF FF 03 DB OB C3 8B D84E 75 EC 8B OC 24 B8 01 ? ? ? D3 EO 50 8B C3 5A 2B C2 5A 5D 5F 5E 5B C3 53 56 5755 81 C4 F4 FF FF FF 89 4C 24 08 89 54 24 04 89 04 24 33 ED BB 01 ? ? ? 8B 74 2408 4E 85 F6 7C 20 46 33 FF 8B 44 24 04 8D 14 98 8B 04 24 E8 22 FF FF FF 03 DB OB D88B CF D3 EO OB E8 47 4E.75E38BC583C4OC5D5F5E5BC35356578BFA8BFO BBOl ? ? ? 8D149F8BC6E8F4FEFFFF03DBOBC38BD881FB? 01 ? ? 7C E88BC35F5E5BC3535657555188OC248BFA8BFOBB01? ? ? OF B6 2C24ClED 07 83 E5 01 DO 24 24 8B C5 Cl EO 08 05 ? 01 ? ? 03 C3 8D 14 87 8B C6 E8 AC FEFF FF 03 DB OB D8 3B C5 74 22 81 FB ? 01 ? ? 7D 22 8D 14 9F 8B C6 E8 92 FE FF FF03 DB OB C3 8B D8 81 FB ? 01 ? ? 7C E8 EB 08 81 FB ? 01 ? ? 7C AB 8B C3 5A 5D5F 5E 5B C3 53 56 57 55 8B E9 8B F2 8B D8 8B FE 8B D7 8B C3 E8 5D FE FF FF 85 CO 7517 Cl E5 03 83 C5 02 8D 14 AF 8B C3 B9 03 ? ? ? E8 A9 FE FF FF EB 40 8D 57 04 8BC3 E8 38 FE FF FF 85 CO 75 IDClE50381C582? ? ? 8D 14 AF 8B C3 B9 03 ? ? ? E8 81 FE FF FF83CO08EB158D9708 04 ? ? 8B C3 B9 08 ? ? ? E8 6A FE FF FF83 CO105D5F5E5BC38A12 80 FA El 72 03 33 CO C3 33 C9 89 48 08 80 FA 2D 72 0B80EA2DFF400880FA2D 73 F5 33 C9 89 48 04 80 FA 09 72 OB 80 EA 09 FF 40 0480FA0973F5 81 E2 FF ? ? ? 89 10 BO 01 C3 及对应的断点位置参数 断点 1 :525750FF15 5F5A 断点 2 :5152575051FF15 5F5A59 断点 3 :61C361E9 ; 或三.原始入口点参数83 7C 24 08 01 OF 85 28 01 ? ? 60 68 ? ? ? ? 68 ? ? ? ? 68 ? ? ? ? E8 ? ? ? ? BE ? ? ? ? B9 ? ? ? ? 8B F9 81 FE ? ? ? ? 7F 10 AC 47 04 ? 2C ? 73 FO 29 3E 03 Fl 03 F9 EB E8 BB ? ? ? ? BA ? ? ? ? BE ? ? ? ? 85 F6 74 78 B9 ? ? ? ? E3 71 8B 6C 33 ? 8B 4C 33 04 E3 67 81 E908 ? ? ? 81 C6 08 ? ? ? OF B7 04 33 8B F8 81 E7 ? ? ? ? 03 FD Cl E8 ? 4874 OB 48 74 13 48 74 16 48 74 18 EB 32 52 Cl EA ? 66 01 14 3B 5A EB 27 66 01 14 3BEB 21 01 14 3B EB IC 83 C6 02 83 E9 02 8B 44 3B FE 66 8B 04 33 8D 84 15 ? ? ? ? Cl E8 ? 66 89 14 3B 83 C6 02 83 E9 02 75 A7 EB 8F BA ? ? ? ? 8D B2 ? ? ? ? 8B 46 OC 85 CO 74 51 03 C2 8B 7E ? 8B IE 85 DB 75 02 8B DF 03 DA 03 FA 52 57 50 FF15 ? ? ? ? 5F 5A 85 CO 74 2F 8B C8 8B 03 85 CO 74 22 OF BA FO ? 72 04 8D 44 10 ? 51 52 57 50 51 FF 15 ? ? ? ? 5F 5A 59 85 CO 74 OB AB 83 C3 04 EB D8 83 C6 14 EBAA 61 C3 61 E9 ? ? ? ? 8B 08 03 48 04 B8 ? 03 ? ? D3 EO 05 36 07 ? ? C3 8B10 3B 50 04 75 OC C7 40 10 01 ? ? ? B2 FF 8B C2 C3 8B 10 8A 12 FF ? 8B C2 C3 5356 8B D8 89 13 03 CA 89 4B 04 33 CO 89 43 10 33 CO 89 43 OC C7 43 08 FF FF FF FF BE05 ? ? ? 8B C3 E8 BC FF FF FF 25 FF ? ? ? 8B 53 OC Cl E2 08 OB C2 89 43 OC 4E75 E6 5E 5B C3 及对应的断点位置参数 断点 1 :525750FF15 5F5A 断点 2 :5152575051FF15 5F5A59 断点 3 :61C361E9 ; 或四I .原始入口点参数87 25 ? ? ? ? 61 94 55A4B680FF1373F933C9FF13 73 16 33C0 FF 13 73 IF B6 80 41 BO 10 FF 13 12CO73FA753AMEBEOFF5308 02 F6 83 D9 01 750E FF 53 04 EB 24 AC Dl E8 742D13C9EB189148ClEO08AC FF 53 04 3B 43 F8 73 0A80 FC 05 73 06 83 F87F77024141958BC5B6? 56 8B F7 2B FO F3 A4 5E EB 9F 5E AD 97AD 50 FF5310958B074078F37503FF 63 OC 50 55 FF 53 14 AB EB EE 33 C9 41 FF 13 13C9FF1372F8C302D275058A 16 46 12 D2 C3及对应的断点位置参数断点 1 :AD50FF53 ? 95断点 2 :5055FF53 ? AB断点 3 :75 ?? FF630C ;或五..原始入口点参数4D 5A BE ? ? ? ? 8B DEADAD50AD97B280A4B680FF 1373 F9 33 C9 FF 13 73 16 33 CO FF 13 73 21 B68041BO10FF1312CO73FA75 3E AA EB E0E8 76 6E ? ? 02 F6 83 D9 01 75OEFF53FCEB26ACDlE8742F 13 C9 EB IA 91 48 Cl E008 AC FF 53 FC 3D ? ? ? ? 73OA80FC057306 83 F8 7F 77 02 41 41 95 8B C5 B6 ? 56 8BF72BFOF3A45EEB9BAD85CO 7590 AD 96 AD 97 56 AC 3C ? 75FB FF 53 FO 95 56 ADOFC8 405974EC7907 AC3C ? 75 FB 91 40 50 55 FF 53F4 AB 85 CO 75 E5 C3及对应的断点位置参数断点 1 :56AC3C0075FBFF53F0断点 2 :405055FF53F4AB85C0断点 3 :AB85C075E5C3断点4 :5E59E2B1ADFFE09148 ;或六·,原始入口点参数4D 5A BE ? ? ? ? AC 91 AD 95 AD92 AD515687F297 FCB280 33 DB A4 B3 02 FF 55 04 73F8 33 C9 FF 55 04 73 1833 COFF550473IF B302 41 BO IOFF 55 04 12 CO 73 F975 4F AA EB DC E8 5D ? ? ? 2BCB7517 FF55 08 EB 35 AC Dl E874 04 13 C9EB 23 87 F2 5E 59 E2 BlAD FFEO9148ClEO 08AC FF 55 08 3D ? ? ? ? 730A 80 FC 05 73 06 83F8 7F7702414155 87FD AB 87 FD 5D 55 87 F5 AD 87 F5 5D B3 01 568B F7 2B FOF3 A45EEB8602D2 7505 8A 16 46 12 D2 C3 33 C9 41 FF 55 04 13 C9 FF 55 0472 F6 C3及对应的断点位置参数 断点 1 :56AC3C0075FBFF53F0 断点 2 :405055FF53F4AB85C0 断点 3 :AB85C075E5C3 断点 4 :5E59E2B1ADFFE09148 ; 或七·原始入口点参数(数据)E9 F5 00 00 00 OD OA C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 OD OA 20 50 65 58 20 28 63 29 20627920626172745E437261636B506C206265 74 61 20 72656C65617365202020202020 20 20 20 20 202020202020 20 20 20 20202020202020202020202020 20202020202020202020ODOA C4 C4 C4C4C4C4C4C4C4C4C4C4C4C4C4 C4C4C4C4C4C4C4C4C4C4C4 C4C4 C4 C4C4C4C4C4C4C4C4C4C4C4C4C4 C4C4C4C4C4C4C4C4C4C4C4 C4 C4C4 C4C4C4C4C4C4C4C4C4C4C4C4C4 C4C4C4C4C4C4C4C4C4C4OD OA 60 E801000000E883C404E801000000及对应的断点位置参数断点1:5A5E0E56CB断点2:50E801000000 ? 83C404A1 E8 FFD085C0断点3:83C40481E3FFFFFF7F53FFB5 E801000000 ? 83C404A1断点4:6A ? 59F3A4C3断点568 EB01C7584050C3断点668 EB01C7584050C3;八.原始入口点参数80 7C 24 08 01 OF 85 ? ? ? ? 60 BE ? ? ? ? 8D BE ? ? ? ? C7 87 ? ? ? ? 57 83 CD FFEB 00—7F EB 8B IE83EEFC11DB72EDB80100000001DB75 07 8B IE 83 EE FC 11 DB 11CO01DB73? 75 ?98BIE83EEFC11DB73E4 31 C9 83 E803 72 OD Cl EO 088A064683FOFF747489C501DB75078BIE83 EE FC 11 DB 11 C9 OlDB 75 078BIE83EEFC11DB11C975204101DB75078B IE 83 EE FC 11 DB 11 C9 OlDB73EF75098BIE83EEFC11DB73E483Cl0281 FD 00 F3 FF FF 83 Dl 01 8D 14 2F83FDFC76OF8A02428807474975ι F7 E9 63 FF FF FF 90 8B 02 83 C2 04890783C7 0483 E9 04 77 Fl 01 CF E9 01 及对应的断点位置参数 断点 1 :5083C708FF96 断点 2 5047 ? 5748F2AE 断点 3 :5748F2AE55FF96 断点 4 :89F95748F2AE52FF 断点 5 :83EC80E9 断点 6 :61E9 ; 或九.原始入口点参数80 7C 24 08 01 OF 85 ? ? ? ? 60 BE ? ? ? ? 8D BE ? ? ? ? C7 87 ? ? ? ? 57 83 CD FF EB 00-7F EB 8B IE 83 EE FC 11 DB 72 ED B8 01 00 00 00 01 DB75 07 8B IE 83 EE FC 11 DB 11 CO 01 DB 73 ? 75 ? 9 8B IE 83 EE FC 11 DB 72 10 48 01 DB 7507 8B IE 83 EE FC 11 DB 11 CO EB D4 31 C9 83 E8 03 72 11 Cl EO 08 8A 06 46 83 FO FF 74 78D1 F8 89 C5 EB OB 01 DB 75 07 8B IE 83 EE FC 11 DB 11 C9 01 DB 75 07 8B IE 83 EE FC IlDB 11 C9 75 20 41 01 DB 75 07 8B IE 83 EE FC 11 DB 11 C9 01 DB 73 EF 75 09 8B IE 83 EEFC 11 DB 73 E4 83 Cl 02 81 FD 00 FB FF FF 83 Dl 01 8D 14 2F 83 FD FC 76 OF 8A 02 42 88 0747 49 75 F7 E9 01 及对应的断点位置参数断点1:5083C708FF96断点2:5047 ? 5748F2AE断点3:5748F2AE55FF96断点4:89F95748F2AE52FF断点5:83EC80E9断点6:61E9 ;或及对应的断点位置参数 断点 1 :5083C708FF96 断点 2 5047 ? 5748F2AE 断点 3 :5748F2AE55FF96 断点 4 :89F95748F2AE52FF 断点 5 :83EC80E9 断点 6 :61E9。
3.按权利要求1所述基于综合处理的软件壳自动脱壳方法,其特征在于所述采用断点回调函数为采用拦截窗口函数、拦截对话框函数、拦截注册表函数、拦截驱动函数以及可返回调用断点位置函数地址的函数中的一种或几种函数作为断点回调函数。
全文摘要
本发明属于网络安全领域中对带保护壳的恶意软件进行脱壳处理的方法,包括初始化处理,获取加壳恶意软件的原始入口点参数和断点位置参数,获取输入表,待脱壳软件的转储及脱壳后软件的获取。该发明将可用于恶意软件加壳保护的壳特征参数作为鉴别恶意软件壳特征的依据;在待脱壳的恶意软件输入内存系统后、首先找出原始入口点参数及对应的各断点位置参数,再按所得各断点位置参数对待脱壳软件进行运行调试、得到输入表,然后再通过原始入口点参数及输入表对待脱壳软件进行修复,以获得脱壳后的恶意软件;因而该发明具有可对加壳保护的恶意软件进行自动脱壳处理,还原恶意软件加壳前的可执行状况,为对恶意软件的分析处理清除其保护屏障等特点。
文档编号G06F21/00GK102184363SQ20111013258
公开日2011年9月14日 申请日期2011年5月21日 优先权日2011年5月21日
发明者潘泓, 王光卫, 范明钰 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1