1
dirtycold 2018 年 2 月 1 日
没办法获取自身的路径吧...
|
2
ipoh 2018 年 2 月 1 日
|
3
VYSE 2018 年 2 月 1 日
cat /proc/self/maps
sha256sum {path} |
4
blahgeek 2018 年 2 月 1 日
|
5
paparika OP @ipoh @VYSE @blahgeek
谢谢几位,其实我本来想 so 库通过校验 hash 是否一致来判定自己是否被篡改,不过这个思路好像逗逼了,因为要提前编译好 so,然后会得到一个 hash 值,代码运行时找到 so 路径然后判断 hash 值是否一致,但是一旦把这个 hash 值编译进 so 库,库被改变,其 hash 也会变。。。。 其实是之前参考 stackoverflow 上的一个帖子: https://stackoverflow.com/questions/15318795/android-shared-library-integrity-protection from Freedom_Ben: 'The best way to protect from modification is to take a SHA-2 of the .so after you compile it, and rehash each time at runtime, matching it against the known value.' 不过他没详细说怎么个操作 |
6
Arnie97 2018 年 2 月 1 日 via Android
算储存 Hash 区域以外部分的 Hash 不就行了
|
7
blless 2018 年 2 月 1 日 via iPhone
可以联网吗,可以联网就用请求的方式发到服务端校验
|
8
undeflife 2018 年 2 月 1 日
用自己的证书对库文件签名?
|
12
qmm0523 2018 年 2 月 1 日
so 库不加固的话,单纯检查哈希没有意义,直接把你哈希改掉就可以了。
还不如上个 vmp 壳 |
14
Technetiumer 2018 年 2 月 1 日
hash 被非對稱加密並簽名后存成獨立文件,so 庫讀取 hash 文件解密並驗證簽名以保證 hash 文件沒有被篡改,判斷自身是否與 hash 文件解密后的結果相符
|
15
zckevin 2018 年 2 月 1 日
判断的逻辑和校验值都可以直接被改掉,还是得加壳吧。
|
16
tylerdurden 2018 年 2 月 1 日
@Arnie97 这个方法赛高
|
17
ghostheaven 2018 年 2 月 1 日 via Android
文件签名?
|
18
kaneg 2018 年 2 月 1 日
java jarsigner 的思路是否可行?
|
19
ysc3839 2018 年 2 月 1 日 @paparika 编译的时候 Hash 写一段固定的 Pattern,比如 AAAAAAAAAA,然后计算 Hash,把 Hash 覆盖掉这段 Pattern。计算的时候把 Hash 替换成 Pattern 然后算。
|
22
BXLR 2018 年 2 月 2 日
app 拿来测试下
|