1
dirtycold Feb 1, 2018
没办法获取自身的路径吧...
|
2
ipoh Feb 1, 2018
|
3
VYSE Feb 1, 2018
cat /proc/self/maps
sha256sum {path} |
4
blahgeek Feb 1, 2018
|
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 Feb 1, 2018 via Android
算储存 Hash 区域以外部分的 Hash 不就行了
|
7
blless Feb 1, 2018 via iPhone
可以联网吗,可以联网就用请求的方式发到服务端校验
|
8
undeflife Feb 1, 2018
用自己的证书对库文件签名?
|
12
qmm0523 Feb 1, 2018
so 库不加固的话,单纯检查哈希没有意义,直接把你哈希改掉就可以了。
还不如上个 vmp 壳 |
14
Technetiumer Feb 1, 2018
hash 被非對稱加密並簽名后存成獨立文件,so 庫讀取 hash 文件解密並驗證簽名以保證 hash 文件沒有被篡改,判斷自身是否與 hash 文件解密后的結果相符
|
15
zckevin Feb 1, 2018
判断的逻辑和校验值都可以直接被改掉,还是得加壳吧。
|
16
tylerdurden Feb 1, 2018
@Arnie97 这个方法赛高
|
17
ghostheaven Feb 1, 2018 via Android
文件签名?
|
18
kaneg Feb 1, 2018
java jarsigner 的思路是否可行?
|
19
ysc3839 Feb 1, 2018 @paparika 编译的时候 Hash 写一段固定的 Pattern,比如 AAAAAAAAAA,然后计算 Hash,把 Hash 覆盖掉这段 Pattern。计算的时候把 Hash 替换成 Pattern 然后算。
|
22
BXLR Feb 2, 2018
app 拿来测试下
|