惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
C
Check Point Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
F
Full Disclosure
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
博客园 - 司徒正美
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
V
V2EX - 技术
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Spread Privacy
Spread Privacy
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
O
OpenAI News
Jina AI
Jina AI
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
I
InfoQ
D
Docker
P
Palo Alto Networks Blog
Recorded Future
Recorded Future
M
MIT News - Artificial intelligence
博客园 - Franky
B
Blog
Scott Helme
Scott Helme
博客园 - 叶小钗
D
DataBreaches.Net

博客园 - strayromeo

windows下创建文件夹链接 windows的虚拟磁盘(vhd,vhdx)使用 备注下Windows可能会用到的运行命令 SQL2008R2 收缩数据库问题 - 日志文件不变小 转:SQL Server服务器名称与默认实例名不一致的修复方法 mac下初始化eclipse的安卓开发ndk开发环境 eclipse android ndk 提示Type 'JNIEnv' could not be resolved 等信息解决办法 eclipse ndk 配置和简单开发demo ubuntu15.10运行android studio出错unable to run mksdcard sdk tool Pavilion M4-1016TX 加装固态硬盘(SSD)+UEFI+GPT安装WIN8.1 redis 内存库设置 教你怎么解决64位Windows版Redis狂占C盘的问题. MSSQL数据库分区表 如何将桌面的路径定义到其它盘符,如d:\users\桌面 - strayromeo - 博客园 sqlserver数据库脱机时发生异常:由于无法在数据库 'SMS' 上放置锁,ALTER DATABASE 失败。请稍后再试。 ALTER DATABASE 语句失败。 (.Net SqlClient Data Provider) SQLServer—系统中的内存配置 .net remoting 客户端与服务端绑定事件,一部电脑当服务器,另一部当客户端,发布后没法接收远程错误信息。 Java Socket 模拟HTTP请求 HString类替代系统string,内部采用StringBuilder拼接,减少string+操作时对象的创建。 Windows 7 IIS (HTTP Error 500.21 - Internal Server Error)解决
JAVA代码反编译笔记
strayromeo · 2015-02-26 · via 博客园 - strayromeo

最近有个朋友说有个java弄的软件是从朋友处拿来的,由于进行了网卡地址绑定,不修改网卡地址无法使用,叫我看看有无办法破解,之前都很少玩这些东西,本着帮忙的心态,尝试了下,便有了一下的笔记内容。

1、使用jd-gui进行反编译,找到核心校验代码,将该b.class文件单独从jar包中抽离出来,由于该jar包编译打包时采用加密混淆,是无法直接使用的,而且代码非常难读懂,也只能将就着看了;

2、将包含b.class的jar包通过winrar解压工具直接打开,根据包名路径找到b.class然后直接删掉里面的b.class;

3、用eclipse建立一个java工程,将处理过的jar包加到项目的引用路径中,再根据b.class所在的包建立一个相同的包,再在包里面建一个b.java文件,将jd-gui反编译后的代码贴进去,然后根据提示修改,如果运气好的话很快修改完,并且编译通过,而且可以使用。我是属于运气不好的,碰到不能使用的。就有了下面的步骤;

4、如果运气好的话编译通过,能正常使用的情况,在将jar包用winrar打开,找到b.class所在的包,将编译修改后的class文件压缩进去,放到项目中即可运行了;

5、运气不好,跑起来居然报错,说缺少方法,网上搜了下说jad反编译是不完整的,有bug,没法子,只能自己去看java的字节码了,

6、将分离后的b.class放在“d:\decode\” 文件夹中,然后调用cmd窗口,先切换到“d:\decode\”目录,

然后输入命令:javap b.class > d:\decode\b1.java,javap将会根据b.class生成b的所有方法属性,包括公有,私有的(主要用于对比缺少的方法);

再输入命令:javap -verbose b.class > d:\decode\b2.java,javap将会根据b.class生成对应的java字节码,先通过b1.java找出jd-gui反编译后缺少的方法,

然后根据b2.java中找到对应的方法,然后看里面的JVM是怎么跑的,将方法还原即可。

至此结束。。。。。

附上java字节码的一些解释:

http://blog.csdn.net/ygc87/article/details/12953421

http://blog.163.com/lihui_2000/blog/static/665969402012194530772/

http://tieba.baidu.com/p/1947057129