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

网站公司简介模板关键词优化排名哪家好

网站公司简介模板,关键词优化排名哪家好,做网站骗钱,没有网站可以做百度排名吗经过proguard混淆过后,发生异常时堆栈也进行了混淆,那么如果获取的原始的堆栈呢?我们下面来看下 使用proguard 根据mapping文件直接解析 import proguard.obfuscate.MappingReader; import proguard.retrace.FrameInfo; import proguard.re…

在这里插入图片描述
经过proguard混淆过后,发生异常时堆栈也进行了混淆,那么如果获取的原始的堆栈呢?我们下面来看下

使用proguard 根据mapping文件直接解析

import proguard.obfuscate.MappingReader;
import proguard.retrace.FrameInfo;
import proguard.retrace.FramePattern;
import proguard.retrace.FrameRemapper;
import proguard.retrace.ReTrace;import java.io.File;
import java.io.IOException;public class SymbolAnalysis {public static void main(String[] args) throws IOException {final FramePattern pattern = new FramePattern(ReTrace.REGULAR_EXPRESSION, false);final FrameRemapper frameRemapper = new FrameRemapper();MappingReader mappingReader = new MappingReader(new File("proguard/target/proguard_map.txt"));mappingReader.pump(frameRemapper);String crashStack = "Caused by: java.lang.RuntimeException: test exception\n" +"        at com.example.proguard.b.b.<init>(User.java:25) ~[classes!/:0.0.1]\n" +"        at com.example.proguard.ProguardApplication.run(ProguardApplication.java:22) [classes!/:0.0.1]\n" +"        at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:804) [spring-boot-2.4.2.jar!/:2.4.2]\n" +"        ... 13 common frames omitted\n";final String[] stackList = crashStack.split("\n");for (String stack : stackList) {FrameInfo frameInfo = pattern.parse(stack);if (frameInfo == null) {System.out.println(stack);continue;}for (FrameInfo retracedFrame : frameRemapper.transform(frameInfo)) {String retraceStack = pattern.format(stack, retracedFrame);System.out.println(retraceStack);}}}
}

运行结果如下,可以看到堆栈已经还原为了之前的源代码

在这里插入图片描述

proguard 是如何解析的呢

通过魔改proguard.obfuscate.MappingReader 这个类,我们加入写打印日志,分别是下面带有箭头的地方添加日志输出

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

然后我们修改下解析方法中我们自定义的CustomizeMappingReader,如下:

在这里插入图片描述
通过运行,我们可以得到如下结果:

在这里插入图片描述
通过分析我们可以发现:

  • class : 分为两个部分,混淆之后的类的全限定名及原始类的全限定名
  • field: 分为三部分,分别是混淆之后的类的全限定名、混淆之后的字段名称、以及字段信息
  • method: 分为三部分,分别是混淆之后的类的全限定名、混淆之后的方法名称、以及方法信息

根据这个结构,我们可以猜测到如果是方法解析,首先根据混淆之后的类的全限定名找到原始类的全限定名,然后根据混淆之后的方法名称以及方法信息找到原始的方法

在这里插入图片描述

http://www.wangmingla.cn/news/21404.html

相关文章:

  • 软件科技有限公司东莞网站seo优化
  • 建设网站分析网站seo网络优化
  • 东营网站推广岳阳seo
  • 宣威网站建设c3salesbaidu百度首页
  • 如何做招聘网站运营seo教程网站
  • 做网站后端用户用什么写十大网络营销经典案例
  • wordpress优秀网站企业微信会话内容存档
  • 科技广告公司网站建设深圳做网站公司
  • 百度自然排名网站的logo怎么做长春做网站推广的公司
  • 重庆做网站公司哪家好郑州抖音推广
  • 上海公司注册网站打开百度网站
  • 网站开发保密合同范本百度指数分析数据
  • 网站建设租用服务器天津百度推广公司地址
  • 广州口碑好的网站建设定制免费网页在线客服系统代码
  • 百度广告联盟官网下载热狗网站关键词优化
  • 西部数码网站管理助手 卸载企业营销网站制作
  • 有园林案例的网站可以下载新闻视频的网站
  • 泉州网站建设技术外包谷歌关键词优化怎么做
  • java做的小说网站的源代码正规百度推广
  • 互联网公司网站建设ppt模板下载媒体广告投放平台
  • 宿迁做网站的百度seo官方网站
  • 百度关键词策划和seo的优化seo关键词排名优化系统
  • 合肥效果好的网站推广杭州排名推广
  • 郑州网站制作费用英文seo实战派
  • 定手机网站建设拉新项目官方一手平台
  • 做棋牌网站团队潮州网站建设
  • 摄影网站设计图片今天
  • 资兴做网站公司seo优化检测
  • 网站域名的管理密码如何索取网推怎么做最有效
  • 网站开发项目时序图购物网站网页设计