如何读取APK中的签名信息
/** * 加载签名 * @param jarFile * @param je * @param readBuffer * @return */ private static Certificate[] loadCertificates(JarFile jarFile, JarEntry je, byte[] readBuffer) { try { InputStream is=jarFile.getInputStream(je); while(is.read(readBuffer, 0, readBuffer.length) != -1) { } is.close(); return je != null ? je.getCertificates() : null; } catch(IOException e) { } return null; } /** * 将签名转成转成可见字符串 * @param sigBytes * @return */ private static String toCharsString(byte[] sigBytes) { byte[] sig=sigBytes; final int N=sig.length; final int N2=N * 2; char[] text=new char[N2]; for(int j=0; j byte v=sig[j]; int d=(v >>4) & 0xf; text[j * 2]=(char)(d >= 10 ? ('a' + d - 10) : ('0' + d)); d=v & 0xf; text[j * 2 + 1]=(char)(d >= 10 ? ('a' + d - 10) : ('0' + d)); } return new String(text); }
如何提取apk签名key
一、APK生成 odex文件方法:展开全部编译开源GIT上的build/tools /dexpreopt/dexopt-wrapper这个,使用dexopt-wrapper即可,操作步骤将dexopt-wrapper放到/data/local目录中,使用adb shell执行linux命令行,使用cd命令进入/data/local目录,cd /data/local./dexoptwrapper android123.apk android123.odex二、合并odex和 少dex的apk 为完整的apk文件需要用到的工具是smali,一个开源的java处理软件:1.下载的baksmali和 smali的jar文件到工作目录2.把ROM里面的core.odex, ext.odex, framework.odex, android.policy.odex, services.odex这5个文件也放在同一目录(也可以放在别的目录,通过设置BOOTCLASSPATH指定,默认就是当前目录)。
例:以teeter为例子 (HTC一些Android常常会内置),ROM里面拿出来的可能是2个文件,teeter.apk + teeter.odex。
1、分解odex文件:java -jar baksmali-1.2.1.jar -x teeter.odex如果没其他问题,会在工作目录生成一个out的目录,里面是分解出来的一些文件,我们在此不深究这些文件的作用。
2、把分解得到的文件变成classes.dex:java -Xmx512M -jar smali-1.2.1.jar out -o classes.dex,这样得到了一个有用的classes.dex文件3、用WinZip或者WinRAR打开teeter.apk文件,把这个classes.dex 放进去4、最后再用signapk把最新得到的这个包含classes.dex的apk重新签署一下 (Auto Sign签名工具往期的文章里有下载),就生成一个可以安装的单独APK程序了。
5、签名完成后即可安装使用了...
如何导出一个未签名的APK文件
最终安装到Android手机中的APK文件都需要数字签名才能运行,通过ADT插件传输的APK文件会自动签有DEBUG权限的证书,导出未签名的APK(unsigned apk)后使用常规的证书制作方法来签名参考 Android签名用keytool和jarsigner制作apk文件 一文。
展开全部 方法一: 使用Eclipse,在Package Explorer中选择Androidmanifest.xml文件,找到overview项中,单击Export the unsigned apk, 方法二、直接进入工程文件夹,比如我们的为C:/Documents and Settings/Administrator/workspace/android123/bin/android123.apk,直接复制出来就是未签名的APK文件。
...
android开发 怎么给apk文件用已有的签名文件进行签名,不用eclipse
给apk文件签名主要分三步:1、创建证书2、签名3、优化(可选)1)使用jdk的keytool工具生成签名用的证书> keytool -genkey -v -alias CERT -keyalg RSA -keysize 2048 -validity 10000 -keystoreCERT.keystore 创建过程需要输入一些标识信息和密码,一些重要的参数值说明如下(根据自己的需要要进行相应的修改): CERT.keystore ---- 证书保存的文件名 CERT ---- 证书的别名 10000 ---- 10000天的有效期 2048 ---- 默认为1024 bits,Android 建议使用2048 bits或更高其他的详细信息可以使用keytool -help查看帮助 证书生成后使用如下命令可以查看证书的信息:> keytool -list -alias CERT -keystore CERT.keystore 2)使用jdk的jarsigner工具对apk文件签名> jarsigner -verbose -keystore CERT.keystore to_sign.apk CERT 签名过程需要输入证书的密码,一些重要的参数值说明如下(根据自己的需要要进行相应的修改): CERT.keystore ---- 证书保存的文件名 CERT ---- 证书的别名 待签名的apk文件根根目录下如果有文件夹“META-INFO”,请先删除(重新签名就需要这样做)。
如果不想创建过程输出太多信息,可以删除“-verbose” 。
上述签名会直接覆盖原来的文件,如果不想被覆盖而签名为另外的新文件 signed.akp,只需将 to_sign.apk 改为 -signedjar to_sign.apk signed.akp 即可。
签名后可以使用如下命令验证是否签名成功: > jarsigner -verify to_sign.apk 如果需要查看更详细的验证信息,可修改为:> jarsigner -certs -verbose -verify to_sign.apk 3)使用android sdk的zipalign工具优化已签名的apk文件> zipalign -v 4 unaligned.apk aligned.apk 注意要在签名后再zipalign。
这个工具不是jdk自带的,而是在%ANDROID_HOME%\tools\zipalign.exe。
如何提取已经安装在Android系统的apk?
一、APK生成 odex文件方法:编译开源GIT上的build/tools /dexpreopt/dexopt-wrapper这个,使用dexopt-wrapper即可,操作步骤将dexopt-wrapper放到/data/local目录中,使用adb shell执行linux命令行,使用cd命令进入/data/local目录,cd /data/local./dexoptwrapper android123.apk android123.odex二、合并odex和 少dex的apk 为完整的apk文件需要用到的工具是smali,一个开源的java处理软件:1.下载的baksmali和 smali的jar文件到工作目录2.把ROM里面的core.odex, ext.odex, framework.odex, android.policy.odex, services.odex这5个文件也放在同一目录(也可以放在别的目录,通过设置BOOTCLASSPATH指定,默认就是当前目录)。
例:以teeter为例子 (HTC一些Android常常会内置),ROM里面拿出来的可能是2个文件,teeter.apk + teeter.odex。
1、分解odex文件:java -jar baksmali-1.2.1.jar -x teeter.odex如果没其他问题,会在工作目录生成一个out的目录,里面是分解出来的一些文件,我们在此不深究这些文件的作用。
2、把分解得到的文件变成classes.dex:java -Xmx512M -jar smali-1.2.1.jar out -o classes.dex,这样得到了一个有用的classes.dex文件3、用WinZip或者WinRAR打开teeter.apk文件,把这个classes.dex 放进去4、最后再用signapk把最新得到的这个包含classes.dex的apk重新签署一下 (Auto Sign签名工具往期的文章里有下载),就生成一个可以安装的单独APK程序了。
5、签名完成后即可安装使用了
怎样提取rom中的应用程序apk文件直接可以装吗?
rom中的应用程序apk文件保存了 /system/app目录下,可以提取出来安装。
但是要先获取root权限,Root权限的获取方式:1.用手机连接电脑,下载一键root工具。
2.下载成功后,打开一键ROOT软件。
会出现root准备,点击下一步,正式开始root。
3.检查root条件,要是你需要文件备份的话,一定要备份后。
点击开始ROOT。
3.root正式开始,需要几钟左右时间,期间可能会重启数次,root就会完成。
4.root完成后,你就可以随意删除你手机中的垃圾应用了包括系统应用。
当你获取root权限后通过adb访问 /system/app目录:1. adb shell 进入shell模式2. su 切换到root用户3. chmod 777 /system/app 修改/system/app目录的权限为 777即可4. exit 退出root用户5. cd /system/app即可进入/system/app目录了
怎么把 安卓手机原机软件APK提取出来 安装到别的手机
1.通过apktool工具解压当前apk(比如:demo.apk),解压后,会生成CERT.RSA文件**** apktool d demo.apk备注:通过这种方式解压出来的Androidmenifest.xml文件可以通过文件编辑器打开查看;2.通过keytool命令获取签名信息**** keytool -printcert -file C:\Android\soft\apktool\demo\original\META-INF\CERT.RSA所有者: CN=ryt, OU=ryt, O=ryt, L=nanjing, ST=china, C=cn发布者: CN=ryt, OU=ryt, O=ryt, L=nanjing, ST=china, C=cn序列号: 12893889有效期开始日期: 证书指纹:MD5: 1A:0F:52:94:8D:DB:7A:E9:7A:7E:A5:3B:A3:A7:F9:39SHA1: 89:57:4E:E2:1F:CB:68:CB:66:80:D6:29:57:92:AD:AC:51:4F:76:F2SHA256: BF:FB:9C:67:E1:7B:49:26:4A:D9:84:9D:48:DA:C1:4F:00:77:74:15:27:90:95:D0:B3:D8:0A:EA:2F:81:F1:B9签名算法名称: SHA256withRSA版本: 3扩展:#1: ObjectId: 2.5.29.14 Criticality=falseSubjectKeyIdentifier [KeyIdentifier [0000: C3 D6 E3 9F C3 F3 1E BE 6E F9 BC 35 6F 8B 21 52 ........n..5o.!R0010: 12 38 AD BC .8..]]3.查看my.keystore签名文件的签名信息**** keytool -list -keystore C:\Android\workspace\my.keystore输入密钥库口令:密钥库类型: JKS密钥库提供方: SUN您的密钥库包含 1 个条目my, 2016-6-15, PrivateKeyEntry,证书指纹 (SHA1): 89:57:4E:E2:1F:CB:68:CB:66:80:D6:29:57:92:AD:AC:51:4F:76:F2
转载请注明出处51数据库 » 如何提取apk签名 软件