<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-348  評論-598  文章-0  trackbacks-0
    之前寫了一片文章介紹了應用內外的簽名比較(在Android系統外部和內部讀取Android應用的簽名),發現在某些機器上,讀取安裝包的簽名有的時候為空,所以找了其他辦法。
        public static String getPathWithPackageName(Context paramContext,
                String paramString) {
            PackageManager pm = paramContext.getPackageManager();
            try {
                PackageInfo pi = pm.getPackageInfo(paramString, 1);
                System.out.println(pi.applicationInfo.publicSourceDir);
                return pi.applicationInfo.publicSourceDir;
            } catch (PackageManager.NameNotFoundException localNameNotFoundException) {

            }
            return null;
        }

        public static String getFileSignatureMd5(String filePath) {
            try {
                JarFile jarFile = new JarFile(filePath);
                JarEntry jarEntry = jarFile.getJarEntry("AndroidManifest.xml");
                if (jarEntry != null) {
                    try {
                        Certificate[] certs = jarEntry.getCertificates();
                        byte[] certBytes = certs[0].getEncoded();
                        String main = StringUtilities
                                .bytesToHexString(CryptoUtilities
                                        .encryptByMD5(certBytes));
                        System.out.println("new to Char " + main.length() + " apk:"
                                + main);
                        return main;
                    } catch (CertificateEncodingException localCertificateEncodingException) {

                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        Handler handler3;

        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            String installedPath = getPathWithPackageName(this,
                    "cn.emagsoftware.gamehall");
            System.out.println("installedPath=" + installedPath);
            String installedSig = getFileSignatureMd5(installedPath);
            System.out.println("installedSig=" + installedSig);

            String apk = "/sdcard/1.apk";
            String remoteSig = getFileSignatureMd5(apk);
            System.out.println("remoteSig=" + remoteSig);
            System.out.println(installedSig.equals(remoteSig));
        }










    ---------------------------------------------------------
    專注移動開發

    Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
    posted on 2012-07-04 21:18 TiGERTiAN 閱讀(1675) 評論(0)  編輯  收藏 所屬分類: Android
    主站蜘蛛池模板: 在线观看片免费人成视频无码 | 久久精品免费视频观看| 亚洲精品456播放| 青娱乐在线视频免费观看| 伊人久久亚洲综合影院| 一级毛片免费一级直接观看| 中文字幕亚洲图片| 四虎影视无码永久免费| 亚洲av福利无码无一区二区 | 亚洲国产午夜福利在线播放| 一区二区三区免费高清视频| 亚洲夜夜欢A∨一区二区三区 | 婷婷久久久亚洲欧洲日产国码AV| 免费成人在线视频观看| 亚洲一区二区三区高清| 桃子视频在线观看高清免费视频| 1区1区3区4区产品亚洲| 一区二区无码免费视频网站 | 久久不见久久见免费视频7| 亚洲1234区乱码| 国产免费资源高清小视频在线观看| 老司机亚洲精品影院在线观看| 亚洲人午夜射精精品日韩| 中文字幕a∨在线乱码免费看| 亚洲男人天堂av| 女人与禽交视频免费看| 日日狠狠久久偷偷色综合免费| 国产亚洲av人片在线观看| 99re6在线精品视频免费播放| 国产成人精品日本亚洲网址| 亚洲国产精品无码久久久久久曰| a国产成人免费视频| 亚洲影视自拍揄拍愉拍| 亚洲精品国产日韩无码AV永久免费网| 你懂的网址免费国产| 亚洲人成在久久综合网站| 亚洲精品网站在线观看不卡无广告| 青青草原1769久久免费播放| 亚洲自偷自偷在线成人网站传媒 | 精品无码无人网站免费视频| 亚洲成AV人影片在线观看|