这个程序使用od加载正常,下了任何断点 都断不住,都会断到90 db处,使用工具读取数据目录表,读取到的各段都没有起始地址和大小,最后通过peid查看 里边包括vmp0 vmp1段,经过问度娘,知道是使用vmp加壳,不知这种壳如何下手脱壳或破解?或有其它什么方法?

0040003C    00010000    DD 00000100          ; Offset to PE signature

00400100    50 45 00 00>ASCII "PE"           ; PE signature (PE)
00400104    4C01        DW 014C              ; Machine = IMAGE_FILE_MACHINE_I386
00400106    0C00        DW 000C              ;  NumberOfSections = C (12.)
00400108    87648454    DD 54846487          ;  TimeDateStamp = 0x54846487
0040010C    00000000    DD 00000000          ;  PointerToSymbolTable = 0x0
00400110    00000000    DD 00000000          ;  NumberOfSymbols = 0x0
00400114    E000        DW 00E0              ;  SizeOfOptionalHeader = E0 (224.)
00400116    8E81        DW 818E              ;  Characteristics = EXECUTABLE_IMAGE|32BIT_MACHINE|LINE_NUMS_STRIPPED|LOCAL_SYMS_STRIPPED|BYTES_REVERSED_LO|BYTES_REVERSED_HI
00400118    0B01        DW 010B              ; MagicNumber = PE32
0040011A    02          DB 02                ;  MajorLinkerVersion = 0x2
0040011B    19          DB 19                ;  MinorLinkerVersion = 19 (25.)
0040011C    00384C00    DD 004C3800          ;  SizeOfCode = 4C3800 (4995072.)
00400120    000CD300    DD 00D30C00          ;  SizeOfInitializedData = D30C00 (13831168.)
00400124    00000000    DD 00000000          ;  SizeOfUninitializedData = 0x0
00400128    615DFB01    DD 01FB5D61          ;  AddressOfEntryPoint = 0x1FB5D61
0040012C    00100000    DD 00001000          ;  BaseOfCode = 0x1000
00400130    00504C00    DD 004C5000          ;  BaseOfData = 0x4C5000
00400134    00004000    DD 00400000          ; ImageBase = 0x400000
00400138    00100000    DD 00001000          ;  SectionAlignment = 0x1000
0040013C    00020000    DD 00000200          ;  FileAlignment = 0x200
00400140    0500        DW 0005              ;  MajorOSVersion = 0x5
00400142    0000        DW 0000              ;  MinorOSVersion = 0x0
00400144    0000        DW 0000              ;  MajorImageVersion = 0x0
00400146    0000        DW 0000              ;  MinorImageVersion = 0x0
00400148    0500        DW 0005              ;  MajorSubsystemVersion = 0x5
0040014A    0000        DW 0000              ;  MinorSubsystemVersion = 0x0
0040014C    00000000    DD 00000000          ;  Reserved
00400150    EF85AB03    DD 03AB85EF          ;  SizeOfImage = 3AB85EF (61572591.)
00400154    00040000    DD 00000400          ;  SizeOfHeaders = 400 (1024.)
00400158    00000000    DD 00000000          ;  CheckSum = 0x0
0040015C    0200        DW 0002              ;  Subsystem = IMAGE_SUBSYSTEM_WINDOWS_GUI
0040015E    0000        DW 0000              ;  DLLCharacteristics = 0x0
00400160    00001000    DD 00100000          ;  SizeOfStackReserve = 100000 (1048576.)
00400164    00400000    DD 00004000          ;  SizeOfStackCommit = 4000 (16384.)
00400168    00001000    DD 00100000          ;  SizeOfHeapReserve = 100000 (1048576.)
0040016C    00100000    DD 00001000          ;  SizeOfHeapCommit = 1000 (4096.)
00400170    00000000    DD 00000000          ;  LoaderFlags = 0x0
00400174    10000000    DD 00000010          ;  NumberOfRvaAndSizes = 10 (16.)
00400178    00000000    DD 00000000          ;  Export Table address = 0x0
0040017C    00000000    DD 00000000          ;  Export Table size = 0x0
00400180    8C8BAA03    DD 03AA8B8C          ;  Import Table address = 0x3AA8B8C
00400184    68010000    DD 00000168          ;  Import Table size = 168 (360.)
00400188    0070AB03    DD 03AB7000          ;  Resource Table address = 0x3AB7000
0040018C    EF150000    DD 000015EF          ;  Resource Table size = 15EF (5615.)
00400190    00000000    DD 00000000          ;  Exception Table address = 0x0
00400194    00000000    DD 00000000          ;  Exception Table size = 0x0
00400198    00000000    DD 00000000          ;  Certificate File pointer = 0x0
0040019C    00000000    DD 00000000          ;  Certificate Table size = 0x0
004001A0    0060AB03    DD 03AB6000          ;  Relocation Table address = 0x3AB6000
004001A4    A8000000    DD 000000A8          ;  Relocation Table size = A8 (168.)
004001A8    00000000    DD 00000000          ;  Debug Data address = 0x0
004001AC    00000000    DD 00000000          ;  Debug Data size = 0x0
004001B0    00000000    DD 00000000          ;  Architecture Data address = 0x0
004001B4    00000000    DD 00000000          ;  Architecture Data size = 0x0
004001B8    00000000    DD 00000000          ;  Global Ptr address = 0x0
004001BC    00000000    DD 00000000          ;  Must be 0
004001C0    2037E101    DD 01E13720          ;  TLS Table address = 0x1E13720
004001C4    1C000000    DD 0000001C          ;  TLS Table size = 1C (28.)
004001C8    00000000    DD 00000000          ;  Load Config Table address = 0x0
004001CC    00000000    DD 00000000          ;  Load Config Table size = 0x0
004001D0    00000000    DD 00000000          ;  Bound Import Table address = 0x0
004001D4    00000000    DD 00000000          ;  Bound Import Table size = 0x0
004001D8    0090E101    DD 01E19000          ;  Import Address Table address = 0x1E19000
004001DC    A8000000    DD 000000A8          ;  Import Address Table size = A8 (168.)
004001E0    00604F00    DD 004F6000          ;  Delay Import Descriptor address = 0x4F6000
004001E4    801B0000    DD 00001B80          ;  Delay Import Descriptor size = 1B80 (7040.)
004001E8    00000000    DD 00000000          ;  COM+ Runtime Header address = 0x0
004001EC    00000000    DD 00000000          ;  Import Address Table size = 0x0
004001F0    00000000    DD 00000000          ;  Reserved
004001F4    00000000    DD 00000000          ;  Reserved
004001F8    2E 74 65 78>ASCII ".text"        ; SECTION
00400200    5CFD4B00    DD 004BFD5C          ;  VirtualSize = 4BFD5C (4980060.)
00400204    00100000    DD 00001000          ;  VirtualAddress = 0x1000
00400208    00000000    DD 00000000          ;  SizeOfRawData = 0x0
0040020C    00000000    DD 00000000          ;  PointerToRawData = 0x0
00400210    00000000    DD 00000000          ;  PointerToRelocations = 0x0
00400214    00000000    DD 00000000          ;  PointerToLineNumbers = 0x0
00400218    0000        DW 0000              ;  NumberOfRelocations = 0x0
0040021A    0000        DW 0000              ;  NumberOfLineNumbers = 0x0
0040021C    20000060    DD 60000020          ;  Characteristics = CODE|EXECUTE|READ
00400220    2E 69 74 65>ASCII ".itext"       ; SECTION
00400228    1C380000    DD 0000381C          ;  VirtualSize = 381C (14364.)
0040022C    00104C00    DD 004C1000          ;  VirtualAddress = 0x4C1000
00400230    00000000    DD 00000000          ;  SizeOfRawData = 0x0
00400234    00000000    DD 00000000          ;  PointerToRawData = 0x0
00400238    00000000    DD 00000000          ;  PointerToRelocations = 0x0
0040023C    00000000    DD 00000000          ;  PointerToLineNumbers = 0x0
00400240    0000        DW 0000              ;  NumberOfRelocations = 0x0
00400242    0000        DW 0000              ;  NumberOfLineNumbers = 0x0
00400244    20000060    DD 60000020          ;  Characteristics = CODE|EXECUTE|READ
00400248    2E 64 61 74>ASCII ".data"        ; SECTION
00400250    48110100    DD 00011148          ;  VirtualSize = 11148 (69960.)
00400254    00504C00    DD 004C5000          ;  VirtualAddress = 0x4C5000
00400258    00000000    DD 00000000          ;  SizeOfRawData = 0x0
0040025C    00000000    DD 00000000          ;  PointerToRawData = 0x0
00400260    00000000    DD 00000000          ;  PointerToRelocations = 0x0
00400264    00000000    DD 00000000          ;  PointerToLineNumbers = 0x0
00400268    0000        DW 0000              ;  NumberOfRelocations = 0x0
0040026A    0000        DW 0000              ;  NumberOfLineNumbers = 0x0
0040026C    400000C0    DD C0000040          ;  Characteristics = INITIALIZED_DATA|READ|WRITE
00400270    2E 62 73 73>ASCII ".bss"         ; SECTION
00400278    74AD0100    DD 0001AD74          ;  VirtualSize = 1AD74 (109940.)
0040027C    00704D00    DD 004D7000          ;  VirtualAddress = 0x4D7000
00400280    00000000    DD 00000000          ;  SizeOfRawData = 0x0
00400284    00000000    DD 00000000          ;  PointerToRawData = 0x0
00400288    00000000    DD 00000000          ;  PointerToRelocations = 0x0
0040028C    00000000    DD 00000000          ;  PointerToLineNumbers = 0x0
00400290    0000        DW 0000              ;  NumberOfRelocations = 0x0
00400292    0000        DW 0000              ;  NumberOfLineNumbers = 0x0
00400294    000000C0    DD C0000000          ;  Characteristics = READ|WRITE
00400298    2E 69 64 61>ASCII ".idata"       ; SECTION
004002A0    383D0000    DD 00003D38          ;  VirtualSize = 3D38 (15672.)
004002A4    00204F00    DD 004F2000          ;  VirtualAddress = 0x4F2000
004002A8    00000000    DD 00000000          ;  SizeOfRawData = 0x0
004002AC    00000000    DD 00000000          ;  PointerToRawData = 0x0
004002B0    00000000    DD 00000000          ;  PointerToRelocations = 0x0
004002B4    00000000    DD 00000000          ;  PointerToLineNumbers = 0x0
004002B8    0000        DW 0000              ;  NumberOfRelocations = 0x0
004002BA    0000        DW 0000              ;  NumberOfLineNumbers = 0x0
004002BC    400000C0    DD C0000040          ;  Characteristics = INITIALIZED_DATA|READ|WRITE
004002C0    2E 64 69 64>ASCII ".didata"      ; SECTION
004002C8    801B0000    DD 00001B80          ;  VirtualSize = 1B80 (7040.)
004002CC    00604F00    DD 004F6000          ;  VirtualAddress = 0x4F6000
004002D0    00000000    DD 00000000          ;  SizeOfRawData = 0x0
004002D4    00000000    DD 00000000          ;  PointerToRawData = 0x0
004002D8    00000000    DD 00000000          ;  PointerToRelocations = 0x0
004002DC    00000000    DD 00000000          ;  PointerToLineNumbers = 0x0
004002E0    0000        DW 0000              ;  NumberOfRelocations = 0x0
004002E2    0000        DW 0000              ;  NumberOfLineNumbers = 0x0
004002E4    400000C0    DD C0000040          ;  Characteristics = INITIALIZED_DATA|READ|WRITE
004002E8    2E 74 6C 73>ASCII ".tls"         ; SECTION
004002F0    40000000    DD 00000040          ;  VirtualSize = 40 (64.)
004002F4    00804F00    DD 004F8000          ;  VirtualAddress = 0x4F8000
004002F8    00000000    DD 00000000          ;  SizeOfRawData = 0x0
004002FC    00000000    DD 00000000          ;  PointerToRawData = 0x0
00400300    00000000    DD 00000000          ;  PointerToRelocations = 0x0
00400304    00000000    DD 00000000          ;  PointerToLineNumbers = 0x0
00400308    0000        DW 0000              ;  NumberOfRelocations = 0x0
0040030A    0000        DW 0000              ;  NumberOfLineNumbers = 0x0
0040030C    000000C0    DD C0000000          ;  Characteristics = READ|WRITE
00400310    2E 72 64 61>ASCII ".rdata"       ; SECTION
00400318    18000000    DD 00000018          ;  VirtualSize = 18 (24.)
0040031C    00904F00    DD 004F9000          ;  VirtualAddress = 0x4F9000
00400320    00000000    DD 00000000          ;  SizeOfRawData = 0x0
00400324    00000000    DD 00000000          ;  PointerToRawData = 0x0
00400328    00000000    DD 00000000          ;  PointerToRelocations = 0x0
0040032C    00000000    DD 00000000          ;  PointerToLineNumbers = 0x0
00400330    0000        DW 0000              ;  NumberOfRelocations = 0x0
00400332    0000        DW 0000              ;  NumberOfLineNumbers = 0x0
00400334    40000040    DD 40000040          ;  Characteristics = INITIALIZED_DATA|READ
00400338    2E 76 6D 70>ASCII ".vmp0"        ; SECTION
00400340    B0839101    DD 019183B0          ;  VirtualSize = 19183B0 (26313648.)
00400344    00A04F00    DD 004FA000          ;  VirtualAddress = 0x4FA000
00400348    00000000    DD 00000000          ;  SizeOfRawData = 0x0
0040034C    00000000    DD 00000000          ;  PointerToRawData = 0x0
00400350    00000000    DD 00000000          ;  PointerToRelocations = 0x0
00400354    00000000    DD 00000000          ;  PointerToLineNumbers = 0x0
00400358    0000        DW 0000              ;  NumberOfRelocations = 0x0
0040035A    0000        DW 0000              ;  NumberOfLineNumbers = 0x0
0040035C    600000E0    DD E0000060          ;  Characteristics = CODE|INITIALIZED_DATA|EXECUTE|READ|WRITE
00400360    2E 76 6D 70>ASCII ".vmp1"        ; SECTION
00400368    F122CA01    DD 01CA22F1          ;  VirtualSize = 1CA22F1 (30024433.)
0040036C    0030E101    DD 01E13000          ;  VirtualAddress = 0x1E13000
00400370    0024CA01    DD 01CA2400          ;  SizeOfRawData = 1CA2400 (30024704.)
00400374    00040000    DD 00000400          ;  PointerToRawData = 0x400
00400378    00000000    DD 00000000          ;  PointerToRelocations = 0x0
0040037C    00000000    DD 00000000          ;  PointerToLineNumbers = 0x0
00400380    0000        DW 0000              ;  NumberOfRelocations = 0x0
00400382    0000        DW 0000              ;  NumberOfLineNumbers = 0x0
00400384    600000E0    DD E0000060          ;  Characteristics = CODE|INITIALIZED_DATA|EXECUTE|READ|WRITE
00400388    2E 72 65 6C>ASCII ".reloc"       ; SECTION
00400390    A8000000    DD 000000A8          ;  VirtualSize = A8 (168.)
00400394    0060AB03    DD 03AB6000          ;  VirtualAddress = 0x3AB6000
00400398    00020000    DD 00000200          ;  SizeOfRawData = 200 (512.)
0040039C    0028CA01    DD 01CA2800          ;  PointerToRawData = 0x1CA2800
004003A0    00000000    DD 00000000          ;  PointerToRelocations = 0x0
004003A4    00000000    DD 00000000          ;  PointerToLineNumbers = 0x0
004003A8    0000        DW 0000              ;  NumberOfRelocations = 0x0
004003AA    0000        DW 0000              ;  NumberOfLineNumbers = 0x0
004003AC    40000040    DD 40000040          ;  Characteristics = INITIALIZED_DATA|READ
004003B0    2E 72 73 72>ASCII ".rsrc"        ; SECTION
004003B8    EF150000    DD 000015EF          ;  VirtualSize = 15EF (5615.)
004003BC    0070AB03    DD 03AB7000          ;  VirtualAddress = 0x3AB7000
004003C0    00160000    DD 00001600          ;  SizeOfRawData = 1600 (5632.)
004003C4    002ACA01    DD 01CA2A00          ;  PointerToRawData = 0x1CA2A00
004003C8    00000000    DD 00000000          ;  PointerToRelocations = 0x0
004003CC    00000000    DD 00000000          ;  PointerToLineNumbers = 0x0
004003D0    0000        DW 0000              ;  NumberOfRelocations = 0x0
004003D2    0000        DW 0000              ;  NumberOfLineNumbers = 0x0
004003D4    40000040    DD 40000040          ;  Characteristics = INITIALIZED_DATA|READ
004003D8    00          DB 00
004003D9    00          DB 00

大家看看这个vmp壳如何下手脱壳?相关推荐

  1. 【胖虎的逆向之路】04——脱壳(一代壳)原理脱壳相关概念详解

    [胖虎的逆向之路]04--脱壳(一代壳)原理&脱壳相关概念详解 [胖虎的逆向之路]01--动态加载和类加载机制详解 [胖虎的逆向之路]02--Android整体加壳原理详解&实现 [胖 ...

  2. 病毒加壳技术与脱壳杀毒方法解析

    壳是什么?脱壳又是什么?这是很多经常感到迷惑和经常提出的问题,其实这个问题一点也不幼稚.当你想听说脱壳这个名词并试着去了解的时候,说明你已经在各个安全站点很有了一段日子了.下面,我们进入"壳 ...

  3. 某vmp壳原理分析笔记----ELF文件的加载,链接,IDAPYTHON

    某vmp壳原理分析笔记 分析的样本为某数字公司最新免费壳子.之前的壳子已经被很多大佬分析了,这篇笔记的主要目的是比较详细的分析下该vmp壳子的原理,数字壳子主要分为反调试,linker,虚拟机三部分. ...

  4. 加密壳的一般脱壳步骤与实例演示

    今天主要是深入的了解汇编语言,要想反编译没这个可是不行的啊.当然,这也不是一天两天可以成功的,继续努力. 一.如何分辨加密壳: 壳分为加密壳和压缩壳,压缩壳目的是减少软件的体积便于在网上传播, 而加密 ...

  5. 逆向VMP壳的基本思路

    逆向VMP壳的基本思路 发现需求 故事最早发生在2020年的8月份,我参加数学建模大赛,为了赛前准备购买了全套数学课,2021年5月份的时候我准备换台笔记本玩,在整理文件的时候看到了当时买的这个正版软 ...

  6. DLL巧妙的绕过被VMP壳HOOK的ZwProtectVirtualMemory

    被VMP HOOK的ZwProtectVirtualMemory介绍 ZwProtectVirtualMemory,是一个修改内存输入的API函数,VirtualProtect和VirtualProt ...

  7. 【Android 安全】深思数盾 Virbox 加固应用 ( 购买加固服务 | 下载加固软件 | 启动加固软件 | 函数 VMP 壳设置 | 加密选项 | 资源加密 | SO 保护 )

    文章目录 一.购买加固服务 二.下载加固软件 三.启动加固软件 四.函数 VMP 壳设置 五.加密选项 六.资源加密 七.SO 保护 八.开始加固 一.购买加固服务 深思数盾官网地址 : https: ...

  8. X86逆向4:VMP壳内寻找注册码

    本节课将讲解一下重启验证,重启验证在软件中也是非常的常见的,重启验证的原理很简单,用户在注册界面输入注册码以后程序会自动将输入的注册信息保存到配置文件中,这里可能保存到注册表,也可能使用INI文件来保 ...

  9. 总结Themida / Winlicense加壳软件的脱壳方法

    总结下Themida / Winlicense (TM /  WL) 的脱壳方法. 1, 查看壳版本,这个方法手动也可以,因为这个壳的版本号是写在程序里面的,在解压后下断点即可查看,这里有通用的脚本, ...

最新文章

  1. ASP.NET Ajax – History Support 續
  2. python爬取网页有乱码怎么解决_python - 爬虫获取网站数据,出现乱码怎么解决。...
  3. Fast_Human_Pose_Estimation_Pytorch
  4. linux安装web服务器httpd,Linux_linux构建动态WEB服务器安装篇,基本配置 安装web服务器:httpd-2. - phpStudy...
  5. 44 岁的微软下一步是什么?
  6. python房价数据挖掘_Python数据分析及可视化实例之帝都房价预测
  7. ArcGIS10.2不能打开10.6版本创建的镶嵌数据集
  8. mac 安装android sdk
  9. oracle数据泵功能,Oracle数据泵的使用(1)-Oracle
  10. Elastic search相关
  11. flutter怎么手动刷新_Flutter 怎样更新?怎样升级? - Flutter - Angular 教程网
  12. Python调用Matlab教程
  13. 内外网双网卡同时上网
  14. 阿里巴巴-菜鸟网络和申通快递面试
  15. eth0 eth0:1 eth0.1 的区别
  16. 青龙面板除了JD的另外玩法 跑跑 能赚Q和省Q的“果冻宝盒”
  17. JS导入Excel实战
  18. 极限编程-拥抱变化阅读感想(二)
  19. SV学习(1)——数据类型
  20. 基于easyTrader部署自动化交易(一)

热门文章

  1. mui增加自定义icon图标
  2. 情人节程序员用HTML网页表白【粉红爱心表白】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  3. Struts2 漏洞信息汇总
  4. Mac简历模板工具:Resume CV Lab Templates for Mac
  5. 01 html和css (前端基础第一天)
  6. 把读过的书记录下来。很多年以后再看看这个书单,应该很有趣~
  7. SaaS:光环难掩四大隐患 先驱者或成捐躯者
  8. 如何使用appletviewer
  9. 如何看待软件开发 ?
  10. xubuntu20.04+virtualbox6+direct3d安装吃屎记