浅析如何读懂这种反编译过来的文件,不喜勿喷。

赋值

Node node;Node node1 = _$3.getChildNodes().item(0);node1;node1;JVM INSTR swap ;node;getChildNodes();0;item();getChildNodes();0;item();getNodeValue();String s;s;

原始语句:

Node node;
Node node1 = currDocument.getChildNodes().item(0);
node = node1;
String s = node.getChildNodes().item(0).getChildNodes().item(0).getNodeValue();

//赋值语句
// JVM INSTR swap ;

不带参数创建对象

JVM INSTR new #244 <Class CrossTable>;JVM INSTR dup ;JVM INSTR swap ;CrossTable();CrossTable crosstable;crosstable;

CrossTable crosstable = new CrossTable();

带参数创建对象

JVM INSTR new #262 <Class StringBuffer>;JVM INSTR dup ;JVM INSTR swap ;String.valueOf(s2);StringBuffer();s.substring(j, i);append();s6;append();toString();s2;

s2 = (new StringBuffer(String.valueOf(s2))).append(s.substring(j, i)).append(s6).toString();
//s2 += s.substring(j, i) + s6;

for循环

int k = 0;
goto _L4
_L8:...k++;
_L4:if(k < as.length) goto _L8; else goto _L7

for(int k=0;k < as.length;k++){...}

while循环

String s1 = "";goto _L1
_L3:JVM INSTR new #262 <Class StringBuffer>;JVM INSTR dup ;JVM INSTR swap ;String.valueOf(s1);StringBuffer();_$2(resultset, s, l);append();toString();s1;
_L1:if(resultset.next()) goto _L3; else goto _L2

String s1 = "";while(resultset.next()){s1 = s1 + resultSetToString(resultset, s, l);}

我是天王盖地虎的分割线

本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/4314546.html,如需转载请自行联系原作者

Java反编译代码分析(一)相关推荐

  1. Java 反编译工具的使用与对比分析

    前言 Java 反编译,一听可能觉得高深莫测,其实反编译并不是什么特别高级的操作,Java 对于 Class 字节码文件的生成有着严格的要求,如果你非常熟悉 Java 虚拟机规范,了解 Class 字 ...

  2. eclipse安装JAVA反编译插件

    前言:在实际的开发中几乎都会使用到一些框架来辅助项目的开发工作,对于一些框架的代码我们总怀有一些好奇之心,想一探究竟,有源码当然更好了,对于有些JAR包中的代码我们就需要利用反编译工具来看一下了,下面 ...

  3. Eclipse Class Decompiler——Java反编译插件(转)

    Eclipse Class Decompiler是一款Eclipse插件,整合了多种反编译器,和Eclipse Class Viewer无缝集成,能够很方便的使用插件查看类库源码,进行Debug调试. ...

  4. java反编译工具_ReverseTool逆向工具集合

    反向工具 逆向工具集合 真棒骇客 Java和Jar(Android) jd-gui jar包浏览工具,对应的IDE插件,JD-Eclipse / JD-IntelliJ Luyten一个用于Procy ...

  5. java反编译工具_JDA Java反编译工具的下载和使用手册

    JDA(javadecompile analysis)是一款以dex为核心的java反编译工具,同时支持apk.dex.jar文件的反编译,支持动态重命名.该软件主要是用来反编译分析代码而不是反编译出 ...

  6. java反编译工具_Java开发必会的反编译知识(附支持对Lambda进行反编译的工具)...

    我之前推送过Java代码的编译与反编译,其中简单的介绍了Java编译与反编译相关的知识,最近给GitChat写<深入分析Java语法糖>的时候,又用到了很多反编译相关的知识,遂发现哪篇文章 ...

  7. Java基础学习总结(27)——7 款开源 Java 反编译工具

    今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在 ...

  8. 7 款开源 Java 反编译工具

    7 款开源 Java 反编译工具 今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其 ...

  9. 介绍一款好用的java反编译工具 - jd-gui

    当java应用程序在运行过程中遇到问题时,一般会抛出异常并打印堆栈信息,这些堆栈信息链中常常可以看到一些二方包和三方包.在排查问题时,很多时候我们需要查看这些二方包和三方包的源码.二方包是公司内部其它 ...

最新文章

  1. 他们说头不铁,别做机器人
  2. python socket通信 recv 丢包_关于socket网络传输数据的阿里云论坛用户知识和技术交流...
  3. removeAllViews()和removeAllViewsInLayout()之间的区别?
  4. tfrecord文件生成与读取
  5. pyspark intersection代码示例
  6. 更便捷:阿里云DCDN离线日志转存全新升级
  7. JSP PO VO BO DTO POJO DAO解释
  8. JMeter中添加dubbo相关插件异常问题解决
  9. Django入门 -- 框架操作基本流程
  10. linux QT 结束当前进程_Linux常用使用命令梳理
  11. Foxmail安装以及使用
  12. mysql三高讲解(二):2.3 InnoDB索引即数据
  13. 1600802047 android 第三次作业(音乐播放器)
  14. spring jpa查询视图
  15. 多功能s扫描器 php168,S扫描器–速度惊人的扫描器
  16. windows清理系统垃圾bat脚本
  17. 石墨烯——结构、制备方法与性能表征(1)
  18. 简单的魔方复原方法, 魔方还原公式,图解
  19. vtd和vt的区别_vtvi和v的区别是什么?
  20. python画动画爱心

热门文章

  1. android控件之TextView(一)
  2. 15 个 JavaScript Web UI 库 (转)
  3. RunLoop 浅析
  4. 选redis还是memcache?
  5. 【面试 struts2】【第三篇】struts2的问题
  6. Redux源码浅析系列(一):`CreateStore`
  7. docker 建mysql
  8. 《Linux嵌入式实时应用开发实战(原书第3版)》——3.5 Linux文件系统
  9. 提升Android开发效率的最佳实践
  10. mysql - AB复制