首页
社区
课程
招聘
[讨论]是否有方法可以在dex文件执行时动态修改某一个函数的代码
发表于: 2016-7-20 17:45 7677

[讨论]是否有方法可以在dex文件执行时动态修改某一个函数的代码

2016-7-20 17:45
7677
加壳后的apk文件中,原始dex文件是被加密的,但是在应用启动以后dex文件会在内存中被还原出来,这样通过ida把内存中解析dex文件相关的数据结构dump下来还是可以还原原始的dex文件。

有没有这种方法,被加载到内存中的dex文件还是密文的,包括内存中解析dex文件相关的数据结构存储的内容也都是密文的,在执行dex中的某个函数的时候hook掉虚拟机的某个方法,临时把要执行的函数解密执行。这样既不影响应用的运行,也不会被dump出来原始的dex文件。

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 206
活跃值: (1035)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
已经有了这种壳了,不过不是加密,是先nop掉,不然过不了验证
2016-7-20 18:01
0
雪    币: 234
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
抽代码的壳好像就是你说的这样
2016-7-20 21:25
0
雪    币: 47
活跃值: (418)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
hook libdvm.so 中的函数可以达到这种效果
2016-7-21 09:56
0
雪    币: 15
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
多谢,我现在想的是只把函数的代码部分加密,其他字段不加密
2016-7-21 11:53
0
雪    币: 15
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
多谢,有相关的帖子吗?
2016-7-21 11:54
0
雪    币: 15
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
多谢,有相关的帖子吗?我发现调用dex中的函数好像有多种不同的路径,这样的话可能要hook很多函数才行,而且有的函数是static的,不知道怎么hook
2016-7-21 11:55
0
雪    币: 7818
活跃值: (1083)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
8
抽代码壳子可以看这篇1faK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2U0M7$3c8F1i4K6u0W2L8X3g2@1i4K6u0r3K9X3I4@1P5r3N6U0P5g2)9J5c8X3q4J5N6r3W2U0L8r3g2Q4x3V1k6V1k6i4c8S2K9h3I4K6i4K6u0r3y4e0l9#2z5o6p5J5y4e0W2Q4c8e0y4Q4z5o6m8Q4z5o6u0Q4c8e0g2Q4b7U0m8Q4b7U0q4Q4c8e0k6Q4z5e0S2Q4b7f1k6Q4c8e0k6Q4z5p5q4Q4z5p5q4Q4c8e0g2Q4b7f1g2Q4z5f1g2Q4c8e0W2Q4z5e0W2Q4z5o6g2Q4c8e0k6Q4z5o6W2Q4b7e0N6Q4c8e0S2Q4b7e0q4Q4z5p5y4Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0c8Q4b7V1u0Q4b7e0y4Q4c8e0N6Q4b7e0m8Q4z5o6q4Q4c8e0k6Q4z5e0c8Q4b7V1g2Q4c8e0g2Q4z5o6S2Q4b7U0m8Q4c8e0g2Q4z5p5k6Q4b7e0k6Q4c8e0c8Q4b7U0S2Q4z5o6m8Q4c8e0c8Q4b7U0S2Q4b7f1q4Q4c8e0k6Q4z5e0k6Q4z5o6N6Q4c8e0c8Q4b7V1u0Q4b7U0k6Q4c8e0c8Q4b7U0S2Q4b7f1c8Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4z5o6k6Q4z5p5c8Q4c8e0S2Q4b7V1k6Q4z5e0m8Q4c8e0S2Q4b7e0q4Q4z5p5y4Q4c8e0k6Q4z5e0N6Q4b7U0k6Q4c8e0g2Q4z5p5q4Q4b7e0S2Q4c8e0k6Q4z5o6m8Q4z5o6q4Q4c8e0W2Q4z5e0y4Q4b7V1g2Q4c8e0k6Q4z5p5g2Q4b7e0g2Q4c8e0c8Q4b7U0S2Q4z5p5q4Q4c8e0y4Q4z5o6m8Q4z5o6t1`.
2016-7-21 14:09
0
雪    币: 15
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
感谢!
2016-7-22 10:46
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
4楼说的是个可行的方法,可以hook 虚拟机执行函数的函数,这样在执行自己函数前,对自己函数进行一个解密就行。
2016-7-22 19:45
0
雪    币: 15
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
现在问题是这个虚拟机执行函数的函数找不到啊,好像不是唯一的一个
2016-7-26 17:40
0
游客
登录 | 注册 方可回帖
返回