当前位置: 首页 > news >正文

广安发展建设集团官方网站discuz网站模板

广安发展建设集团官方网站,discuz网站模板,wordpress如何修改版权,html简单登录界面代码混淆 因为开启混淆会使编译时间变长#xff0c;所以debug模式下不开启。我们需要做的是#xff1a; 1.将release下minifyEnabled的值改为true#xff0c;打开混淆#xff1b; 2.buildConfigField 不显示log日志 为什么要混淆#xff1a; 优化java的字节码减小apk文件的大…混淆 因为开启混淆会使编译时间变长所以debug模式下不开启。我们需要做的是 1.将release下minifyEnabled的值改为true打开混淆 2.buildConfigField 不显示log日志 为什么要混淆 优化java的字节码减小apk文件的大小在混淆过程中会删除未使用过的类和成员代码安全使类、函数、变量名随机变成无意义的代号形如a,b,c...之类。防止app被反编译之后能够很容易的看懂代码APP需要保留的公共部分通用 四大组件以及子类自定义Application native方法R下面的资源序列化Parcelable,Serializablesupport下面的继承子类Activity中参数是view的方法枚举自定义View带有回调函数On*Listener,OnEventWebView1. 判断程序是否运行在模拟器上 boolean isRunningInEmualtor() {boolean qemuKernel false;Process process null;DataOutputStream os null;try{ process Runtime.getRuntime().exec(getprop ro.kernel.qemu); os new DataOutputStream(process.getOutputStream());BufferedReader in new BufferedReader(new InputStreamReader(process.getInputStream(),GBK));os.writeBytes(exit\n); os.flush();process.waitFor();// getprop ro.kernel.qemu 1 在模拟器// getprop ro.product.model sdk 在模拟器// getprop ro.build.tags test-keys 在模拟器qemuKernel (Integer.valueOf(in.readLine()) 1);Log.d(com.droider.checkqemu, 检测到模拟器: qemuKernel); } catch (Exception e){ qemuKernel false;Log.d(com.droider.checkqemu, run failed e.getMessage()); } finally {try{ if (os ! null) { os.close(); } process.destroy(); } catch (Exception e) {} Log.d(com.droider.checkqemu, run finally); }return qemuKernel;} 2. 检测keystore签名再与之前得做比较 public int getSignature(String packageName) { PackageManager pm this.getPackageManager();PackageInfo pi null;int sig 0;try {pi pm.getPackageInfo(packageName, PackageManager.GET_SIGNATURES);Signature[] s pi.signatures;sig s[0].hashCode(); } catch (Exception e1) {sig 0;e1.printStackTrace();}return sig;} 3. 检测包名版本名和版本号然后做判断 private String getAppInfo() {try {String pkName this.getPackageName();String versionName this.getPackageManager().getPackageInfo(pkName, 0).versionName;int versionCode this.getPackageManager().getPackageInfo(pkName, 0).versionCode;return pkName versionName versionCode;} catch (Exception e) {}return null;} 4.完整性校验 对签名文件中classes.dex哈希值的校验 Android工程代码经编译打包生成apk包后开发者需要对其签名才能在安卓市场上发布供用户下载和安装。对apk包签名后会在原apk包结构基础上加入META-INF文件目录。 META-INF文件目录下含有三个文件:MANIFEST.MF文件、ANDROIDD.SF文件、ANDROIDD.RSA文件META_INF目录文件结构如下图所示 其中MANIFEST.MF文件描述了在签名时签名工具对apk包中各个文件摘要计算后的哈希值并对哈希值做了Base64编码。MANIFEST.MF文件中描述的classes.dex文件的SHA-1哈希值如下图所示 一旦攻击者对APK中反编译并篡改代码经二次打包签名后的classes.dex文件的SHA-1必定改变因此我们可以将该文件中的classes.dex文件的SHA-1哈希值保存起来作为校验对比值应用程序启动时读取apk安装包中的MANIFEST.MF文件解析出classes.dex的SHA-1哈希值然后与原SHA-1哈希值进行比较判断此APK包代码文件是否被篡改。 通过检查签名文件classes.dex文件的哈希值来判断代码文件是否被篡改的java实现代码如下所示 通过检查签名文件classes.dex文件的哈希值来判断代码文件是否被篡改 param orginalSHA 原始Apk包的SHA-1值 public static void apkVerifyWithSHA(Context context, String baseSHA) { String apkPath context.getPackageCodePath(); // 获取Apk包存储路径 try { MessageDigest dexDigest MessageDigest.getInstance(SHA-1); byte[] bytes new byte[1024]; int byteCount; FileInputStream fis new FileInputStream(new File(apkPath)); // 读取apk文件 while ((byteCount fis.read(bytes)) ! -1) { dexDigest.update(bytes, 0, byteCount); } BigInteger bigInteger new BigInteger(1, dexDigest.digest()); // 计算apk文件的哈希值 String sha bigInteger.toString(16); fis.close(); if (!sha.equals(baseSHA)) { // 将得到的哈希值与原始的哈希值进行比较校验 Process.killProcess(Process.myPid()); // 验证失败则退出程序 } } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } 5.Android逆向-.so文件动态调试步骤 so库加密的方法 1.是在有源码的基础上进行对特定的section进行加密 2.基于二进制级别的特定函数的加密 参考博客: https://blog.csdn.net/nicolelili1/article/details/79243744 https://blog.csdn.net/feibabeibei_beibei?t1 --------------------- 作者深南大盗 来源CSDN 原文https://blog.csdn.net/WHB20081815/article/details/88960114 版权声明本文为作者原创文章转载请附上博文链接 内容解析ByCSDN,CNBLOG博客文章一键转载插件
http://www.zqtcl.cn/news/683823/

相关文章:

  • 汕头东莞网站建设怎么制作微信小程序app
  • 网站建设预算方案模板怎么做网络推广网站
  • 顺义网站开发wordpress内容主题模板下载
  • 永康做网站的化工网站模板免费下载
  • 潍坊高密网站建设如何做网页推广
  • 杭州房产网站建设wordpress 替换谷歌字体
  • 陕西省建设工程质量安全监督总站网站开发公司与施工单位工程造价鉴定报告
  • 嘉兴网站建设企业阿里巴巴国际贸易网站
  • 临沂手机网站建设珠海手机网站建设价格
  • 56m做图片视频的网站是什么软件开发和大数据哪个前景好
  • 郑州网站建设哪家做快消品的网站
  • 太原做网站费用东莞it外包
  • 深圳网站关键词优化公司集团网站建
  • 网站建设项目合同传奇手游网站
  • 如何学习网站建设app申请付费网站
  • 微网站开发平台案例重庆网站设计哪家公司好
  • 快递空包网站建设网站的首页怎么做的
  • 青海手机网站建设北京网站建设推荐华网天下
  • 网站网站建设公司孩子学编程网上课程哪家好
  • 跨境电商网站建设方案书江门网页制作
  • 门户网站建设定做如何使用域名访问网站
  • 做网站后台运营这个工作怎么样建设网站销售
  • 两学一做网上答题网站做网站域名是赠送的吗
  • 江苏住房城乡建设厅网站WordPress上传Excel
  • 广州淘宝网站建设济南高新区网站建设
  • 如何注册一个网站长沙的科技公司
  • 温州网络公司网站建设永久免费云linux服务器网页
  • 中国教育网站官网网站建设是半年的持久战
  • 为什么营销型网站比普通网站建站贵常州seo排名收费
  • 商贸公司寮步网站建设极致发烧学网站建设基础