首页
社区
课程
招聘
[原创]APP加固dex解密流程分析
发表于: 2024-2-22 04:44 57836

[原创]APP加固dex解密流程分析

2024-2-22 04:44
57836
收藏
免费 84
支持
分享
打赏 + 10.00雪花
打赏次数 1 雪花 + 10.00
 
赞赏  万里星河   +10.00 2024/02/27 如沐春风 收益匪浅 敬仰之情 涛涛不绝
最新回复 (99)
雪    币: 156
活跃值: (1352)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
76
oacia 这里使用的思路也是dump内存再修复,只是这个由自定义linker加载的so在dump下来之后因为program header table被加密的缘故,而解密后的pht又和被加载so所映射的内存是分离 ...
我试过 但似乎是不行的 抽取的部分并没有写回soinfo链表中 全由壳so进行维护
2024-10-8 03:16
0
雪    币: 125
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
77
zxvv 我都是直接用自定义aosp脱壳的,连反调试都不需要,没想到这免费壳实际这么复杂。。
请问自定义aosp脱壳是怎么弄的?
2024-10-15 14:45
0
雪    币: 376
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
78
太强了,有学习路线不 
2024-10-18 17:27
0
雪    币: 119
活跃值: (1322)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
79
新版frida反调更新了,只要一hook就无响应(但是不退出,不崩溃),请问这个有思路吗?
2024-11-6 17:38
0
雪    币: 12
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
80
感谢分享
2024-11-22 14:10
0
雪    币: 886
活跃值: (2615)
能力值: ( LV4,RANK:52 )
在线值:
发帖
回帖
粉丝
81
太弔了,学习了学习了
2024-11-27 16:24
0
雪    币: 59
活跃值: (1157)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
82
感谢大佬分享,太厉害了。强!
2024-12-7 11:21
0
雪    币: 366
活跃值: (361)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
83
楼主好强,我后面都看不懂,楼主能说一下怎么怎么学的吗????
2024-12-7 20:52
0
雪    币: 1634
活跃值: (491)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
84
大佬能帮忙看看吗,这里我maps重定向之后没有中断,我想把这个而且还看到了有加载libjgdtc.so的,但是我想dump下来,却说找不到这个模块了,感觉是用完就删了
2024-12-14 15:24
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
85
佬,对于DebugSymbol.fromAddress所实现的逻辑的部分,我执行的时候会出现崩溃,Cause: execute-only (no-read) memory access error; likely due to data in .text.,我看其他复现您的博客的博客都没遇到这个问题,还不允许我修改文件权限,我就不知道该如何处理了,能否指点一下,感激不尽
2024-12-18 16:46
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
86
我总是显示'libjiagu_64.so'not found,你也是嘛,有什么解决方法嘛
2024-12-19 17:03
0
雪    币: 1852
活跃值: (1170)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
87
大佬太强了
2025-1-15 10:01
0
雪    币: 26
活跃值: (216)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
88
难怪现在那些360脱壳工具都用不了
2025-1-30 21:55
0
雪    币: 590
活跃值: (1462)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
89
目前看到最详细的干货了
2025-2-5 20:50
0
雪    币: 27
活跃值: (1655)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
90
太强了大佬,就是没太看懂下面这里的逻辑是什么....为什么要这么替换呢?看的不是很懂...难道是试出来的?
function anti_frida_check(){
    var module = Process.findModuleByName("libjiagu_64.so");
    Interceptor.attach(module.base.add(0x1770C), {
        onEnter: function (args) {
            try{
                var s = this.context.x6.readCString();
                if (s.indexOf('frida')!==-1 ||
                    s.indexOf('gum-js-loop')!==-1 ||
                    s.indexOf('gmain')!==-1 ||
                    s.indexOf('linjector')!==-1 ||
                    s.indexOf('/proc/')!==-1){
                    console.log(s)
                    // 申请新内存并写入替换字符串
                    var replaceStr = "0".repeat(s.length);
                    var newPtr = Memory.allocUtf8String(replaceStr);

                    // 将目标寄存器指向新内存地址(假设X0是参数寄存器)this.context.x0 = newPtr;
                    this.context.x0 = newPtr;

                    console.log("[+] Replaced pointer:", strPtr, "->", newPtr);
                }
            }
            catch (e){

            }
        },
        onLeave: function (ret) {
        }
    });
}
2025-2-22 22:31
0
雪    币: 451
活跃值: (2358)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
91

可以请问一下对主ELF的sub_19B760的HOOK吗?我在对该函数进行HOOK时并没有办法hook到,在不断hook中发现问题所在是进入该if判断实际失败了

但是看您的文章所写应该应该是进入了if然后调用了两次sub_19B760,

所以我在hook时将寄存器的值修改使其必定进入该if,这时结果确实与您文章中一致。后记:十分感谢您的解答,事实确实是反调试的问题,我天真的以为对那个动态调用的函数进行HOOK巧妙地将所有的反调试过了,属实是我的疏忽。

最后于 2025-2-28 22:36 被螺丝兔编辑 ,原因:
2025-2-28 18:53
0
雪    币: 156
活跃值: (1352)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
92
linkin5epk 太强了大佬,就是没太看懂下面这里的逻辑是什么....为什么要这么替换呢?看的不是很懂...[em_006]难道是试出来的? function anti_frida_check(){ var ...
没错 应该就是试出来的
2025-3-1 14:48
0
雪    币: 156
活跃值: (1352)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
93
linkin5epk 太强了大佬,就是没太看懂下面这里的逻辑是什么....为什么要这么替换呢?看的不是很懂...[em_006]难道是试出来的? function anti_frida_check(){ var ...
最后于 2025-3-1 14:49 被万里星河编辑 ,原因:
2025-3-1 14:49
0
雪    币: 156
活跃值: (1352)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
94
重温经典 每次看都能学到新东西
2025-3-1 14:50
0
雪    币: 27
活跃值: (1655)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
95
万里星河 没错 应该就是试出来的
问了下作者,作者大佬就是试出来的...灵机一动和抓得住关键点也是逆向中的关键啊
2025-3-6 17:08
1
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
96
可以重新上传一份附件吗 这个显示过期了
2025-3-18 17:43
0
雪    币: 148
活跃值: (801)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
97
大佬。样本没法下载了,有空更新一下哈
2025-3-21 12:00
0
雪    币: 3509
活跃值: (3073)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
98
大佬真是太强了 还要慢慢琢磨有深度 够详细
2025-4-17 22:35
0
雪    币: 78
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
99
想问下佬ELF 解密这块 wrap_elf_start = 0x1e270 怎么得来的,看 so 代码是0x2e270
2025-6-1 19:58
0
雪    币: 5
活跃值: (1245)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
100
楼主,我想问下360加固里面有个【终端环境检测】这个描述是对终端环境ROOT、APP多开、模拟器、Xposed框架注入等进行检测了,【风险环境检测】这个描述是对可疑的破解环境进行检测并退出应用,这个【风险环境检测】是检测什么呢,我一勾选这个【风险环境检测】过签就会闪退
2025-6-2 00:52
0
游客
登录 | 注册 方可回帖
返回