博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Atitti.java android反编译解决方案-----虚拟机方案
阅读量:6720 次
发布时间:2019-06-25

本文共 1036 字,大约阅读时间需要 3 分钟。

Atitti.java android反编译解决方案-----虚拟机方案

 

哈哈,终极解决方案是虚拟机。。。c++也可以反编译为汇编代码,但无需担心,因为读懂汇编太麻烦。。只要不能拿到c++源码就可。。。

java可以使用虚拟机方式,使用汇编模式编写,真正的代码其实在  不外传的文档里面...如果对方反编译,只能得到类似于汇编的代码。。

 

作者::  (attilax)>>> 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

 

 

AtiVM vm = new AtiVM();

 vm.getstatic(CRuntime.INSTANCE);// 获取指定类或者接口的静态域,并将其值压入栈顶

vm.push(null); // null推送至栈顶

vm.invokeinterface(CLibraryInterface.class, "time", 2);// 调用接口方法

// ,从栈顶取出俩个数作为参数,把返回值放入栈顶

 

vm.push(631123200);

vm.sub();// sub 将栈顶两int型数值相减并将结果压入栈顶

vm.push(850348800l);// 

vm.cmp(); // cmp 比较栈顶两long型数值大小,并将结果(10-1)压入栈顶

if (vm.ifle()) // ifle 当栈顶int型数值小于等于0时跳转

{

vm.getstatic(System.out);    

vm.push("ok");

vm.invokevirtual(PrintStream.class, "println");  //调用实例方法

vm.ret(); // return

} else {

// vm.new0(RuntimeException.class);

 

vm.push("ex1");

vm.invokespecial(RuntimeException.class); // 调用超类构造方法,实例初始化方法,私有方法

vm.athrow(); // 将栈顶的异常抛出

}

 

System.out.println("---finish");

 

}

 

 

 

也能使用classloader做个bejyez ....中间容易的点儿..

你可能感兴趣的文章
【翻译】前景img-sprites, 高对比模式分析
查看>>
进程和线程的一个简单形象的解释
查看>>
The road to learning English-Grammar
查看>>
Python多线程编程之多线程加锁
查看>>
shell报错:-bash: [: ==: 期待一元表达式 解决方法 ([: ==: unary operator expected)
查看>>
opengl 杂记
查看>>
兼容MIUI5和MIUI6的开启悬浮窗设置界面
查看>>
基于FPGA的DDS设计(一)
查看>>
.net 开发框架(一)[数据通用层]
查看>>
sql-ISNULL函数(转载)
查看>>
天启android5.1系统无法在非1650批次号的rk3288w芯片上启动
查看>>
C#.net书籍列表
查看>>
将IRepository接口进行抽象,使它成为数据基类的一个对象,这样每个子类都可以有自己的最基础的CURD了...
查看>>
IIS7.5 错误代码0x8007007e HTTP 错误 500.19 - Internal Server Error
查看>>
数论17——反演定理(二项式反演)
查看>>
第十八章 用于大型程序的工具
查看>>
ASP.NET 2.0学习笔记之Object Tag Syntax
查看>>
Redis 配置文件
查看>>
Jmeter Smock Test规范设计
查看>>
MurmurHash算法:高运算性能,低碰撞率的hash算法
查看>>