反编译class(怎样使用javap来反编译class文件)
本文目录
- 怎样使用javap来反编译class文件
- 如何反编译class文件,简单快速
- 怎么把class文件反编译成java文件
- 如何将java中的.class文件反编译
- 怎么反编译class
- 求游戏Lunatic record 2的反编译
- java 类似游戏中技能CD(冷却时间)的效果怎么实现(内有详细说明)
- 怎么把.class文件反编译成.java 经修改后再编译成.class
- 如何防止class被反编译,の颐堑闹恫
- 如何利用反编译软件打开并修改class文件
怎样使用javap来反编译class文件
当然可以了。在java软件包的bin文件夹下有一个javap程序,就是用来反编译的。 用法如java一样。就是先用javac变成字节码文件就是.class文件后,用javap 加上文件名就可以反编译了。 举个例子test.class,反编译用javap test就行了。
如何反编译class文件,简单快速
搜索关键词“jd-gui”,点击进入jd-gui的官方网站。
(1)点击“JD-GUI”链接
(2)点击“Download”链接
(3)点击选择您要下载的版本,如果为windows系统请选择“xxx.windows.zip“,如果为苹果或linux系统则选择其他的下载链接。
(1)下载后进行解压
(2)双击“jd-gui.exe”文件
(3)找到您要反编译的class文件。
(4)用鼠标拖拽到jd-gui软件的灰色区域。
此时可以看到,class文件被反编译为了java文件,并且代码格式很好。
在右侧可以看到java的包层级,类,方法等等,十分方便。
怎么把class文件反编译成java文件
反编译工具jad简单用法
以下假设jad.exe在c:\java目录下
一、基本用法
Usage:jad
直接输入类文件名,且支持通配符,如下所示。
c:\java\》jad example1.class
c:\java\》jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。
二、Option -o
不提示,覆盖源文件
三、Option -s
c:\java\》jad -sjava example1.class
反编译结果以.java为扩展名。
四、Option -p
将反编译结果输出到屏幕
c:\java\》jad -p example1.class
将反编译结果重定向到文件
c:\java\》jad -p example1.class》example1.java
五、Option -d
指定反编译的输出文件目录
c:\java\》jad -o -dtest -sjava *.class
如何将java中的.class文件反编译
可以使用jad:反编译工具
可以将class文件反编译成java文件
假设将jad.exe安装在f:/java/jad目录下
把要反编译的文件*.class复制到此目录下,接着接以下步骤,
在命令行窗口环境中进入jad目录,
然后运行:jad -s java *.class (附,*.class指要反编译的文件名)
如果*.class文件和jad程序不在同一个目录,就要用到path环境变量,
将jad 所在目录加到path路径中即可:set path=%path%;f:/java/jad
若要了解jad更为详细的使用帮助信息,直接运行jad.exe查看
怎么反编译class
安装Java jdk后
看安装目录里有没有jad.exe,没有要下载,一般都有的
配置Java环境变量
开始-运行-cmd-回车-进入命令行窗口:
cd+空格+class文件所在路径:
按下面的命令进行反编译:
例如: jad -sjava example.class 回车
在目录里可以看到example.java源文件
反编译一个class文件:jad example.class,会生成example.jad,用文本器打开就是java源代码
指定生成源代码的后缀名:jad -sjava example.class,生成example.java
改变生成的源代码的名称,可以先使用-p将反编译后的源代码输出到控制台窗口,然后使用重定向,输出到文件:jad -p example.class 》 myexample.java
把源代码文件输出到指定的目录:jad -dnewdir -sjava example.class,在newdir目录下生成example.java
把packages目录下的class文件全部反编译:jad -sjava packages/*.class
把packages目录以及子目录下的文件全部反编译:jad -sjava packages/**/*.class,不过你仍然会发现所有的源代码文件被放到了同一个文件中,没有按照class文件的包路径建立起路径
把packages目录以及子目录下的文件全部反编译并建立和java包一致的文件夹路径,可以使用-r命令:jad -r -sjava packages/**/*.class
当重复使用命令反编译时,Jad会提示“whether you want to overwrite it or not”,使用-o可以强制覆盖旧文件
还有其他的参数可以设置生成的源代码的格式,可以输入jad命令查看帮助,这里有个人做了简单的翻译:jad命令总结
当然,你会发现有些源文件头部有些注释信息,不用找了,jad没有参数可以去掉它,用别的办法吧。
求游戏Lunatic record 2的反编译
function nTabs(thisObj,Num){if(thisObj.className == “active“)return;var tabObj = thisObj.parentNode.id;var tabList = document.getElementById(tabObj).getElementsByTagName(“li“);for(i=0; i 《tabList.length; i++)
java 类似游戏中技能CD(冷却时间)的效果怎么实现(内有详细说明)
技能类里添加一个上次触发时间的的属性,和一个CD间隔的属性。这样技能的实例触发时检测当前时间和上次触发的时间间隔是否大于CD时间就行了,大于就触发技能修改技能触发时间,小于就提示CD时间未到。
肯定是用计时器了
大概的样子
设置一个boolen变量
按钮添加监听
监听内容
检查这个变量时候为真 如果为假就什么都不做 如果为真就执行下边代码
执行这个技能的效果
把boolen变量设置为假
执行一个计时器 定义一个时间 如果时间到了就把boolen设置为真
怎么把.class文件反编译成.java 经修改后再编译成.class
网友分享的:
一、反编译:下载一个jad
反编译工具jad简单用法
以下假设jad.exe在c:/java目录下
一、基本用法
Usage: jad
直接输入类文件名,且支持通配符,如下所示。
c:/java/》jad example1.class
c:/java/》jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源
文件。
二、Option -o
不提示,覆盖源文件
三、Option -s
c:/java/》jad -sjava example1.class
反编译结果以.java为扩展名。
四、Option -p
将反编译结果输出到屏幕
c:/java/》jad -p example1.class
将反编译结果重定向到文件
c:/java/》jad -p example1.class》example1.java
五、Option -d
指定反编译的输出文件目录
c:/java/》jad -o -dtest -sjava *.class
二:修改、再编译
用Eclipse新建工程,再将反编译出的Java文件按原样导入工程,就可以修改代码。修改并调试后,点击Eclipse菜单中的文件→导出→Java→可运行的JAR文件,选择配置工程和导出路径,然后点完成即可导出。
如何防止class被反编译,の颐堑闹恫
可以使用代码混淆是对Class文件进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能(语义)。但是混淆后的代码很难被反编译,即反编译后得出的代码是非常难懂、晦涩的,因此反编译人员很难得出程序的真正语义。
从理论上来说,如果有足够的时间,被混淆的代码仍然可能被破解,甚至目前有些人正在研制反混淆的工具。但是从实际情况来看,由于混淆技术的多元化发展,混淆理论的成熟,经过混淆的Java代码还是能够很好地防止反编译。
app开发完后,最好做一下扫描和加固,应用扫描可以通过静态代码分析、动态数据跟踪,定位出风险代码,同时监控敏感数据的异常行为。
加固可以在一定程度上保护自己核心代码算法,提高破解/盗版/二次打包的难度,缓解代码注入/动态调试/内存注入攻击等。
目前市面上有很多第三方加固的平台, 如果新应用发布前需要扫描或者加固的话,可以先试试免费的,例如腾讯御安全,建议自己先去扫描测试下。
如何利用反编译软件打开并修改class文件
没办法完全反编译所以的class文件为java文件的,因为java中编译具有不可逆性。
但是可以将每个文件反编译,之后直接放到相应的包路径下来进行重新编码。
第一步:通过附件的“jd-gui”打开jar文件;
第二步:将每个class文件的内容,粘贴到一个新建的java工程中(包路径必须相同);
第三步:修改需要修改的类,之后如果运行没问题的话,直接导出为jar包即可。
备注:其实此过程中出错的几率还是很大的,如果能够实现百分百编译的话,那么所以的项目也就间接开源了,这肯定是不现实的。
更多文章:
win10无法启动mysql服务(win10 mysql5.0服务无法启动)
2024年7月24日 06:33
c语言中switch的用法(求教c语言中switch 语句的详细用法)
2024年6月27日 07:38
vuechange事件(Vue element Switch @change事件死循环解决方式)
2024年7月11日 13:54
对话框区别于窗口的一个最显著一点是对话框可以(对话框与窗口有什么区别)
2024年7月3日 13:41
strcat函数报警(C语言字符串函数strcat进入死循环!)
2024年7月21日 02:20
continental翻译(大陆架的英语翻译 大陆架用英语怎么说)
2024年7月10日 13:54
fortran语言用什么软件(编译fortran程序应该选用什么编辑器)
2024年7月6日 04:45
websocket springboot(springboot websocket断开重连后有什么问题)
2024年7月4日 21:10