首页 > 其他分享 >一个函数抽取类壳的脱壳过程

一个函数抽取类壳的脱壳过程

时间:2022-10-28 12:55:28浏览次数:45  
标签:类壳 dex 脱壳 抽取 函数 dump ClassLinker DefineClass

AndroidKiller查看此apk发现入口Activity找不到,说明此apk被加壳了。


接着查看apk反编译后的代码,发现使用的XX的乐固。

首先尝试在DEX文件加载过程中进行hook,例如hook DexFileLoader::OpenCommon。然后dump下来的dex进行分析发现所有的方法都被抽空了,原因是因为我们在dex文件加载流程中dump dex时,dex中的方法还未被恢复所以无法得到完整的dex文件。

然后尝试在类加载过程中进行hook,这里直接使用frida_dump脚本,此脚本会hook ClassLinker::DefineClass函数。分析dump下来的dex文件发现被抽空的函数都已经回填了,所以此壳一定是在ClassLinker::DefineClass函数调用之前对类中的方法进行了恢复回填。

如果抽取壳是在ClassLinker::DefineClass函数调用之后进行回填呢?利用我自己实现的一个简易版抽取壳,并对一个测试函数的方法Tes1.Proc1进行抽空,此抽取壳是在ClassLinker::LoadMethod函数调用时对抽取的函数进行回填。

LoadMethod函数是在ClassLinker::DefineClass函数调用后调用的,因此通过hook ClassLinker::DefineClass函数dump dex文件的时候我们抽取的函数还没有进行回填,最终dump下来的dex文件此函数还是被抽空的。

标签:类壳,dex,脱壳,抽取,函数,dump,ClassLinker,DefineClass
From: https://www.cnblogs.com/revercc/p/16835726.html

相关文章

  • 结合互指导与句间关系图的论点对抽取(emnlp)
        该篇论文来自2021年的emnlp,题目为ArgumentPairExtractionwithMutualGuidanceandInter-sentence RelationGraph.    该篇论文对原本的APE任......
  • LyScript 插件实现UPX脱壳
    LyScript插件可实现对压缩壳的快速脱壳操作,目前支持两种脱壳方式,一种是运用API接口自己编写脱壳过程,另一种是直接加载现有的脱壳脚本运行脱壳。LyScript项目地址:​​http......
  • 一个简单的 JS 抽取随机数源代码
    一个简单的JS抽取随机数源代码自己写了一个JS抽取随机数的例子。供自己以后参考,也希望可以方便到大家。源代码如下:<html><head><metahttp-equ......
  • 【自然语言处理(NLP)】基于BiLSTM的关系抽取
    【自然语言处理(NLP)】基于BiLSTM的关系抽取作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资......
  • 【信息抽取】如何使用循环神经网络进行关系抽取
    事物、概念之间的关系是人类知识中非常重要的一个部分,但是他们通常隐藏在海量的非结构文本中。为了从文本中抽取这些关系事实,从早期的模式匹配到近年的神经网络,大量的研究在......
  • 【知识图谱】知识抽取是什么,怎么做?
    互联网时代,人类在与自然和社会的交互中生产了异常庞大的数据,这些数据中包含了大量描述自然界和人类社会客观规律有用信息。如何将这些信息有效组织起来,进行结构化的存储,就是......
  • 【每周NLP论文推荐】 掌握实体关系抽取必读的文章
    欢迎来到《每周NLP论文推荐》。在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的。实体关系抽取作为信息抽取领......
  • 【自然语言处理(NLP)】基于BiLSTM+CRF的事件抽取
    【自然语言处理(NLP)】基于BiLSTM+CRF的事件抽取作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实......
  • 恶意代码分析实战 加壳与脱壳 lab 18-1 18-2 18-3 18-4 18-5
    脱壳存根被加壳程序中的脱壳存根由操作系统加载,然后脱壳存根负载加载原始程序。对于加壳程序来说,可执行程序的入口点指向脱壳存根,而不是原始代码。原始程序通常存储在......
  • ogg抽取进程如何不丢归档
    哪些情况OGG抽取进程需要旧的归档日志呢:抽取进程abend或stop了一段时间,再次启动自然需要这段时间内的所有归档日志。比如重启了OS或数据库,但忘了启动ogg;长假期间抽取进程a......