CN102184363A - 基于综合处理的软件壳自动脱壳方法 - Google Patents

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

Info

Publication number
CN102184363A
CN102184363A CN2011101325878A CN201110132587A CN102184363A CN 102184363 A CN102184363 A CN 102184363A CN 2011101325878 A CN2011101325878 A CN 2011101325878A CN 201110132587 A CN201110132587 A CN 201110132587A CN 102184363 A CN102184363 A CN 102184363A
Authority
CN
China
Prior art keywords
breakpoint
parameter
software
shell
user32
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011101325878A
Other languages
English (en)
Other versions
CN102184363B (zh
Inventor
范明钰
王光卫
潘泓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN2011101325878A priority Critical patent/CN102184363B/zh
Publication of CN102184363A publication Critical patent/CN102184363A/zh
Application granted granted Critical
Publication of CN102184363B publication Critical patent/CN102184363B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Acyclic And Carbocyclic Compounds In Medicinal Compositions (AREA)
  • Agricultural Chemicals And Associated Chemicals (AREA)

Abstract

本发明属于网络安全领域中对带保护壳的恶意软件进行脱壳处理的方法,包括初始化处理,获取加壳恶意软件的原始入口点参数和断点位置参数,获取输入表,待脱壳软件的转储及脱壳后软件的获取。该发明将可用于恶意软件加壳保护的壳特征参数作为鉴别恶意软件壳特征的依据;在待脱壳的恶意软件输入内存系统后、首先找出原始入口点参数及对应的各断点位置参数,再按所得各断点位置参数对待脱壳软件进行运行调试、得到输入表,然后再通过原始入口点参数及输入表对待脱壳软件进行修复,以获得脱壳后的恶意软件;因而该发明具有可对加壳保护的恶意软件进行自动脱壳处理,还原恶意软件加壳前的可执行状况,为对恶意软件的分析处理清除其保护屏障等特点。

Description

基于综合处理的软件壳自动脱壳方法
技术领域
本发明属于网络安全技术领域,特别是一种针对设有保护壳的恶意软件进行脱壳处理的方法;采用本发明方法可对恶意软件进行自动脱壳处理、还原恶意软件在壳保护之前的可执行状态,以方便继后对恶意软件的分析处理。
背景技术
壳是一种对计算机软件进行保护的常用手段。十几年来,各式各样的软件保护壳(程序)的出现对计算机正常软件的保护起到重要作用;但软件保护壳是一把双刃剑,既可用于保护正常软件、也可用于保护恶意软件。恶意软件通过保护壳把恶意程序(代码)伪装成正常程序,当用户运行此类程序时、在不知不觉中就执行了恶意程序,这些恶意程序的行为通常是窃取数据、破坏数据、发送垃圾邮件、运行其他恶意代码指定的程序等等,轻则干扰正常程序的运行、重则造成恶性事故。利用各种保护壳,恶意程序还可以躲过传统的特征杀毒,并且给恶意程序(软件)的分析和检测带来诸多困难。要分析恶意程序的特点、进而找出检测方法,必须对其进行脱壳处理;由于软件壳技术的理论研究尚不完善,因此还没有通用的自动脱壳工具,这就为恶意程序在各类保护壳的掩护下运行提供了条件,从而给计算机的正常运行、给社会正常的经济活动、通讯,甚至国家的安全造成严重威胁。
发明内容
本发明的目的是针对各类可能用于对恶意软件进行保护的软件壳,研究设计一种基于综合处理的软件可自动脱壳方法,达到对加壳保护的恶意软件、通过多层次的综合处理,找出其壳特征并根据其壳特征进行自动脱壳处理,还原软件加壳前的可执行状况,以便进行后续分析处理的目的。
本发明的解决方案是首先将可用于恶意软件加壳保护的各组(种)壳的壳特征参数(包括:原始入口点参数及对应的全部断点位置参数)分别录入(初始化入)壳特征数据库内、作为鉴别加壳恶意软件壳特征的依据待用;在待脱壳的恶意软件输入内存系统后、即将待脱壳的软件分别与录入(初始化入)壳特征数据库内的各原始入口点参数进行对比搜索,以找出与原始入口点参数以及对应的各断点位置参数,再按所得各断点位置参数对待脱壳软件进行运行调试、得到输入表各参数,然后再使用该原始入口点参数及所得输入表各参数对待脱壳软件进行修复,最后获得脱壳后的恶意软件,从而实现其发明目的。因而,本发明的方法包括:
步骤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 1C 33 C0 E8 5B ?? ?? ?? 73 23 B3 02 41 B0 10 E84F ?? ?? ?? 12 C0 73 F7 75 3F AA EB D4 E8 4D ?? ?? ?? 2B CB 75 10 E8 42 ?? ?? ?? EB 28 ACD1 E8 74 4D 13 C9 EB 1C 91 48 C1 E0 08 AC E8 2C ?? ?? ?? 3D ?? 7D ?? ?? 73 0A 80 FC 05 7306 83 F8 7F 77 02 41 41 95 8B C5 B3 01 56 8B F7 2B F0 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 F9 81 FE ?? ?? ?? ?? 7F 10 AC 47 04 18 2C 02 73 F0 29 3E 03 F1 03 F9 EB E8 BA ?? ?? 40 ??8D B2 ?? ?? ?? ?? 8B 46 0C 85 C0 74 51 03 C2 8B 7E 10 8B 1E 85 DB 75 02 8B DF 03 DA 03 FA52 57 50 FF 15 ?? ?? ?? ?? 5F 5A 85 C0 74 2F 8B C8 8B 03 85 C0 74 22 0F BA F0 1F 72 04 8D 4410 02 51 52 57 50 51 FF 15 ?? ?? ?? ?? 5F 5A 59 85 C0 74 0B 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 ?? ?? ?? ?? E8 81 07 ?? ??BE ?? 10 40 ?? B9 04 ?? ?? ?? 8B F9 81 FE ?? ?? ?? ?? 7F 10 AC 47 04 18 2C 02 73 F029 3E 03 F1 03 F9 EB E8 BA ?? ?? 40 ?? 8D B2 ?? ?? ?? ?? 8B 46 0C 85 C0 74 51 03 C28B 7E 10 8B 1E 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 C0 74 22 0F BA F0 1F 72 04 8D 44 10 02 51 52 57 50 51 FF 15 ?? ?? ?? ??5F 5A 59 85 C0 74 0B AB 83 C3 04 EB D8 83 C6 14 EB AA 61 C3 61 E9 ?? ?? ?? ?? 8B 0803 48 04 B8 ?? 03 ?? ?? D3 E0 05 36 07 ?? ?? C3 8B 10 3B 50 04 75 0C 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 C0 8943 10 33 C0 89 43 0C C7 43 08 FF FF FF FF BE 05 ?? ?? ?? 8B C3 E8 BC FF FF FF 25 FF ?? ?? ??8B 53 0C C1 E2 08 0B C2 89 43 0C 4E 75 E6 5E 5B C3 53 56 57 55 51 89 04 24 8B 1C 248B 5B 08 8B 34 24 8B 76 0C 33 ED 8B FA 85 FF 7E 2F D1 EB 03 ED 3B DE 77 05 2B F3 83CD 01 81 FB ?? ?? ?? 01 73 17 C1 E3 08 8B 04 24 E8 6A FF FF FF 25 FF ?? ?? ?? C1 E608 0B C6 8B F0 4F 75 D1 8B 04 24 89 58 08 8B 04 24 89 70 0C 8B C5 5A 5D 5F 5E 5B C353 56 57 55 8B F8 8B 5F 08 8B 77 0C 8B CB C1 E9 0B 8B 02 0F AF C8 3B CE 76 12 8B D9B9 ?? 08 ?? ?? 2B C8 C1 E9 05 01 0A 33 ED EB 0E 2B F1 2B D9 C1 E8 05 29 02 BD 01 ?? ?? ??81 FB ?? ?? ?? 01 73 16 8B C7 E8 FE FE FF FF 25 FF ?? ?? ?? C1 E6 08 0B C6 8B F0 C1E3 08 89 5F 08 89 77 0C 8B C5 5D 5F 5E 5B C3 53 56 57 55 51 89 0C 24 8B EA 8B F8 BB01 ?? ?? ?? 8B 34 24 85 F6 7E 14 8D 54 9D ?? 8B C7 E8 78 FF FF FF 03 DB 0B C3 8B D84E 75 EC 8B 0C 24 B8 01 ?? ?? ?? D3 E0 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 0B D88B CF D3 E0 0B E8 47 4E 75 E3 8B C5 83 C4 0C 5D 5F 5E 5B C3 53 56 57 8B FA 8B F0 BB01 ?? ?? ?? 8D 14 9F 8B C6 E8 F4 FE FF FF 03 DB 0B C3 8B D8 81 FB ?? 01 ?? ?? 7C E88B C3 5F 5E 5B C3 53 56 57 55 51 88 0C 24 8B FA 8B F0 BB 01 ?? ?? ?? 0F B6 2C 24 C1ED 07 83 E5 01 D0 24 24 8B C5 C1 E0 08 05 ?? 01 ?? ?? 03 C3 8D 14 87 8B C6 E8 AC FEFF FF 03 DB 0B D8 3B C5 74 22 81 FB ?? 01 ?? ?? 7D 22 8D 14 9F 8B C6 E8 92 FE FF FF03 DB 0B 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 C0 7517 C1 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 C0 75 1D C1 E5 03 81 C5 82 ?? ?? ?? 8D 14 AF 8B C3 B9 03 ?? ?? ??E8 81 FE FF FF 83 C0 08 EB 15 8D 97 08 04 ?? ?? 8B C3 B9 08 ?? ?? ?? E8 6A FE FF FF83 C0 10 5D 5F 5E 5B C3 8A 12 80 FA E1 72 03 33 C0 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 0B 80 EA 09 FF 40 04 80FA 09 73 F5 81 E2 FF ?? ?? ?? 89 10 B0 01 C3
及对应的断点位置参数:
断点1:525750FF15????????5F5A
断点2:5152575051FF15????????5F5A59
断点3:61C361E9;
三.原始入口点参数:83 7C 24 08 01 0F 85 28 01 ?? ?? 60 68 ?? ?? ?? ?? 68 ?? ?? ?? ??68 ?? ?? ?? ?? E8 ?? ?? ?? ?? BE ?? ?? ?? ?? B9 ?? ?? ?? ?? 8B F9 81 FE ?? ?? ?? ??7F 10 AC 47 04 ?? 2C ?? 73 F0 29 3E 03 F1 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 ?? ?? ?? 0F B7 04 33 8B F8 81 E7 ?? ?? ?? ?? 03 FD C1 E8 ?? 4874 0B 48 74 13 48 74 16 48 74 18 EB 32 52 C1 EA ?? 66 01 14 3B 5A EB 27 66 01 14 3BEB 21 01 14 3B EB 1C 83 C6 02 83 E9 02 8B 44 3B FE 66 8B 04 33 8D 84 15 ?? ?? ?? ??C1 E8 ?? 66 89 14 3B 83 C6 02 83 E9 02 75 A7 EB 8F BA ?? ?? ?? ?? 8D B2 ?? ?? ?? ??8B 46 0C 85 C0 74 51 03 C2 8B 7E ?? 8B 1E 85 DB 75 02 8B DF 03 DA 03 FA 52 57 50 FF15 ?? ?? ?? ?? 5F 5A 85 C0 74 2F 8B C8 8B 03 85 C0 74 22 0F BA F0 ?? 72 04 8D 44 10 ??51 52 57 50 51 FF 15 ?? ?? ?? ?? 5F 5A 59 85 C0 74 0B AB 83 C3 04 EB D8 83 C6 14 EBAA 61 C3 61 E9 ?? ?? ?? ?? 8B 08 03 48 04 B8 ?? 03 ?? ?? D3 E0 05 36 07 ?? ?? C3 8B10 3B 50 04 75 0C 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 C0 89 43 10 33 C0 89 43 0C C7 43 08 FF FF FF FF BE05 ?? ?? ??8B C3 E8 BC FF FF FF 25 FF ?? ?? ?? 8B 53 0C C1 E2 08 0B C2 89 43 0C 4E75 E6 5E 5B C3
及对应的断点位置参数:
断点1:525750FF15????????5F5A
断点2:5152575051FF15????????5F5A59
断点3:61C361E9;
四.原始入口点参数:87 25 ?? ?? ?? ?? 61 94 55 A4 B6 80 FF 13 73 F9 33 C9 FF 13 73 16 33C0 FF 13 73 1F B6 80 41 B0 10 FF 13 12 C0 73 FA 75 3A AA EB E0 FF 53 08 02 F6 83 D9 01 750E FF 53 04 EB 24 AC D1 E8 74 2D 13 C9 EB 18 91 48 C1 E0 08 AC FF 53 04 3B 43 F8 73 0A80 FC 05 73 06 83 F8 7F 77 02 41 41 95 8B C5 B6 ?? 56 8B F7 2B F0 F3 A4 5E EB 9F 5E AD 97AD 50 FF 53 10 95 8B 07 40 78 F3 75 03 FF 63 0C 50 55 FF 53 14 AB EB EE 33 C9 41 FF 13 13C9 FF 13 72 F8 C3 02 D2 75 05 8A 16 46 12 D2 C3
及对应的断点位置参数:
断点1:AD50FF53??95
断点2:5055FF53??AB
断点3:75??FF630C;
五.原始入口点参数:4D 5A BE ?? ?? ?? ?? 8B DE AD AD 50 AD 97 B2 80 A4 B6 80 FF 1373 F9 33 C9 FF 13 73 16 33 C0 FF 13 73 21 B6 80 41 B0 10 FF 13 12 C0 73 FA 75 3E AA EB E0E8 76 6E ?? ?? 02 F6 83 D9 01 75 0E FF 53 FC EB 26 AC D1 E8 74 2F 13 C9 EB 1A 91 48 C1 E008 AC FF 53 FC 3D ?? ?? ?? ?? 73 0A 80 FC 05 73 06 83 F8 7F 77 02 41 41 95 8B C5 B6 ?? 56 8BF7 2B F0 F3 A4 5E EB 9B AD 85 C0 75 90 AD 96 AD 97 56 AC 3C ?? 75 FB FF 53 F0 95 56 AD0F C8 40 59 74 EC 79 07 AC 3C ?? 75 FB 91 40 50 55 FF 53 F4 AB 85 C0 75 E5 C3
及对应的断点位置参数:
断点1:56AC3C0075FBFF53F0
断点2:405055FF53F4AB85C0
断点3:AB85C075E5C3
断点4:5E59E2B1ADFFE09148;
六.原始入口点参数:4D 5A BE ?? ?? ?? ?? AC 91 AD 95 AD 92 AD 51 56 87 F2 97 FC B280 33 DB A4 B3 02 FF 55 04 73 F8 33 C9 FF 55 04 73 18 33 C0 FF 55 04 73 1F B3 02 41 B0 10FF 55 04 12 C0 73 F9 75 4F AA EB DC E8 5D ?? ?? ?? 2B CB 75 17 FF 55 08 EB 35 AC D1 E874 04 13 C9 EB 23 87 F2 5E 59 E2 B1 AD FF E0 91 48 C1 E0 08 AC FF 55 08 3D ?? ?? ?? ??730A 80 FC 05 73 06 83 F8 7F 77 02 41 41 55 87 FD AB 87 FD 5D 55 87 F5 AD 87 F5 5D B3 01 568B F7 2B F0 F3 A4 5E EB 86 02 D2 75 05 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 0D 0A 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 0D 0A 20 50 65 58 20 28 63 29 20 62 79 20 62 61 72 74 5E43 72 61 63 6B 50 6C 20 62 65 74 61 20 72 65 6C 65 61 73 65 20 20 20 20 20 20 20 20 20 20 2020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D0A 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 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 0D 0A 60 E801 00 00 00 E8 83 C4 04 E8 01 00 00 00
及对应的断点位置参数:
断点1:5A5E0E56CB
断点2:50E801000000??83C404A1????????E8????????FFD085C0
断点3:83C40481E3FFFFFF7F53FFB5????????E801000000??83C404A1
断点4:6A??59F3A4C3
断点5:68????????EB01C7584050C3
断点6:68????????EB01C7584050C3;
八.原始入口点参数:80 7C 24 08 01 0F 85 ?? ?? ?? ?? 60 BE ?? ?? ?? ?? 8D BE ?? ?? ?? ??C7 87 ?? ?? ?? ?? 57 83 CD FF EB 00-7F EB 8B 1E 83 EE FC 11 DB 72 ED B8 01 00 00 00 01 DB75 07 8B 1E 83 EE FC 11 DB 11 C0 01 DB 73 ?? 75 ?9 8B 1E 83 EE FC 11 DB 73 E4 31 C9 83 E803 72 0D C1 E0 08 8A 06 46 83 F0 FF 74 74 89 C5 01 DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 01DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 75 20 41 01 DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 01DB 73 EF 75 09 8B 1E 83 EE FC 11 DB 73 E4 83 C1 02 81 FD 00 F3 FF FF 83 D1 01 8D 14 2F83 FD FC 76 0F 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 F1 01 CF E9 01
及对应的断点位置参数:
断点1:5083C708FF96
断点2:5047??5748F2AE
断点3:5748F2AE55FF96
断点4:89F95748F2AE52FF
断点5:83EC80E9
断点6:61E9;
九.原始入口点参数:80 7C 24 08 01 0F 85 ?? ?? ?? ?? 60 BE ?? ?? ?? ?? 8D BE ?? ?? ?? ??C7 87 ?? ?? ?? ?? 57 83 CD FF EB 00-7F EB 8B 1E 83 EE FC 11 DB 72 ED B8 01 00 00 00 01 DB75 07 8B 1E 83 EE FC 11 DB 11 C0 01 DB 73 ?? 75 ?9 8B 1E 83 EE FC 11 DB 72 10 48 01 DB 7507 8B 1E 83 EE FC 11 DB 11 C0 EB D4 31 C9 83 E8 03 72 11 C1 E0 08 8A 06 46 83 F0 FF 74 78D1 F8 89 C5 EB 0B 01 DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 01 DB 75 07 8B 1E 83 EE FC 11DB 11 C9 75 20 41 01 DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 01 DB 73 EF 75 09 8B 1E 83 EEFC 11 DB 73 E4 83 C1 02 81 FD 00 FB FF FF 83 D1 01 8D 14 2F 83 FD FC 76 0F 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 0F 85 ?? ?? ?? ?? 60 BE ?? ?? ?? ?? 8D BE ?? ?? ?? ??C7 87 ?? ?? ?? ?? ?? ?? ?? ?? 57 83 CD FF EB 00-7F EB 8B 1E 83 EE FC 11 DB 72 ED B8 01 0000 00 01 DB 75 07 8B 1E 83 EE FC 11 DB 11 C0 01 DB 73 ?? 75 ?9 8B 1E 83 EE FC 11 DB
及对应的断点位置参数:
断点1:5083C708FF96
断点2:5047??5748F2AE
断点3:5748F2AE55FF96
断点4:89F95748F2AE52FF
断点5:83EC80E9
断点6:61E9。
所述采用断点回调函数为采用拦截窗口函数、拦截对话框函数、拦截注册表函数、拦截驱动函数以及可返回调用断点位置函数地址的函数中的一种或几种。
本发明由于将可用于恶意软件加壳保护的各类(种)壳的壳特征参数(包括:原始入口点参数及对应的全部断点位置参数)分别录入(初始化入)壳特征数据库内、作为鉴别加壳恶意软件壳特征的依据;在待脱壳的恶意软件输入内存系统后、即将待脱壳的软件分别与录入(初始化入)壳特征数据库内的各原始入口点参数进行对比搜索,以找出与原始入口点参数以及对应的各断点位置参数,再按所得各断点位置参数对待脱壳软件进行运行调试、得到输入表各参数,然后再使用该原始入口点参数及所得输入表各参数对待脱壳软件进行修复,最后获得脱壳后的恶意软件;因而本发明具有可对加壳保护的恶意软件进行自动脱壳处理,还原恶意软件加壳前的可执行状况,为后续对恶意软件进行分析处理清除其保护屏障;从而确保计算机的正常运行、维护社会正常的经济活动、以及通讯和国家的安全等特点。
具体实施方式
实施例1:以对名称为sample1.exe的加壳软件的脱壳处理为例:
步骤1.初始化处理:将上述发明内容中一至十组所列原始入口点参数及与之(原始入口点参数)对应的全部断点位置参数逐一录入系统壳特征数据库内,待用:
步骤2.获取加壳恶意软件的原始入口点参数和断点位置参数:将待脱壳的名称为sample1.exe的加壳(恶意)软件输入内存系统后,与壳特征数据库中的各原始入口点参数进行逐一比对,得待脱壳的恶意软件的原始入口点参数与壳特征数据库中第八组、即与:
原始入口点参数:80 7C 24 08 01 0F 85 ?? ?? ?? ?? 60 BE ?? ?? ?? ?? 8D BE ?? ?? ?? ?? C787 ?? ?? ?? ?? 57 83 CD FF EB 00-7F EB 8B 1E 83 EE FC 11 DB 72 ED B8 01 00 00 00 01 DB 7507 8B 1E 83 EE FC 11 DB 11 C0 01 DB 73 ?? 75 ?9 8B 1E 83 EE FC 11 DB 73 E4 31 C9 83 E8 0372 0D C1 E0 08 8A 06 46 83 F0 FF 74 74 89 C5 01 DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 01DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 75 20 41 01 DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 01DB 73 EF 75 09 8B 1E 83 EE FC 11 DB 73 E4 83 C1 02 81 FD 00 F3 FF FF 83 D1 01 8D 14 2F83 FD FC 76 0F 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 F1 01 CF E9 01匹配;而与该原始入口点参数对应的断点位置参数为:
断点1:5083C708FF96
断点2:5047??5748F2AE
断点3:5748F2AE55FF96
断点4:89F95748F2AE52FF
断点5:83EC80E9
断点6:61E9;
将上述原始入口点参数及所对应的全部6个断点位置参数记录(存储)、备用;
步骤3.获取输入表数据:在步骤2获得的6个断点位置数据处,分别采用可返回调用断点位置函数地址的函数作为回调函数,跟踪、调试待脱壳软件的运行,并随时记录回调函数给出的输入表中各个参数、至输入表各参数收集完毕后、获得该恶意软件输入表(参数)为:
01001000    77C746AD  ADVAPI32.RegQueryValueExW
01001004    77C7469D ADVAPI32.RegCloseKey
01001008    77C71514 ADVAPI32.RegCreateKeyW
0100100C    77C7448E ADVAPI32.IsTextUnicode
01001010    77C748EF ADVAPI32.RegQueryValueExA
01001014    77C74907 ADVAPI32.RegOpenKeyExA
01001018    77C714D6 ADVAPI32.RegSetValueExW
0100101C    00000000
01001020    75C575E0 COMCTL32.CreateStatusWindowW
01001024    00000000
01001028    77B800D7 GDI32.EndPage
0100102C    77B94C63 GDI32.AbortDoc
01001030    77B950AA GDI32.EndDoc
01001034    77B66EAA GDI32.DeleteDC
01001038    77B95195 GDI32.StartPage
0100103C    77B6B4B5 GDI32.GetTextExtentPoint32W
01001040    77B6CF79 GDI32.CreateDCW
01001044    77B80082 GDI32.SetAbortProc
01001048    77B6B73A GDI32.GetTextFaceW
0100104C    77B6FDE4 GDI32.TextOutW
01001050    77B95BB0 GDI32.StartDocW
01001054    77B6FDA1 GDI32.EnumFontsW
01001058    77B65DDF GDI32.GetStockObject
0100105C    77B67568 GDI32.GetObjectW
01001060    77B66F7F GDI32.GetDeviceCaps
01001064    77B6ABFC GDI32.CreateFontIndirectW
01001068    77B65F14 GDI32.DeleteObject
0100106C    77B67B8F GDI32.GetTextMetricsW
01001070    77B669B1 GDI32.SetBkMode
01001074    77B68484 GDI32.LPtoDP
01001078    77B70BD3 GDI32.SetWindowExtEx
0100107C    77B73A6C GDI32.SetViewportExtEx
01001080    77B6EFBF GDI32.SetMapMode
01001084    77B66640 GDI32.SelectObject
01001088    00000000
0100108C    77E2BB80 kernel32.GetCurrentThreadId
01001090    77E2BA60 kernel32.GetTickCount
01001094    77E2BB9F kernel32.QueryPerformanceCounter
01001098    77E2A90E kernel32.GetLocalTime
0100109C    77E36584 kernel32.GetUserDefaultLCID
010010A0    77E2AFAB kernel32.GetDateFormatW
010010A4    77E2AC29 kernel32.GetTimeFormatW
010010A8    77E29E05 kernel32.GlobalLock
010010AC    77E29D50 kernel32.GlobalUnlock
010010B0    77E31268 kernel32.GetFileInformationByHandle
010010B4    77E20A7F kernel32.CreateFileMappingW
010010B8    77E32FDE kernel32.GetSystemTimeAsFileTime
010010BC    77E22331 kernel32.TerminateProcess
010010C0    77E2CDCF kernel32.GetCurrentProcess
010010C4    77E33D01 kernel32.SetUnhandledExceptionFilter
010010C8    77E3395C kernel32.LoadLibraryA
010010CC    77E2CF41 kernel32.GetModuleHandleA
010010D0    77DE1E10 kernel32.GetStartupInfoA
010010D4    77E29CF9 kernel32.GlobalFree
010010D8    77E36596 kernel32.GetLocaleInfoW
010010DC    77E2CA64 kernel32.LocalFree
010010E0    77E33363 kernel32.LocalAlloc
010010E4    77E2D9E8 kernel32.lstrlenW
010010E8    77E25C02 kernel32.LocalUnlock
010010EC    77E29BEE kernel32.CompareStringW
010010F0    77E25BEA kernel32.LocalLock
010010F4    77E4560D kernel32.FoldStringW
010010F8    77E2CA7C kernel32.CloseHandle
010010FC    77E18BFA kernel32.lstrcpyW
01001100    77E296FB kernel32.ReadFile
01001104    77E2CC56 kernel32.CreateFileW
01001108    77E2A8EB kernel32.lstrcmpiW
0100110C    77E2CAC4 kernel32.GetCurrentProcessId
01001110    77E333D3 kernel32.GetProcAddress
01001114    77E3679E kernel32.GetCommandLineW
01001118    77E44BE7 kernel32.lstrcatW
0100111C    77E30E62 kernel32.FindClose
01001120    77E353B2 kernel32.FindFirstFileW
01001124    77E364FF kernel32.GetFileAttributesW
01001128    77E367B0 kernel32.lstrcmpW
0100112C    77E2B7A0 kernel32.MulDiv
01001130    77E46118 kernel32.lstrcpynW
01001134    77E20032 kernel32.LocalSize
01001138    77E2BF00 kernel32.GetLastError
0100113C    77E31400 kernel32.WriteFile
01001140    77E2BB08 JMP到ntdll.RtlSetLastWin32Error
01001144    77E3450E kernel32.WideCharToMultiByte
01001148    77E27328 kernel32.LocalReAlloc
0100114C    77E254A3 kernel32.FormatMessageW
01001150    77E222EF kernel32.GetUserDefaultUILanguage
01001154    77E22319 kernel32.SetEndOfFile
01001158    77E20F62 kernel32.DeleteFileW
0100115C    77E339AA kernel32.GetACP
01001160    77E2DB13 kernel32.UnmapViewOfFile
01001164    77E3452B kernel32.MultiByteToWideChar
01001168    77E2899B kernel32.MapViewOfFile
0100116C    77E3ED38 kernel32.UnhandledExceptionFilter
01001170    00000000
01001174    73A14E4A SHELL32.DragFinish
01001178    73A1508E SHELL32.DragQueryFileW
0100117C    73921BF1 SHELL32.DragAcceptFiles
01001180    738CA129 SHELL32.ShellAboutW
01001184    00000000
01001188    77D254DD USER32.GetClientRect
0100118C    77D23075 USER32.SetCursor
01001190    77D25421  USER32.ReleaseDC
01001194    77D2544C  USER32.GetDC
01001198    77D33B9B  USER32.DialogBoxParamW
0100119C    77D2333A  USER32.SetActiveWindow
010011A0    77D23800  USER32.GetKeyboardLayout
010011A4    77D2507D  USER32.DefWindowProcW
010011A8    77D1B2F4  USER32.DestroyWindow
010011AC    77D42939  USER32.MessageBeep
010011B0    77D1F2A9  USER32.ShowWindow
010011B4    77D2335D  USER32.GetForegroundWindow
010011B8    77D24C8E  USER32.IsIconic
010011BC    77D469DE  USER32.GetWindowPlacement
010011C0    77D2E981  USER32.CharUpperW
010011C4    77D1DFBA  USER32.LoadStringW
010011C8    77D1976D  USER32.LoadAcceleratorsW
010011CC    77D1FD8B  USER32.GetSystemMenu
010011D0    77D20162  USER32.RegisterClassExW
010011D4    77D212EB  USER32.LoadImageW
010011D8    77D1ED90  USER32.LoadCursorW
010011DC    77D17F78  USER32.SetWindowPlacement
010011E0    77D1EC7C  USER32.CreateWindowExW
010011E4    77D201A9  USER32.GetDesktopWindow
010011E8    77D23A34  USER32.GetFocus
010011EC    77D1F142  USER32.LoadIconW
010011F0    77D2612B  USER32.SetWindowTextW
010011F4    77D1B308  USER32.PostQuitMessage
010011F8    77D1DF8D  USER32.RegisterWindowMessageW
010011FC    77D1FFA8  USER32.UpdateWindow
01001200    77D404BE  USER32.SetScrollPos
01001204    77D1BA8A  USER32.CharLowerW
01001208    77D2634A  USER32.PeekMessageW
0100120C    77D18D02  USER32.EnableWindow
01001210    77D25894  USER32.DrawTextExW
01001214    77D45630  USER32.CreateDialogParamW
01001218    77D1B8C5  USER32.GetWindowTextW
0100121C    77D267CF  USER32.GetSystemMetrics
01001220    77D18D29  USER32.MoveWindow
01001224    77D2566D  USER32.InvalidateRect
01001228    77D34867  USER32.WinHelpW
0100122C    77D1B4E8  USER32.GetDlgCtrlID
01001230    77D5B6AA  USER32.ChildWindowFromPoint
01001234    77D1A506  USER32.ScreenToClient
01001238    77D1A4B3  USER32.GetCursorPos
0100123C    77D370D8  USER32.SendDlgItemMessageW
01001240    77D25539  USER32.SendMessageW
01001244    77D20BE6  USER32.CharNextW
01001248    77D3EE7C  USER32.CheckMenuItem
0100124C    77D4446C  USER32.CloseClipboard
01001250    77D444FF  USER32.IsClipboardFormatAvailable
01001254    77D4447E  USER32.OpenClipboard
01001258    77D467D2  USER32.GetMenuState
0100125C    77D443BC  USER32.EnableMenuItem
01001260    77D19C19  USER32.GetSubMenu
01001264    77D46B68  USER32.GetMenu
01001268    77D6EA5F  USER32.MessageBoxW
0100126C    77D24449  USER32.SetWindowLongW
01001270    77D261B8  USER32.GetWindowLongW
01001274    77D442BB  USER32.GetDlgItem
01001278    77D1ABAD  USER32.SetFocus
0100127C    77D3EBD4  USER32.SetDlgItemTextW
01001280    77D3426D  USER32.wsprintfW
01001284    77D3ECBC  USER32.GetDlgItemTextW
01001288    77D43BA3  USER32.EndDialog
0100128C    77D26029  USER32.GetParent
01001290    77D1B750  USER32.UnhookWinEvent
01001294    77D2CC61  USER32.DispatchMessageW
01001298    77D264C7  USER32.TranslateMessage
0100129C    77D2667E  USER32.TranslateAcceleratorW
010012A0    77D24104  USER32.IsDialogMessageW
010012A4    77D2447B  USER32.PostMessageW
010012A8    77D2CDE8  USER32.GetMessageW
010012AC    77D224DC  USER32.SetWinEventHook
010012B0    00000000
010012B4    6D942458  WINSPOOL.GetPrinterDriverW
010012B8    6D94CAE7  WINSPOOL.ClosePrinter
010012BC    6D9368F0  WINSPOOL.OpenPrinterW
010012C0    00000000
010012C4    6F062694  comdlg32.PageSetupDlgW
010012C8    6F08ACF0  comdlg32.FindTextW
010012CC    6F064B96  comdlg32.PrintDlgExW
010012D0    6F06FE6D  comdlg32.ChooseFontW
010012D4    6F05259D  comdlg32.GetFileTitleW
010012D8    6F08A2D5  comdlg32.GetOpenFileNameW
010012DC    6F08AD24  comdlg32.ReplaceTextW
010012E0    6F062158  comdlg32.CommDlgExtendedError
010012E4    6F08A36E  comdlg32.GetSaveFileNameW
010012E8    00000000
010012EC    6FF7DC75  msvcrt._XcptFilter
010012F0    6FFBB2C0  msvcrt._exit
010012F4    6FFBB2DB  msvcrt._c_exit
010012F8    6FF5F708  msvcrt.time
010012FC    6FF67511  msvcrt.localtime
01001300    6FF637D4  msvcrt._cexit
01001304    6FF5AA8C  msvcrt.iswetype
01001308    6FF7D770  msvcrt._except_handler3
0100130C    6FF5C7C8  msvcrt._wtol
01001310    6FF5B05E  msvcrt.wcsncmp
01001314    6FF795D1  msvcrt._snwprintf
01001318    6FF636AA  msvcrt.exit
0100131C    6FFF04D8  ASCII″P$)″
01001320    6FF62BC0  msvcrt._getmainargs
01001324    6FF5C151  msvcrt._initterm
01001328    6FFE77AD  msvcrt._setusermatherr
0100132C    6FFF32EC  OFFSET msvcrt._adjust_fdiv
01001330    6FF627C3  msvcrt._p_commode
01001334    6FF627CE  msvcrt._p_fmode
01001338    6FF62804  msvcrt._set_app_type
0100133C    6FF5E1E1  msvcrt._controlfp
01001340    6FF6D3F3  msvcrt.wcsncpy
01001344    00000000;
此时停止对待脱壳软件的运行调试,同时将所得输入表存储、备用;
步骤4.待脱壳软件的转储:将待脱壳软件sample1.exe从内存中(由步骤2录入)转储到系统硬盘中;
步骤5.脱壳后软件的获取:采用从本实施例步骤2得到的原始入口点参数和步骤3所得输入表中的参数,对经步骤4转储到硬盘上的待脱壳软件sample1.exe进行修复处理,获得脱壳后的软件;修复后即得可直接用于分析的(脱壳后)软件。
实施例2:以名称为sample2.exe的加壳恶意软件的脱壳处理为例;
步骤1.初始化处理与实施例1相同;
步骤2.获取加壳恶意软件的原始入口点参数和断点位置参数:将待脱壳的名称为sample2.exe的加壳(恶意)软件输入内存系统后,与壳特征数据库中的各原始入口点参数进行逐一比对,得待脱壳的恶意软件的原始入口点参数与壳特征数据库中第四组、即与:
原始入口点参数:87 25 ?? ?? ?? ?? 61 94 55 A4 B6 80 FF 13 73 F9 33 C9 FF 13 73 16 33 C0FF 13 73 1F B6 80 41 B0 10 FF 13 12 C0 73 FA 75 3A AA EB E0 FF 53 08 02 F6 83 D9 01 75 0EFF 53 04 EB 24 AC D1 E8 74 2D 13 C9 EB 18 91 48 C1 E0 08 AC FF 53 04 3B 43 F8 73 0A 80FC 05 73 06 83 F8 7F 77 02 41 41 95 8B C5 B6 ?? 56 8B F7 2B F0 F3 A4 5E EB 9F 5E AD 97 AD50 FF 53 10 95 8B 07 40 78 F3 75 03 FF 63 0C 50 55 FF 53 14 AB EB EE 33 C9 41 FF 13 13 C9FF 13 72 F8 C3 02 D2 75 05 8A 16 46 12 D2 C3匹配;而与该原始入口点参数对应的断点位置参数为:
断点1:AD50FF53??95
断点2:5055FF53??AB
断点3:75??FF630C,
将上述原始入口点参数及所对应的全部6个断点位置参数记录(存储)、备用;
步骤3.获取输入表数据:在步骤2获得的3个断点位置数据处,仍采用可返回调用断点位置函数地址的函数作为回调函数,跟踪、调试待脱壳软件的运行,并随时记录回调函数给出的输入表中各个参数;至输入表各参数收集完毕后、得该恶意软件输入表如下:
01001000    77C746AD  advapi32.RegQueryValueExW
01001004    77C7469D  advapi32.RegCloseKey
01001008    77C71514  advapi32.RegCreateKeyW
0100100C    77C7448E  advapi32.IsTextUnicode
01001010    77C748EF  advapi32.RegQueryValueExA
01001014    77C74907  advapi32.RegOpenKeyExA
01001018    77C714D6  advapi32.RegSetValueExW
0100101C    7FFFFFFF
01001020    75C575E0  comctl32.CreateStatusWindowW
01001024    7FFFFFFF
01001028    77B800D7  gdi32.EndPage
0100102C    77B94C63  gdi32.AbortDoc
01001030    77B950AA  gdi32.EndDoc
01001034    77B66EAA  gdi32.DeleteDC
01001038    77B95195  gdi32.StartPage
0100103C    77B6B4B5  gdi32.GetTextExtentPoint32W
01001040    77B6CF79  gdi32.CreateDCW
01001044    77B80082  gdi32.SetAbortProe
01001048    77B6B73A  gdi32.GetTextFaceW
0100104C    77B6FDE4  gdi32.TextOutW
01001050    77B95BB0  gdi32.StartDocW
01001054    77B6FDA1  gdi32.EnumFontsW
01001058    77B65DDF  gdi32.GetStockObject
0100105C    77B67568  gdi32.GetObjectW
01001060    77B66F7F  gdi32.GetDeviceCaps
01001064    77B6ABFC  gdi32.CreateFontIndirectW
01001068    77B65F14  gdi32.DeleteObject
0100106C    77B67B8F  gdi32.GetTextMetricsW
01001070    77B669B1  gdi32.SetBkMode
01001074    77B68484  gdi32.LPtoDP
01001078    77B70BD3  gdi32.SetWindowExtEx
0100107C    77B73A6C  gdi32.SetViewportExtEx
01001080    77B6EFBF  gdi32.SetMapMode
01001084    77B66640  gdi32.SelectObject
01001088    7FFFFFFF
0100108C    77E2BB80  kernel32.GetCurrentThreadId
01001090    77E2BA60  kernel32.GetTickCount
01001094    77E2BB9F  kernel32.QueryPerformanceCounter
01001098    77E2A90E  kernel32.GetLocalTime
0100109C    77E36584  kernel32.GetUserDefaultLCID
010010A0    77E2AFAB  kernel32.GetDateFormatW
010010A4    77E2AC29  kernel32.GetTimeFormatW
010010A8    77E29E05  kernel32.GlobalLock
010010AC    77E29D50  kernel32.GlobalUnlock
010010B0    77E31268  kernel32.GetFileInformationByHandle
010010B4    77E20A7F  kernel32.CreateFileMappingW
010010B8    77E32FDE  kernel32.GetSystemTimeAsFileTime
010010BC    77E22331  kernel32.TerminateProcess
010010C0    77E2CDCF  kernel32.GetCurrentProcess
010010C4    77E33D01  kernel32.SetUnhandledExceptionFilter
010010C8    77E3395C  kernel32.LoadLibraryA
010010CC    77E2CF41  kernel32.GetModuleHandleA
010010D0    77DE1E10  kernel32.GetStartupInfoA
010010D4    77E29CF9  kernel32.GlobalFree
010010D8    77E36596  kernel32.GetLocaleInfoW
010010DC    77E2CA64  kernel32.LocalFree
010010E0    77E33363  kernel32.LocalAlloc
010010E4    77E2D9E8  kernel32.lstrlenW
010010E8    77E25C02  kernel32.LocalUnlock
010010EC    77E29BEE  kernel32.CompareStringW
010010F0    77E25BEA  kernel32.LocalLock
010010F4    77E4560D  kernel32.FoldStringW
010010F8    77E2CA7C  kernel32.CloseHandle
010010FC    77E18BFA  kernel32.lstrcpyW
01001100    77E296FB  kernel32.ReadFile
01001104    77E2CC56  kernel32.CreateFileW
01001108    77E2A8EB  kernel32.lstrcmpiW
0100110C    77E2CAC4  kernel32.GetCurrentProcessId
01001110    77E333D3  kernel32.GetProcAddress
01001114    77E3679E  kernel32.GetCommandLineW
01001118    77E44BE7  kernel32.lstrcatW
0100111C    77E30E62  kernel32.FindClose
01001120    77E353B2  kernel32.FindFirstFileW
01001124    77E364FF  kernel32.GetFileAttributesW
01001128    77E367B0  kernel32.lstrcmpW
0100112C    77E2B7A0  kernel32.MulDiv
01001130    77E46118  kernel32.lstrcpynW
01001134    77E20032  kernel32.LocalSize
01001138    77E2BF00  kernel32.GetLastError
0100113C    77E31400  kernel32.WriteFile
01001140    77E2BB08  JMP到ntdll.RtlSetLastWin32Error
01001144    77E3450E  kernel32.WideCharToMultiByte
01001148    77E27328  kernel32.LocalReAlloc
0100114C    77E254A3  kernel32.FormatMessageW
01001150    77E222EF  kernel32.GetUserDefaultUILanguage
01001154    77E22319  kernel32.SetEndOfFile
01001158    77E20F62  kernel32.DeleteFileW
0100115C    77E339AA  kernel32.GetACP
01001160    77E2DB13  kernel32.UnmapViewOfFile
01001164    77E3452B  kernel32.MultiByteToWideChar
01001168    77E2899B  kernel32.MapViewOfFile
0100116C    77E3ED38  kernel32.UnhandledExceptionFilter
01001170    7FFFFFFF
01001174    73A14E4A  shell32.DragFinish
01001178    73A1508E  shell32.DragQueryFileW
0100117C    73921BF1  shell32.DragAcceptFiles
01001180    738CA129  shell32.ShellAboutW
01001184    7FFFFFFF
01001188    77D254DD  user32.GetClientRect
0100118C    77D23075  user32.SetCursor
01001190    77D25421  user32.ReleaseDC
01001194    77D2544C  user32.GetDC
01001198    77D33B9B  user32.DialogBoxParamW
0100119C    77D2333A  user32.SetActiveWindow
010011A0    77D23800  user32.GetKeyboardLayout
010011A4    77D2507D  user32.DefWindowProcW
010011A8    77D1B2F4  user32.DestroyWindow
010011AC    77D42939  user32.MessageBeep
010011B0    77D1F2A9  user32.ShowWindow
010011B4    77D2335D  user32.GetForegroundWindow
010011B8    77D24C8E  user32.IsIconic
010011BC    77D469DE  user32.GetWindowPlacement
010011C0    77D2E981  user32.CharUpperW
010011C4    77D1DFBA  user32.LoadStringW
010011C8    77D1976D  user32.LoadAcceleratorsW
010011CC    77D1FD8B  user32.GetSystemMenu
010011D0    77D20162  user32.RegisterClassExW
010011D4    77D212EB  user32.LoadImageW
010011D8    77D1ED90  user32.LoadCursorW
010011DC    77D17F78  user32.SetWindowPlacement
010011E0    77D1EC7C  user32.CreateWindowExW
010011E4    77D201A9  user32.GetDesktopWindow
010011E8    77D23A34  user32.GetFocus
010011EC    77D1F142  user32.LoadIconW
010011F0    77D2612B  user32.SetWindowTextW
010011F4    77D1B308  user32.PostQuitMessage
010011F8    77D1DF8D  user32.RegisterWindowMessageW
010011FC    77D1FFA8  user32.UpdateWindow
01001200    77D404BE  user32.SetScrollPos
01001204    77D1BA8A  user32.CharLowerW
01001208    77D2634A  user32.PeekMessageW
0100120C    77D18D02  user32.EnableWindow
01001210    77D25894  user32.DrawTextExW
01001214    77D45630  user32.CreateDialogParamW
01001218    77D1B8C5  user32.GetWindowTextW
0100121C    77D267CF  user32.GetSystemMetrics
01001220    77D18D29  user32.MoveWindow
01001224    77D2566D  user32.InvalidateRect
01001228    77D34867  user32.WinHelpW
0100122C    77D1B4E8  user32.GetDlgCtrlID
01001230    77D5B6AA  user32.ChildWindowFromPoint
01001234    77D1A506  user32.ScreenToClient
01001238    77D1A4B3  user32.GetCursorPos
0100123C    77D370D8  user32.SendDlgItemMessageW
01001240    77D25539  user32.SendMessageW
01001244    77D20BE6  user32.CharNextW
01001248    77D3EE7C  user32.CheckMenuItem
0100124C    77D4446C  user32.CloseClipboard
01001250    77D444FF  user32.IsClipboardFormatAvailable
01001254    77D4447E  user32.OpenClipboard
01001258    77D467D2  user32.GetMenuState
0100125C    77D443BC  user32.EnableMenuItem
01001260    77D19C19  user32.GetSubMenu
01001264    77D46B68  user32.GetMenu
01001268    77D6EA5F  user32.MessageBoxW
0100126C    77D24449  user32.SetWindowLongW
01001270    77D261B8  user32.GetWindowLongW
01001274    77D442BB  user32.GetDlgItem
01001278    77D1ABAD  user32.SetFocus
0100127C    77D3EBD4  user32.SetDlgItemTextW
01001280    77D3426D  user32.wsprintfW
01001284    77D3ECBC  user32.GetDlgItemTextW
01001288    77D43BA3  user32.EndDialog
0100128C    77D26029  user32.GetParent
01001290    77D1B750  user32.UnhookWinEvent
01001294    77D2CC61  user32.DispatchMessageW
01001298    77D264C7  user32.TranslateMessage
0100129C    77D2667E  user32.TranslateAcceleratorW
010012A0    77D24104  user32.IsDialogMessageW
010012A4    77D2447B  user32.PostMessageW
010012A8    77D2CDE8  user32.GetMessageW
010012AC    77D224DC  user32.SetWinEventHook
010012B0    FFFFFFFF
010012B4    6D942458  winspool.GetPrinterDriverW
010012B8    6D94CAE7  winspool.ClosePrinter
010012BC    6D9368F0  winspool.OpenPrinterW
010012C0    7FFFFFFF
010012C4    6F062694  comdlg32.PageSetupDlgW
010012C8    6F08ACF0  comdlg32.FindTextW
010012CC    6F064B96  comdlg32.PrintDlgExW
010012D0    6F06FE6D  comdlg32.ChooseFontW
010012D4    6F05259D  comdlg32.GetFileTitleW
010012D8    6F08A2D5  comdlg32.GetOpenFileNameW
010012DC    6F08AD24  comdlg32.ReplaceTextW
010012E0    6F062158  comdlg32.CommDlgExtendedError
010012E4    6F08A36E  comdlg32.GetSaveFileNameW
010012E8    7FFFFFFF
010012EC    6FF7DC75  msvcrt._XcptFilter
010012F0    6FFBB2C0  msvcrt._exit
010012F4    6FFBB2DB  msvcrt._c_exit
010012F8    6FF5F708  msvcrt.time
010012FC    6FF67511  msvcrt.localtime
01001300    6FF637D4  msvcrt._cexit
01001304    6FF5AA8C  msvcrt.iswetype
01001308    6FF7D770  msvcrt._except_handler3
0100130C    6FF5C7C8  msvcrt._wtol
01001310    6FF5B05E  msvcrt.wcsncmp
01001314    6FF795D1  msvcrt._snwprintf
01001318    6FF636AA  msvcrt.exit
0100131C    6FFF04D8  OFFSET msvcrt._acmdln
01001320    6FF62BC0  msvcrt._getmainargs
01001324    6FF5C151  msvcrt._initterm
01001328    6FFE77AD  msvcrt._setusermatherr
0100132C    6FFF32EC  OFFSET msvcrt._adjust_fdiv
01001330    6FF627C3  msvcrt._p_commode
01001334    6FF627CE  msvcrt._p_fmode
01001338    6FF62804  msvcrt._set_app_type
0100133C    6FF5E1E1  msvcrt._controlfp
01001340    6FF6D3F3  msvcrt.wcsncpy
01001344    7FFFFFFF,
然后停止对待脱壳软件的运行调试,同时将所得输入表存储、备用;
步骤4.待脱壳软件的转储:将待脱壳软件sample2.exe从内存中(由步骤2录入)转储到系统硬盘中;
步骤5.脱壳后软件的获取:采用从本实施例步骤2得到的原始入口点参数和步骤3所得输入表中的参数,对经步骤4转储到硬盘上的待脱壳软件sample2.exe进行修复处理,获得脱壳后的软件;修复后即得可直接用于分析的(脱壳后)软件。

Claims (3)

1.一种基于综合处理的软件壳自动脱壳方法,包括:
步骤1.初始化处理:将各组带保护壳软件的壳特征参数中的原始入口点参数及与该原始入口点参数对应的全部断点位置参数、逐一按类录入壳特征数据库内、待用;
步骤2.获取加壳恶意软件的原始入口点参数和断点位置参数:将待脱壳的恶意软件输入内存系统后,与壳特征库中的各原始入口点参数进行逐一比对处理,以获得待脱壳的恶意软件的原始入口点参数,并记录该原始入口点参数及所对应的全部断点位置参数,分别存储、备用;
步骤3.获取输入表数据:在步骤2获得的各断点位置数据处,采用断点回调函数跟踪待脱壳软件的运行、调试,并随时记录回调函数给出的输入表各参数数据;当输入表参数收集完毕后、停止对待脱壳软件的运行、调试,同时存储备用;
步骤4.待脱壳软件的转储:将待脱壳软件从内存中转储到硬盘上;
步骤5.脱壳后软件的获取:使用从步骤2所得、备用的原始入口点参数和步骤3获取并存储备用的输入表各参数,对经步骤4转储到硬盘上的待脱壳的软件进行修复处理,修复后即得可直接用于分析的软件。
2.按权利要求1所述基于综合处理的软件壳自动脱壳方法,其特征在于所述各组原始入口点参数及与该原始入口点参数对应的全部断点位置参数包括:
一.原始入口点参数为:60 BE ?? ?? ?? ?? BF ?? ?? ?? ?? FC B2 80 33 DB A4 B3 02 E86D ?? ?? ?? 73 F6 33 C9 E8 64 ?? ?? ?? 73 1C 33 C0 E8 5B ?? ?? ?? 73 23 B3 02 41 B0 10 E84F ?? ?? ?? 12 C0 73 F7 75 3F AA EB D4 E8 4D ?? ?? ?? 2B CB 75 10 E8 42 ?? ?? ??EB 28 ACD1 E8 74 4D 13 C9 EB 1C 91 48 C1 E0 08 AC E8 2C ?? ?? ?? 3D ?? 7D ?? ?? 73 0A 80 FC 05 7306 83 F8 7F 77 02 41 41 95 8B C5 B3 01 56 8B F7 2B F0 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 F9 81 FE ?? ?? ?? ?? 7F 10 AC 47 04 18 2C 02 73 F0 29 3E 03 F1 03 F9 EB E8 BA ?? ?? 40 ??8D B2 ?? ?? ?? ?? 8B 46 0C 85 C0 74 51 03 C2 8B 7E 10 8B 1E 85 DB 75 02 8B DF 03 DA 03 FA52 57 50 FF 15 ?? ?? ?? ?? 5F 5A 85 C0 74 2F 8B C8 8B 03 85 C0 74 22 0F BA F0 1F 72 04 8D 4410 02 51 52 57 50 51 FF 15 ?? ?? ?? ?? 5F 5A 59 85 C0 74 0B 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 ?? ?? ?? ?? E8 81 07 ?? ??BE ?? 10 40 ?? B9 04 ?? ?? ?? 8B F9 81 FE ?? ?? ?? ?? 7F 10 AC 47 04 18 2C 02 73 F029 3E 03 F1 03 F9 EB E8 BA ?? ?? 40 ?? 8D B2 ?? ?? ?? ?? 8B 46 0C 85 C0 74 51 03 C28B 7E 10 8B 1E 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 C0 74 22 0F BA F0 1F 72 04 8D 44 10 02 51 52 57 50 51 FF 15 ?? ?? ?? ??5F 5A 59 85 C0 74 0B AB 83 C3 04 EB D8 83 C6 14 EB AA 61 C3 61 E9 ?? ?? ?? ?? 8B 0803 48 04 B8 ?? 03 ?? ?? D3 E0 05 36 07 ?? ?? C3 8B 10 3B 50 04 75 0C 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 C0 8943 10 33 C0 89 43 0C C7 43 08 FF FF FF FF BE 05 ?? ?? ?? 8B C3 E8 BC FF FF FF 25 FF ?? ?? ??8B 53 0C C1 E2 08 0B C2 89 43 0C 4E 75 E6 5E 5B C3 53 56 57 55 51 89 04 24 8B 1C 248B 5B 08 8B 34 24 8B 76 0C 33 ED 8B FA 85 FF 7E 2F D1 EB 03 ED 3B DE 77 05 2B F3 83CD 01 81 FB ?? ?? ?? 01 73 17 C1 E3 08 8B 04 24 E8 6A FF FF FF 25 FF ?? ?? ?? C1 E608 0B C6 8B F0 4F 75 D1 8B 04 24 89 58 08 8B 04 24 89 70 0C 8B C5 5A 5D 5F 5E 5B C353 56 57 55 8B F8 8B 5F 08 8B 77 0C 8B CB C1 E9 0B 8B 020F AF C8 3B CE 76 12 8B D9B9 ?? 08 ?? ?? 2B C8 C1 E9 05 01 0A 33 ED EB 0E 2B F1 2B D9 C1 E8 05 29 02 BD 01 ?? ?? ??81 FB ?? ?? ?? 01 73 16 8B C7 E8 FE FE FF FF 25 FF ?? ?? ?? C1 E6 08 0B C6 8B F0 C1E3 08 89 5F 08 89 77 0C 8B C5 5D 5F 5E 5B C3 53 56 57 55 51 89 0C 24 8B EA 8B F8 BB01 ?? ?? ?? 8B 34 24 85 F6 7E 14 8D 54 9D ?? 8B C7 E8 78 FF FF FF 03 DB 0B C3 8B D84E 75 EC 8B 0C 24 B8 01 ?? ?? ?? D3 E0 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 0B D88B CF D3 E0 0B E8 47 4E 75 E3 8B C5 83 C4 0C 5D 5F 5E 5B C3 53 56 57 8B FA 8B F0 BB01 ?? ?? ?? 8D 14 9F 8B C6 E8 F4 FE FF FF 03 DB 0B C3 8B D8 81 FB ?? 01 ?? ?? 7C E88B C3 5F 5E 5B C3 53 56 57 55 51 88 0C 24 8B FA 8B F0 BB 01 ?? ?? ?? 0F B6 2C 24 C1ED 07 83 E5 01 D0 24 24 8B C5 C1 E0 08 05 ?? 01 ?? ?? 03 C3 8D 14 87 8B C6 E8 AC FEFF FF 03 DB 0B D8 3B C5 74 22 81 FB ?? 01 ?? ?? 7D 22 8D 14 9F 8B C6 E8 92 FE FF FF03 DB 0B 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 C0 7517 C1 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 C0 75 1D C1 E5 03 81 C5 82 ?? ?? ?? 8D 14 AF 8B C3 B9 03 ?? ?? ??E8 81 FE FF FF 83 C0 08 EB 15 8D 97 08 04 ?? ?? 8B C3 B9 08 ?? ?? ?? E8 6A FE FF FF83 C0 10 5D 5F 5E 5B C3 8A 12 80 FA E1 72 03 33 C0 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 0B 80 EA 09 FF 40 04 80FA 09 73 F5 81 E2 FF ?? ?? ?? 89 10 B0 01 C3
及对应的断点位置参数:
断点1:525750FF15????????5F5A
断点2:5152575051FF15????????5F5A59
断点3:61C361E9;
三.原始入口点参数:83 7C 24 08 01 0F 85 28 01 ?? ?? 60 68 ?? ?? ?? ?? 68 ?? ?? ?? ??68 ?? ?? ?? ?? E8 ?? ?? ?? ?? BE ?? ?? ?? ?? B9 ?? ?? ?? ??8B F9 81 FE ?? ?? ?? ??7F 10 AC 47 04 ?? 2C ?? 73 F0 29 3E 03 F1 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 ?? ?? ?? 0F B7 04 33 8B F8 81 E7 ?? ?? ?? ?? 03 FD C1 E8 ?? 4874 0B 48 74 13 48 74 16 48 74 18 EB 32 52 C1 EA ?? 66 01 14 3B 5A EB 27 66 01 14 3BEB 21 01 14 3B EB 1C 83 C6 02 83 E9 02 8B 44 3B FE 66 8B 04 33 8D 84 15 ?? ?? ?? ??C1 E8 ?? 66 89 14 3B 83 C6 02 83 E9 02 75 A7 EB 8F BA ?? ?? ?? ?? 8D B2 ?? ?? ?? ??8B 46 0C 85 C0 74 51 03 C2 8B 7E ?? 8B 1E 85 DB 75 02 8B DF 03 DA 03 FA 52 57 50 FF15 ?? ?? ?? ?? 5F 5A 85 C0 74 2F 8B C8 8B 03 85 C0 74 22 0F BA F0 ?? 72 04 8D 44 10 ??51 52 57 50 51 FF 15 ?? ?? ?? ?? 5F 5A 59 85 C0 74 0B AB 83 C3 04 EB D8 83 C6 14 EBAA 61 C3 61 E9 ?? ?? ?? ?? 8B 08 03 48 04 B8 ?? 03 ?? ?? D3 E0 05 36 07 ?? ??C3 8B10 3B 50 04 75 0C 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 C0 89 43 10 33 C0 89 43 0C C7 43 08 FF FF FF FF BE05 ?? ?? ?? 8B C3 E8 BC FF FF FF 25 FF ?? ?? ??8B 53 0C C1 E2 08 0B C2 89 43 0C 4E75 E6 5E 5B C3
及对应的断点位置参数:
断点1:525750FF15????????5F5A
断点2:5152575051FF15????????5F5A59
断点3:61C361E9;
四.原始入口点参数:87 25 ?? ?? ?? ?? 61 94 55 A4 B6 80 FF 13 73 F9 33 C9 FF 13 73 16 33C0 FF 13 73 1F B6 80 41 B0 10 FF 13 12 C0 73 FA 75 3A AA EB E0 FF 53 08 02 F6 83 D9 01 750E FF 53 04 EB 24 AC D1 E8 74 2D 13 C9 EB 18 91 48 C1 E0 08 AC FF 53 04 3B 43 F8 73 0A80 FC 05 73 06 83 F8 7F 77 02 41 41 95 8B C5 B6 ?? 56 8B F7 2B F0 F3 A4 5E EB 9F 5E AD 97AD 50 FF 53 10 95 8B 07 40 78 F3 75 03 FF 63 0C 50 55 FF 53 14 AB EB EE 33 C9 41 FF 13 13C9 FF 13 72 F8 C3 02 D2 75 05 8A 16 46 12 D2 C3
及对应的断点位置参数:
断点1:AD50FF53??95
断点2:5055FF53??AB
断点3:75??FF630C;
五.原始入口点参数:4D 5A BE ?? ?? ?? ?? 8B DE AD AD 50 AD 97 B2 80 A4 B6 80 FF 1373 F9 33 C9 FF 13 73 16 33 C0 FF 13 73 21 B6 80 41 B0 10 FF 13 12 C0 73 FA 75 3E AA EB E0E8 76 6E ?? ?? 02 F6 83 D9 01 75 0E FF 53 FC EB 26 AC D1 E8 74 2F 13 C9 EB 1A 91 48 C1 E008 AC FF 53 FC 3D ?? ?? ?? ?? 73 0A 80 FC 05 73 06 83 F8 7F 77 02 41 41 95 8B C5 B6 ?? 56 8BF7 2B F0 F3 A4 5E EB 9B AD 85 C0 75 90 AD 96 AD 97 56 AC 3C ?? 75 FB FF 53 F0 95 56 AD0F C8 40 59 74 EC 79 07 AC 3C ?? 75 FB 91 40 50 55 FF 53 F4 AB 85 C0 75 E5 C3
及对应的断点位置参数:
断点1:56AC3C0075FBFF53F0
断点2:405055FF53F4AB85C0
断点3:AB85C075E5C3
断点4:5E59E2B1ADFFE09148;
六.原始入口点参数:4D 5A BE ?? ?? ?? ?? AC 91 AD 95 AD 92 AD 51 56 87 F2 97 FC B280 33 DB A4 B3 02 FF 55 04 73 F8 33 C9 FF 55 04 73 18 33 C0 FF 55 04 73 1F B3 02 41 B0 10FF 55 04 12 C0 73 F9 75 4F AA EB DC E8 5D ?? ?? ?? 2B CB 75 17 FF 55 08 EB 35 AC D1 E874 04 13 C9 EB 23 87 F2 5E 59 E2 B1 AD FF E0 91 48 C1 E0 08 AC FF 55 08 3D ?? ?? ?? ??730A 80 FC 05 73 06 83 F8 7F 77 02 41 41 55 87 FD AB 87 FD 5D 55 87 F5 AD 87 F5 5D B3 01 568B F7 2B F0 F3 A4 5E EB 86 02 D2 75 05 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 0D 0A 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 0D 0A 20 50 65 58 20 28 63 29 20 62 79 20 62 61 72 74 5E43 72 61 63 6B 50 6C 20 62 65 74 61 20 72 65 6C 65 61 73 65 20 20 20 20 20 20 20 20 20 20 2020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D0A 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 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 C4 0D 0A 60 E801 00 00 00 E8 83 C4 04 E8 01 00 00 00
及对应的断点位置参数:
断点1:5A5E0E56CB
断点2:50E801000000??83C404A1????????E8????????FFD085C0
断点3:83C40481E3FFFFFF7F53FFB5????????E801000000??83C404A1
断点4:6A??59F3A4C3
断点5:68????????EB01C7584050C3
断点6:68????????EB01C7584050C3;
八.原始入口点参数:80 7C 24 08 01 0F 85 ?? ?? ?? ??60 BE ?? ?? ?? ?? 8D BE ?? ?? ?? ??C7 87 ?? ?? ?? ?? 57 83 CD FF EB 00-7F EB 8B 1E 83 EE FC 11 DB 72 ED B8 01 00 00 00 01 DB75 07 8B 1E 83 EE FC 11 DB 11 C0 01 DB 73 ?? 75 ?9 8B 1E 83 EE FC 11 DB 73 E4 31 C9 83 E803 72 0D C1 E0 08 8A 06 46 83 F0 FF 74 74 89 C5 01 DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 01DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 75 20 41 01 DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 01DB 73 EF 75 09 8B 1E 83 EE FC 11 DB 73 E4 83 C1 02 81 FD 00 F3 FF FF 83 D1 01 8D 14 2F83 FD FC 76 0F 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 F1 01 CF E9 01
及对应的断点位置参数:
断点1:5083C708FF96
断点2:5047??5748F2AE
断点3:5748F2AE55FF96
断点4:89F95748F2AE52FF
断点5:83EC80E9
断点6:61E9;
九.原始入口点参数:80 7C 24 08 01 0F 85 ?? ?? ?? ??60 BE ?? ?? ?? ?? 8D BE ?? ?? ?? ??C7 87 ?? ?? ?? ?? 57 83 CD FF EB 00-7F EB 8B 1E 83 EE FC 11 DB 72 ED B8 01 00 00 00 01 DB75 07 8B 1E 83 EE FC 11 DB 11 C0 01 DB 73 ?? 75 ?9 8B 1E 83 EE FC 11 DB 72 10 48 01 DB 7507 8B 1E 83 EE FC 11 DB 11 C0 EB D4 31 C9 83 E8 03 72 11 C1 E0 08 8A 06 46 83 F0 FF 74 78D1 F8 89 C5 EB 0B 01 DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 01 DB 75 07 8B 1E 83 EE FC 11DB 11 C9 75 20 41 01 DB 75 07 8B 1E 83 EE FC 11 DB 11 C9 01 DB 73 EF 75 09 8B 1E 83 EEFC 11 DB 73 E4 83 C1 02 81 FD 00 FB FF FF 83 D1 01 8D 14 2F 83 FD FC 76 0F 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 0F 85 ?? ?? ?? ?? 60 BE ?? ?? ?? ?? 8D BE ?? ?? ?? ??C7 87 ?? ?? ?? ?? ?? ?? ?? ?? 57 83 CD FF EB 00-7F EB 8B 1E 83 EE FC 11 DB 72 ED B8 01 0000 00 01 DB 75 07 8B 1E 83 EE FC 11 DB 11 C0 01 DB 73 ??75 ?9 8B 1E 83 EE FC 11 DB
及对应的断点位置参数:
断点1:5083C708FF96
断点2:5047??5748F2AE
断点3:5748F2AE55FF96
断点4:89F95748F2AE52FF
断点5:83EC80E9
断点6:61E9。
3.按权利要求1所述基于综合处理的软件壳自动脱壳方法,其特征在于所述采用断点回调函数为采用拦截窗口函数、拦截对话框函数、拦截注册表函数、拦截驱动函数以及可返回调用断点位置函数地址的函数中的一种或几种函数作为断点回调函数。
CN2011101325878A 2011-05-21 2011-05-21 基于综合处理的软件壳自动脱壳方法 Expired - Fee Related CN102184363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011101325878A CN102184363B (zh) 2011-05-21 2011-05-21 基于综合处理的软件壳自动脱壳方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101325878A CN102184363B (zh) 2011-05-21 2011-05-21 基于综合处理的软件壳自动脱壳方法

Publications (2)

Publication Number Publication Date
CN102184363A true CN102184363A (zh) 2011-09-14
CN102184363B CN102184363B (zh) 2013-09-25

Family

ID=44570538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101325878A Expired - Fee Related CN102184363B (zh) 2011-05-21 2011-05-21 基于综合处理的软件壳自动脱壳方法

Country Status (1)

Country Link
CN (1) CN102184363B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019828A (zh) * 2012-12-28 2013-04-03 北京神州绿盟信息安全科技股份有限公司 一种基于加壳程序的辅助脱壳方法及装置
CN103019739A (zh) * 2012-12-28 2013-04-03 北京神州绿盟信息安全科技股份有限公司 重定位表的修复方法、程序脱壳方法及相关装置
CN103177222A (zh) * 2011-12-23 2013-06-26 腾讯科技(深圳)有限公司 一种文件加壳、脱壳的处理方法及其设备
CN105487981A (zh) * 2015-12-09 2016-04-13 珠海金山网络游戏科技有限公司 一种加壳软件转存文件的转换方法、装置和系统
CN106022130A (zh) * 2016-05-20 2016-10-12 中国科学院信息工程研究所 加固应用程序的脱壳方法及装置
CN107784204A (zh) * 2016-08-31 2018-03-09 百度在线网络技术(北京)有限公司 应用脱壳方法和装置
CN108073814A (zh) * 2017-12-29 2018-05-25 哈尔滨安天科技股份有限公司 基于静态结构化脱壳参数的脱壳方法、系统及存储介质
CN108090353A (zh) * 2017-11-03 2018-05-29 哈尔滨安天科技股份有限公司 一种基于知识驱动的加壳代码回归检测方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001033440A1 (en) * 1999-10-29 2001-05-10 Vast Systems Technology Corporation Hardware and software co-simulation including executing an analyzed user program
CN101154259A (zh) * 2007-08-27 2008-04-02 电子科技大学 通用自动化脱壳引擎与方法
CN101393521A (zh) * 2008-11-13 2009-03-25 上海交通大学 Windows应用程序内部固化数据的提取系统
CN101414328A (zh) * 2007-10-15 2009-04-22 北京瑞星国际软件有限公司 一种用于对文件进行脱壳的装置和方法
CN101964040A (zh) * 2010-09-10 2011-02-02 西安理工大学 一种基于PE Loader的软件加壳保护方法
CN102004884A (zh) * 2009-08-28 2011-04-06 华为技术有限公司 一种获取可执行文件输入表的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001033440A1 (en) * 1999-10-29 2001-05-10 Vast Systems Technology Corporation Hardware and software co-simulation including executing an analyzed user program
CN101154259A (zh) * 2007-08-27 2008-04-02 电子科技大学 通用自动化脱壳引擎与方法
CN101414328A (zh) * 2007-10-15 2009-04-22 北京瑞星国际软件有限公司 一种用于对文件进行脱壳的装置和方法
CN101393521A (zh) * 2008-11-13 2009-03-25 上海交通大学 Windows应用程序内部固化数据的提取系统
CN102004884A (zh) * 2009-08-28 2011-04-06 华为技术有限公司 一种获取可执行文件输入表的方法及装置
CN101964040A (zh) * 2010-09-10 2011-02-02 西安理工大学 一种基于PE Loader的软件加壳保护方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103177222A (zh) * 2011-12-23 2013-06-26 腾讯科技(深圳)有限公司 一种文件加壳、脱壳的处理方法及其设备
WO2013091452A1 (zh) * 2011-12-23 2013-06-27 腾讯科技(深圳)有限公司 一种文件加壳、脱壳的处理方法及其设备
US9100170B2 (en) 2011-12-23 2015-08-04 Tencent Technology (Shenzhen) Company Limited File packing and unpacking method, and device thereof
CN103177222B (zh) * 2011-12-23 2015-08-12 腾讯科技(深圳)有限公司 一种文件加壳、脱壳的处理方法及其设备
CN103019828A (zh) * 2012-12-28 2013-04-03 北京神州绿盟信息安全科技股份有限公司 一种基于加壳程序的辅助脱壳方法及装置
CN103019739A (zh) * 2012-12-28 2013-04-03 北京神州绿盟信息安全科技股份有限公司 重定位表的修复方法、程序脱壳方法及相关装置
CN103019828B (zh) * 2012-12-28 2015-06-17 北京神州绿盟信息安全科技股份有限公司 一种基于加壳程序的辅助脱壳方法及装置
CN103019739B (zh) * 2012-12-28 2015-07-29 北京神州绿盟信息安全科技股份有限公司 重定位表的修复方法、程序脱壳方法及相关装置
CN105487981A (zh) * 2015-12-09 2016-04-13 珠海金山网络游戏科技有限公司 一种加壳软件转存文件的转换方法、装置和系统
CN105487981B (zh) * 2015-12-09 2018-02-13 珠海金山网络游戏科技有限公司 一种加壳软件转存文件的转换方法、装置和系统
CN106022130A (zh) * 2016-05-20 2016-10-12 中国科学院信息工程研究所 加固应用程序的脱壳方法及装置
CN106022130B (zh) * 2016-05-20 2019-03-22 中国科学院信息工程研究所 加固应用程序的脱壳方法及装置
CN107784204A (zh) * 2016-08-31 2018-03-09 百度在线网络技术(北京)有限公司 应用脱壳方法和装置
CN107784204B (zh) * 2016-08-31 2021-10-22 百度在线网络技术(北京)有限公司 应用脱壳方法和装置
CN108090353A (zh) * 2017-11-03 2018-05-29 哈尔滨安天科技股份有限公司 一种基于知识驱动的加壳代码回归检测方法及系统
CN108073814A (zh) * 2017-12-29 2018-05-25 哈尔滨安天科技股份有限公司 基于静态结构化脱壳参数的脱壳方法、系统及存储介质
CN108073814B (zh) * 2017-12-29 2021-10-15 安天科技集团股份有限公司 基于静态结构化脱壳参数的脱壳方法、系统及存储介质

Also Published As

Publication number Publication date
CN102184363B (zh) 2013-09-25

Similar Documents

Publication Publication Date Title
CN102184363B (zh) 基于综合处理的软件壳自动脱壳方法
CN103646209B (zh) 基于云安全拦截捆绑软件的方法和装置
CN102222184B (zh) 一种进行移动终端病毒杀毒的方法及系统
CN105488397B (zh) 一种基于情境的rop攻击检测系统及方法
CN102184103B (zh) 软件保护壳的壳特征提取方法
CN101506815A (zh) 用于安全系统的双处理器结构
CN103106372A (zh) 用于Android系统的轻量级隐私数据加密方法及系统
CN104036200B (zh) 基于指纹标记的数据分类及加密方法、系统及移动终端
CN104598831B (zh) 一种数据安全的保护方法及终端
RU2009116231A (ru) Архитектура виртуального модуля безопасности
CN103294950A (zh) 一种基于反向追踪的高威窃密恶意代码检测方法及系统
CN106991324A (zh) 一种基于内存保护类型监控的恶意代码跟踪识别方法
CN101667232A (zh) 基于可信计算的终端可信保障系统与方法
CN110351255B (zh) 一种网络靶场系统中的数据采集方法及数据采集系统
CN102508792A (zh) 一种实现硬盘数据安全访问的方法
CN106713618A (zh) 一种验证码的处理方法及移动终端
CN102207914A (zh) 装载应用程序的硬件加密tf卡
Greengard The worsening state of ransomware
CN108287779A (zh) 一种Windows启动项监控方法及系统
CN102222292A (zh) 一种手机支付保护方法
WO2005110565A3 (en) Protecting a gaming machine from rogue code
CN102708632B (zh) 一种pos机中敏感数据的保护方法及保护装置
CN111177773A (zh) 一种基于网卡rom的全盘加解密方法及系统
CN107509180B (zh) 一种自动加密短信的方法、存储设备及移动终端
CN104809409A (zh) 一种保护个人隐私的征信数据分散采集方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130925

Termination date: 20160521