美文网首页
寻找消失的类名

寻找消失的类名

作者: fenfei331 | 来源:发表于2022-07-22 14:46 被阅读0次

一、目标

前几天有个朋友问了我一个新手问题,frida提示: 找不到 p009cn.com.chinatelecom.gateway.lib.C1402a 这个类

main.png

1:main

原因是,jadx反编译的时候,为了反混淆,会把类名做个处理,加上几个数字,这样好让你分辨,不会满眼都是变量a。

实际上他已经提示你了,这个类的真实类名是 cn.com.chinatelecom.gateway.lib.a

本以为事情就这么过去了,谁知道没过两天,在一个夜黑风高的的晚上,我也遇到了这个问题。

二、步骤

类名是奇怪字符

老江湖也遇到新问题了,这个类名是什么鬼?

step1.png

1:step1

现在的App太不讲武德了,混淆我也就忍了,搞出个鬼画符,是什么操作?

这个符可不好打出来,常规操作是直接把类名复制到js里面,结果不好使,frida依然抱怨 找不到这个类。

查了一下js文档,有个 encodeURIComponent() 函数,可以把这种鬼画符通过 UTF-8 编码的转义 然后打印出来。

但是这个类名的转义字符是啥呢?

遍历之

我们可以找个取巧的方式,把这个包下的类都遍历出来,这样不就可以知道这个类名的UTF-8 编码的转义了吗?

Java.enumerateLoadedClasses({
    onMatch: function(className) {
        if(className.indexOf('com.google.android.material.tooltip') >=0 ){
            console.log(className.toString());
            console.log(encodeURIComponent(className.toString()));
        }
    },
    onComplete:function(){
    }
});

跑一下,符显形了。

show1.png

1:show1

Hook之

拿到了转义编码之后如何hook呢? 这时候就需要 decodeURIComponent函数了

var hookCls = Java.use(decodeURIComponent('com.google.android.material.tooltip.%DB%A4%DB%A4%DB%9F%DB%A6'));

这次frida就不抱怨找不到类名了。

成员函数名

找到了类名当然不是我们的目的,我们的目的是星辰大海,哦不,是hook成员函数呀。

step2.png

1:step2

不出所料,它的方法名,依然是鬼画符。

这时候我们就需要去遍历方法名了

var hookCls = Java.use(decodeURIComponent('com.google.android.material.tooltip.%DB%A4%DB%A4%DB%9F%DB%A6'));
var methods = hookCls.class.getDeclaredMethods();

for (var i in methods) {
    console.log(methods[i].toString());
    console.log(encodeURIComponent(methods[i].toString().replace(/^.*?.([^\s.()]+)(.*?$/, "$1")));
}

结果倒是没问题,就是分辨起来还有点麻烦。只能从成员函数的入参和返回值来分辨我们想要hook的成员函数

show2.png

1:show2

Hook这个成员函数的代码如下

hookCls[decodeURIComponent("%DB%9F%DB%A3%DB%A5%DB%9F%DB%A3")]
           .implementation = function () {
                        console.log("m1344 =============== ");
                        return "xxx";

           }

搞定,收工~

三、总结

为了抵抗分析,App能想的办法都想了。只能比谁藏的更深,找的更快了。

ffshow.png

总把平生入醉乡

相关文章

  • 寻找消失的类名

    一、目标 前几天有个朋友问了我一个新手问题,frida提示: 找不到 p009cn.com.chinateleco...

  • 寻找消失的露珠

    记得在以前,每天清晨,推门而出,总能看到挂在草尖,凝聚在树叶上,或者顺着木椅上,石头上滚落下来的露珠。这些露珠,晶...

  • 寻找消失的4

    1. 我如同往常一样上了公车,乘务员问我坐到哪,我回“天京大学”,却不料听到阿姨的嘲笑,“小伙子,坐错车啦。” “...

  • 寻找消失的记忆

    道闸的升降杆关闭着 默默地拒绝了进出的车辆 却又低调地预留行道 对每个人敞开怀抱 陌生的熟识的匆匆的悠悠的 迈过那...

  • 寻找消失的墨梅

    1 在我出生的那个茅草房之上,记忆中的天空并不总是蔚蓝色,除了偶尔有火烧云瑰丽如灾,很多时候它给我的感觉都是相融于...

  • 寻找消失的老婆

    ——《时空诡域》剧评 我是在腾讯视频的动漫页面里看到了这部动漫的,当然是因为它的介绍和名字还有科幻的故事风格吸引了...

  • 寻找消失的恋人

    1 绿油油的草地,一望无垠,风儿失去了往日的喧嚣,变得安静了下来,轻轻地拂过白色的衣裙。 “我们就在这里分别吧。以...

  • css中类名+空格+类名、类名+类名与html中class="类

    运行结果如下: 由上面可以看出: 在css中,类名+空格+类名,表示一种前后代关系...

  • 乐观,作为一种提倡的态度

    作为一名心理学爱好者,我觉得所有的心理学书籍可以分为两类:一类是向内探寻,告诉我们我们是谁,寻找潜意识,寻找真实的...

  • 10、类操作

    添加类:addClass(类名) 移除类: removeClass(类名) 判断类:hasClass(类名) 切换...

网友评论

      本文标题:寻找消失的类名

      本文链接:https://www.haomeiwen.com/subject/mzvmirtx.html