|
发表于 2023-9-26 14:58:10
|
显示全部楼层
上海市上海市
举个例子 比如一个app目的是登录的sign,一般我们都认为是java层吧 然后去找相关代码,终于找到了但是有一行代码是类似这样的
String sign = NativeUtil.entry("libentry",str);
然后我们就得看entry方法,发现追不下去了找不到具体的实现....但是进去 NativeUtil里发现了 有个native 修饰的方法或者System.loadLibrary("mylib");跟String sign = NativeUtil.entry("entry",str);这行代码有关系,那么就果断可以认为 所谓的参数libentry其实是动态加载so层
so其实就是dll 也就是说 windows系统的叫dll可到了linux就得叫so了,为啥安卓是so?因为 安卓是基于 linux内核来的,这个时候就得去逆向 so层了,就像windows逆向时 发现加密在dll层 同样的 易语言调用dll是需要先载入动态链接库的,java也是需要载入的,所以当你看到载入 和 调用 你就得明白 了 |
评分
-
查看全部评分
|