首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Android 逆向】壳技术识别 ( VMP 壳示例 | Dex2C 壳示例 )

文章目录 一、壳技术识别 二、VMP 壳示例 三、Dex2C 壳示例 一、壳技术识别 ---- 壳技术识别的必要性 : 拿到 APK 文件后 , 如果想要分析其 DEX 文件 , 需要先 识别出该...APK 是使用的什么技术进行的壳 , 如果该 APK 只是使用了整体保护 , 只需要将内存中的 DEX 文件 DUMP 下来即可 ; 如果该 APK 使用了 VMP 壳 , 则需要逆向分析解释器...; 只有识别壳的方式 , 才能有针对的进行脱壳 ; 上一篇博客 【Android 逆向】壳技术简介 ( 动态加载 | 第一代壳技术 - DEX 整体加固 | 第二代壳技术 - 函数抽取 | 第三代壳技术...- VMP / Dex2C | 动态库壳技术 ) 中介绍了几种常用的壳技术 ; 每个壳的应用必然使用 DEX 整体加固 , 然后在该基础上 , 使用 函数抽取 , VMP , Dex2C 中的一种壳技术..., 也有可能使用 3 者中的多种壳技术 , 进行混合壳 ; 整体加固 就是对 DEX 文件进行 整体加密 , https://blog.csdn.net/shulianghan/category

5.4K41

MONGODB 索引 大内存 与连锁思维

创建MONGODB 的索引,属于基本操作,但如果是一个有2T 的 collection 要一个索引,也属于基本操作,实际上量变产生质变,很多问题的考虑都不在那么简单。...MONGODB 3.4 的时候有一个参数 setParameter: maxIndexBuildMemoryUsageMegabytes: 1024 这个参数就直接为后台添加索引加速的,如果有足够的内存...,(内存的与wiretiger 无关),则会加速background 添加索引的速度。...所以大collection添加索引,就是一个量变到质变的过程,你需要考虑的问题1 你内存的大小,是否能hold 你添加的索引2 业务上访问度是否是高强度的,如果是,那你及需要考虑上面提到的方法3 oplog...的设计大小其实和你以后一些基础操作有关4 尽量抛弃旧版本,升级到 3.6 及以上的版本,这样可以快速调整oplog的大小 所以一件看上去不值得一提的索引的事情,其实如果量大到一定程度,则考虑和需要分析的问题和

2.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    数据库“炸了”,CPU内存?或许还有更好的解决方法!

    02 原因分析 众所周知,单台数据库实例的配置是有瓶颈的,特别是关系型数据库,当CPU和内存配置提高到一定程度后,性能就不再提升了,即使对数据库的内核进行优化,也只能稍微抬高这个瓶颈线。...在我经历过的应用系统压力测试工作中发现,大厂提供的应用产品通常服务器压力和数据库压力是基本持平的,小的开发商提供的应用系统往往是服务器还没有明显压力,CPU、内存使用率都很低,数据库却已经“炸了”。...所以,底层代码逻辑上是否与数据库合理交互是原因之一,有经验的开发工程师会思考如何尽可能地少与数据库交互,把推拉数据库完成的功能模块转化为通过服务器计算来完成,从而将数据库压力转移到服务器上。...Redis缓存数据库是将数据以键值对的形式缓存在内存中的高效数据库。...纵向提高数据库配置 CPU、内存,性能提升也是有限的,幸运的是,目前大部分数据库都支持分布式架构,或主从读写分离架构。

    1.4K30

    【Android 逆向】壳技术识别 ( 函数抽取 与 Native 化壳的区分 | VMP 壳与 Dex2C 壳的区分 )

    文章目录 一、壳特征识别 1、函数抽取 与 Native 化壳的区分 2、VMP 壳与 Dex2C 壳的区分 一、壳特征识别 ---- 1、函数抽取 与 Native 化壳的区分 函数抽取...与 Native 化壳的区别 : 函数抽取 : 没有将函数 Java 代码转为 Native 代码 , 函数体无效 ; VMP 壳 : 将函数 Java 代码转为 Native 代码 ; Dex2C...壳 : 将函数 Java 代码转为 Native 代码 ; 如果函数是 非 Native 函数 , 并且 函数体 无效 , 说明这是 函数抽取 壳 ; 如果函数是 Native 函数 , 说明这是...VMP 壳 或者 Dex2C 壳 ; 2、VMP 壳与 Dex2C 壳的区分 VMP 壳的核心原理是 Dalvik 解释器 , 对于每个 VMP 保护的函数来说 , 都有一个 VMP 解释器...Dex2C 壳的区分 : 函数的 注册地址相同 , 并且 函数逻辑相似 , 则使用的是 VMP 壳 ; 函数的 注册地址不同 , 并且 函数逻辑不相似 , 则使用的是 Dex2C 壳 ;

    72520

    JVM又爆了,别傻傻只会重启内存

    前提:某大型跨境电商业务发展非常快,线上机器扩容也很频繁,但是对于线上机器的运行情况,特别是jvm内存的情况,一直没有一个统一的标准来给到各个应用服务的owner。...经过618大促之后,和运维的同学讨论了下,希望将线上服务器的jvm参数标准化,可以以一个统一的方式给到各个应用,提升线上服务器的稳定性,同时减少大家都去调整jvm参数的时间。...总结: Jvm调优这块还是有一定难度的有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足、内存泄露、线程死锁、Java进程消耗CPU过高。...这些问题在日常开发容易忽视,比如有的人遇到上面的问题只是重启服务器或者调大内存,而不会深究问题根源,但能够理解并解决这些问题是Java程序员进阶的必备要求。

    2.1K10

    服务器内存监测

    而对于程序员而言,如何避免内存泄漏也是一门学问,倘若不加以控制,那么无论多大的内存都会有消耗殆尽的那天。...本文当然不是研究如何分析内存泄漏的产生原因与解决方案,而是在此之前的一步,通过简单的内存监测方式来预测内存泄漏的 潜在可能性 或者 偶发性 等。...我这边需要监测 系统内存 与 jvm堆内存 ,最终的结果会展示各个时间点的内存情况,所以需要一个时间类,表示每个切片的时间点。...另外设计这个60阈值的原因是——避免内存泄漏,如果设定阈值,那么将会一直追加数据,而且还都无法释放,不断的消耗jvm堆空间。...timeMarkInterval是存储定时器id的,在销毁之前释放定时器;physicMemory和heapMemory获取图表div节点,用于echarts节点获取;systemInfo则会存储定时从服务器拉取到的数据

    14220

    Redis数据增多了,是该加内存还是实例?

    我粗略地计算了一下,这些键值对所占的内存空间大约是 25GB(5000 万 *512B)。所以,当时,我想到的第一个方案就是:选择一台 32GB 内存的云主机来部署 Redis。...在刚刚的案例里,为了保存大量数据,我们使用了大内存云主机和切片集群两种方法。...纵向扩展:升级单个 Redis 实例的资源配置,包括增加内存容量、增加磁盘容量、使用更高配置的 CPU。...就像下图中,原来的实例内存是 8GB,硬盘是 50GB,纵向扩展后,内存增加到 24GB,磁盘增加到 150GB。...总结 上述讲述切片集群在保存大量数据方面的优势,以及基于哈希槽的数据分布机制和客户端定位键值对的方法 在应对数据量扩容时,虽然增加内存这种纵向扩展的方法简单直接,但是会造成数据库的内存过大,导致性能变慢

    1.4K20

    服务器内存监测

    而对于程序员而言,如何避免内存泄漏也是一门学问,倘若不加以控制,那么无论多大的内存都会有消耗殆尽的那天。...本文当然不是研究如何分析内存泄漏的产生原因与解决方案,而是在此之前的一步,通过简单的内存监测方式来预测内存泄漏的 潜在可能性 或者 偶发性 等。...我这边需要监测 系统内存 与 jvm堆内存 ,最终的结果会展示各个时间点的内存情况,所以需要一个时间类,表示每个切片的时间点。...另外设计这个60阈值的原因是——避免内存泄漏,如果设定阈值,那么将会一直追加数据,而且还都无法释放,不断的消耗jvm堆空间。...timeMarkInterval是存储定时器id的,在销毁之前释放定时器;physicMemory和heapMemory获取图表div节点,用于echarts节点获取;systemInfo则会存储定时从服务器拉取到的数据

    17340

    高端内存映射之vmalloc分配内存连续的页--Linux内存管理(十九)

    1 内存连续的页的分配 根据上文的讲述, 我们知道物理上连续的映射对内核是最好的, 但并不总能成功地使用. 在分配一大块内存时, 可能竭尽全力也无法找到连续的内存块....在IA-32系统中, 前16M划分给DMA区域, 后面一直到第896M作为NORMAL直接映射区, 紧随直接映射的前896MB物理内存,在插入的8MB安全隙之后, 是一个用于管理连续内存的区域....2 用vmalloc分配内存 vmalloc是一个接口函数, 内核代码使用它来分配在虚拟内存中连续但在物理内存中不一定连续的内存 // http://lxr.free-electrons.com/source...因为用于vmalloc的内存页总是必须映射在内核地址空间中, 因此使用ZONE_HIGHMEM内存域的页要优于其他内存域. 这使得内核可以节省更宝贵的较低端内存域, 而又不会带来额外的坏处....vmalloc发起对连续的内存区的分配操作.

    3K10

    linux服务器内存

    早上到单位 发现服务器 mysql 服务器停了 然后起来了 查询日志 显示 内存满了 把mysql服务给杀了 linux 服务器如果 内存满了 会自动清理进程 防止服务器挂掉 选择的话 谁占的的内存大...就先杀谁 我的服务器里面 mysql服务占的内存是最大的 所以就把mysql就给杀了 image.png 然后 重启mysql 查询内存 image.png 在这说一下 怎么看linux的内存 举个例子...空闲的内存数: 232M shared 当前已经废弃不用,总是0 buffers Buffer 缓存内存数: 62M cached Page 缓存内存数:421M 关系:total(1002M) = used...记住内存是拿来用的,不是拿来看的.不象windows, 无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候...,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常 swap用很多,可能你就要考虑物理内存了.这也是linux看内存是否够用的标准哦

    31.9K10

    系安全带抓拍自动识别

    系安全带抓拍自动识别通过yolo系列算法框架模型利用高清摄像头,系安全带抓拍自动识别算法对高空作业场景进行监控,当检测到人员未佩戴安全带时会自动抓拍并进行告警记录。...系安全带抓拍自动识别算法选择YOLO系列模型框架是一类典型的one-stage目标检测算法,其利用anchor box将分类与目标定位的回归问题结合起来,从而做到了高效、灵活和泛化性能好,所以在工业界也十分受欢迎...,接下来我们介绍系安全带抓拍自动识别算法中使用到的YOLO 系列算法。...系安全带抓拍自动识别算法Yolo模型中采用一个单独的CNN模型实现end-to-end的目标检测,核心思想就是利用整张图作为网络的输入,直接在输出层回归 bounding box(边界框) 的位置及其所属的类别...系安全带抓拍自动识别算法中YOLO的结构非常简单,就是单纯的卷积、池化最后加了两层全连接,系安全带抓拍自动识别算法从网络结构上看,与前面介绍的CNN分类网络没有本质的区别,最大的差异是输出层用线性函数做激活函数

    25220

    登高系安全带自动识别

    登高系安全带自动识别采用yolov8深度学习算法框架模型,登高系安全带自动识别能够自动检测和识别登高作业人员是否佩戴安全带,过滤其他类似物体的干扰。...登高系安全带自动识别发现有人员未佩戴安全带,将立即触发预警。...登高系安全带自动识别在进行模型训练时,我们需要构造训练样本和设计损失函数,才能利用梯度下降对网络进行训练。...设计思想,将 登高系安全带自动识别 的 C3 结构换成了梯度流更丰富的 C2f 结构,并对不同尺度模型调整了不同的通道数。...考虑到动态分配策略的优异性,登高系安全带自动识别 算法中则直接引用了 TOOD 的 TaskAlignedAssigner。

    29360

    建议收藏chatGPT说的Ubuntu虚拟内存的教程

    图片命令演示开始之前我们先看下之前的内存差不多是2G的小鸡,执行free -h可以查看,我们的目标是手动升4G图片第一步,打开终端并输入以下命令以创建一个名为swapfile的空文件,执行命令如下:sudo...fallocate -l 2G /swapfile其中,2G是虚拟内存的大小,可以根据需要进行调整。...,输入以下命令以设置文件的权限:sudo chmod 600 /swapfile第三步,输入以下命令以格式化文件为swap格式:sudo mkswap /swapfile第四步,输入以下命令以启用虚拟内存...fstab现在,您已经成功地将虚拟内存添加到Ubuntu系统中。...图片以上就是今天的全部内容,希望能够在linux系统添加虚拟内存帮到你,再见!

    1.6K00

    用nodejs腾讯云api搞了一个发票识别

    哪来来的这么多发票呢,但是有朋友给了个压缩包,打开一看,我滴个亲娘,200多张发票,打车发票,财会要求每张发票要重新命名,命名规则是发票代码-发票号码-金额-姓名,这可要了我的老命了,如果一张一张搞眼睛瞎...,也得累死,但是我是一名菜鸡程序员啊,菜鸡遇到重复性的工作肯定想到要用程序来完成啊,首先想到的是如何识别发票,这里我弄了两个解决方案,首先第一个就是使用各种云服务来实现,在考察了各种云服务后,发现腾讯的云服务识别发票功能支持...'密码区1', Polygon: [Object], Value: '/8*5-/4/72+81' }, { Name: '购买方识别号...'天津京东达业贸易有限公司' }, { Name: '备注', Polygon: [Object], Value: '订单号:234161485025' }, { Name: '销售方识别号...以上便是体验腾讯云文字识别之增值税发票的功能,希望对你有所帮助。

    5K71
    领券