前言

这看似是一个比较正常的视频软件,

也都可以看得到,但是出现了不太和谐的东西,点开之后都是需要花钱才能观看的内容。

脱壳


查壳,是某数字的,就不单独说了。

这里使用frida-unpack进行脱壳。
用法在READM.md中说的很清楚了,这里不做过多叙述了。
这里有两个注意点:

  • 一、看OpenMemory函数点
    看代码。
'use strict';
/*** 此脚本在以下环境测试通过* android os: 7.1.2 32bit  (64位可能要改OpenMemory的签名)* legu: libshella-2.8.so* 360:libjiagu.so*/
Interceptor.attach(Module.findExportByName("libart.so", "_ZN3art7DexFile10OpenMemoryEPKhjRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPNS_6MemMapEPKNS_10OatDexFileEPS9_"), {onEnter: function (args) {//dex起始位置var begin = args[1]//打印magicconsole.log("magic : " + Memory.readUtf8String(begin))//dex fileSize 地址var address = parseInt(begin,16) + 0x20//dex 大小var dex_size = Memory.readInt(ptr(address))console.log("dex_size :" + dex_size)//dump dex 到/data/data/pkg/目录下var file = new File("/data/data/dupdex/" + dex_size + ".dex", "wb")file.write(Memory.readByteArray(begin, dex_size))file.flush()file.close()},onLeave: function (retval) {if (retval.toInt32() > 0) {/* do something */}}
});

/system/lib/libart.so中存在OpenMemory函数,注意上面脚本中的_ZN3art7DexFile10OpenMemoryEPKhjRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPNS_6MemMapEPKNS_10OatDexFileEPS9_这段字符串,不一定是你模拟器或者Android手机对应的OpenMemory函数对应的地方,所以如果脚本提示找不到对应的OpenMemory函数位置,最好按照流程来,把自己的函数位置替换掉脚本里的。

adb pull /system/lib/libart.so
nm libart.so| grep OpenMemory

  • 要注意版本问题。我们看脚本,在Android7.x之后,脱壳点就不再是OpenMemory了,8.x的基本都是OpenCommon,可以用同样的方法找到OpenCommon函数位然后把OpenMemory替换掉即可。

还有要修改这段22行的代码:

这是脱壳后dex存放文件的地方,你可以自己命名,并给予目录读写权限,例如我的就是/data/data/dupdex/


执行脱壳流程。可以看到我们的目录多了dex文件。

hook成土豪

逻辑主要在5619552.dex中,这里我们破解积分的问题。
一般可以查看有没有UserInfo的内容,这里找到后发现,有

那我们就可以hook这个方法了,主要思路是当APP调用getJifen方法时直接返回我们想要的数字就可以了。

var userinfo = Java.use("com.cz.babySister.javabean.UserInfo");
userinfo.getJifen.implementation  = function(){   return "100000";
}

我也是这样执行了,但是发现总是报错。


后来发现hook加固的函数时不能这么直接hook。
分为三步:

  • 第一步是拿到加载应用本身dex的classloader;
  • 第二步是通过这个classloader去找到被加固的类;
  • 第三步是通过这个类去hook需要hook的方法
    具体原理见这里。不在多说了。

这里直接贴上脚本。

'use strict'
//frida -U -f com.cz.babySister -l jifen.js --no-pause
if(Java.available){Java.perform(function(){var application = Java.use("android.app.Application");var reflectClass = Java.use("java.lang.Class");console.log("application: " + application);application.attach.overload('android.content.Context').implementation = function(context){var result = this.attach(context); // 先执行原来的attach方法var classloader = context.getClassLoader(); // 获取classloaderJava.classFactory.loader = classloader;var userinfo = Java.classFactory.use("com.cz.babySister.javabean.UserInfo"); //这里能直接使用Java.use,因为java.use会检查在不在perform里面,不在就会失败console.log("UserInfo: " + userinfo);userinfo.getJifen.implementation  = function(){   return "100000";}return result;}});
}
frida -U -f com.cz.babySister -l jifen.js --no-pause

这里就能看到效果了。


这时你就是拥有100000积分的土豪了,想怎么看就怎么看。
但是我这里破解VIP就出现了点问题,后面再继续说吧~今天就到这。

某视频APP的脱壳、hook逆向相关推荐

  1. 某bobo在线视频APP下载暴力流逆向

    最近朋友抱怨某软件的下载很慢,想在电脑上面直接下载观看. 众所周知此领域竞争激烈,所以安全意识普遍较高,分析起来较为困难,颇具挑战性. 目标以尽量以最快速度解决战斗,下面分享我的分析过程: 静态分析 ...

  2. 逆向某视频app(一)

    本文为纯技术分享,文章内容不涉黄,适合对xposed有兴趣的读者 逆向某视频app(一) 逆向某视频app(二) 目录 前言 xposed破解 1.反编译apk 2.分析代码 前言 有一段时间没写博客 ...

  3. 逆向某视频app(二)

    本文为纯技术分享,适合对xposed有兴趣的读者 逆向某视频app(一) 逆向某视频app(二) 目录 前言 步骤 工具 1.反编译apk 2.获取smali源码 3.修改smali文件 4.修复An ...

  4. 某音短视频APP 最新版(21.8)SSL PINNING 绕过

    本文主要讲解在短视频APP上逆向抓包遇到的坑,通过本文方法可以顺利使用抓包工具抓到数据包,也可以通过文中介绍的获取proto文件的方法,使用编程语言解析数据包中的内容. 文末还会提供编译好的proto ...

  5. Android中静态方式破解某App实现所有视频app去除广告功能

    转:  Android中静态方式破解某App实现所有视频app去除广告功能 作为一个屌丝程序猿也有追剧的时候,但是当打开视频app的时候,那些超长的广告已经让我这个屌丝无法忍受了,作为一个程序猿看视频 ...

  6. 华数软件测试岗位,重磅:字节跳动与华数共同研发的电视原创视频app已正式测试上线...

    华数鲜时光tv版是西瓜视频的电视版本,由字节跳动与华数共同研发的电视原创视频app,上线的内容一应俱全,且内容覆盖年龄更广,汇集了生活窍门.美食做法.亲子时光.游戏解说.搞笑集锦.旅游看世界.影视看点 ...

  7. android电视视频app下载,央视频APP智能电视版下载-央视频电视版客户端 1.9.0.53139 安卓版-玩友游戏网...

    Tags:影视娱乐 央视频电视版客户端是央视旗下权威直播工具,社会新闻.最新资讯.国际信息.前沿科技.民生工程.政策法规,你都可以在这里通过短视频查看,涵盖央视旗下多个电视台,支持多个品牌的智能电视, ...

  8. 进行短视频app开发工作时,可以加入它来保护青少年...

    未成年人迷恋手机的现状一直令广大家长朋友们的忧心,王者.抖音.吃鸡.快手--精彩纷呈的世界在短视频app和无数手游软件中展现出来,凸显了现实世界的无聊,也占用了未成年人们的大幅精力,为了防止未成年人对 ...

  9. 短视频SDK架构设计,短视频APP开发目标首选

    短视频 SDK 实践中主要做的一些事情,这其中最重要的就是短视频 SDK 的架构设计,包括架构设计理念.架构图.整体数据流程.模块架构设计等.今天小编就简单介绍一下短视频APP开发中,选择什么样的厂家 ...

最新文章

  1. 自主互助四环节之计算机教案,自主互助学习型课堂的实施方案
  2. 全面、经典视频教程(php、java、jsp、ajax、linux...)
  3. Spark任务提交后是如何完成提交过程的?源码解析!
  4. [原]windbg调试系列——崩溃在ComFriendlyWaitMtaThreadProc
  5. java 转换url中文参数
  6. php变量原格式输出,PHP格式化输出打印变量
  7. var s=+newDate();的用法,表示对应的时间截
  8. CURL POST PHP
  9. hibernate入门二之单表操作
  10. 实现元素拖拽放大缩小_G6 3.6:放大每一处细节
  11. 微信小程序之 ----组件
  12. c++ 关于指针以及(amp;)使用的一些小问题
  13. MonkeyTest——简单无脑的移动端自动化测试(初级篇)
  14. 《Metasploit魔鬼训练营》 第二、三章
  15. 知识对话2021《Augmenting Knowledge-grounded Conversations with Sequential Knowledge Transition》论文解读
  16. python -m spacy dowmload en失败
  17. Ubuntu18.04下的音频录制和编辑软件Ardour及QjackCtl(jackd gui)
  18. AutoJs学习-录制手指动作
  19. 绿米Aqara、飞利浦等设备,如何与智汀使用同一个APP实现跨品牌互联?
  20. 利用Numpy+PIL读取图像实现手绘效果

热门文章

  1. 【中英双语】C语言编程标准
  2. 芒果iOS开发UI课程第一节UIWindow
  3. RT5350 I2S audio问题
  4. Math - 高斯分布(正态分布)
  5. 一个简单的手电筒APP源码分享(支持Android O(8.0)及以下版本)
  6. 微型计算机与巨型计算机相比,.微机原理第一章:基础知识.ppt
  7. php DHT22,【CH579M-R1】+DHT22温湿度检测
  8. 2-CO-COPC-实际成本
  9. 推荐系统实用分析技巧
  10. Win8消费者预览版激活码