Android 从本机客户端中应用程序的uid/pid获取包名和签名
这是我在android平台上的第一个项目,我还不适应这个环境 我需要编写一个本机应用程序,它可以从[应用程序的用户id和应用程序运行实例的pid]中派生应用程序包名称和签名 我浏览了android应用程序框架,发现PackageManger能够获得软件包签名。.getPackageManager().getPackageInfo(packageName,获取签名) 但是,这显示了在Java应用程序中从包名获取签名的可能性。正如我所说,我们的输入参数只是应用程序的用户id/运行实例进程id。我还需要本机客户端,而不是java应用程序 我的问题可以分为以下几点Android 从本机客户端中应用程序的uid/pid获取包名和签名,android,android-ndk,android-framework,Android,Android Ndk,Android Framework,这是我在android平台上的第一个项目,我还不适应这个环境 我需要编写一个本机应用程序,它可以从[应用程序的用户id和应用程序运行实例的pid]中派生应用程序包名称和签名 我浏览了android应用程序框架,发现PackageManger能够获得软件包签名。.getPackageManager().getPackageInfo(packageName,获取签名) 但是,这显示了在Java应用程序中从包名获取签名的可能性。正如我所说,我们的输入参数只是应用程序的用户id/运行实例进程id。我还需
提前谢谢 A1:我假设可以在应用程序目录中扫描包名,然后尝试在本机代码中匹配关联的用户id。在Java中,您可以直接使用 A2:还没有看到任何本地人可以这样做。事实上,在非根目录手机上不可能访问任意的
.apk
文件
A3:“可能不会”和“可能不会”以及:我不知道怎么做。绑定到远程服务不提供该服务的身份验证信息;即使有:如何在不访问签名内容的情况下验证签名,即.apk
编辑:
如前所述,
pm
工具可能会有所帮助。实际上,位于/data/app
中的APK文件是世界可读的。很多年前就有一种拷贝保护机制,现在已经不存在了,看到了吗