《Java常用算法手册第三版》百度网盘pdf最新全集下载:
链接: https://pan.baidu.com/s/1PJdaTXXYyhN23tyJjMbIWw
?pwd=mbgq 提取码: mbgq简介:Java常用算法手册第三版分别介绍了算法基础、算法应用和算法面试题。首先介绍了算法概述,然后重点分析了数据结构和基本算法思想;接着详细讲解了算法在排序、查找、数学计算、数论、历史趣题、游戏等领域中的应用。
一.破解工具预备要破解JAVA软件,必须要反编译用JAVA编写的类文件。由于网上大虾们的支持,许多反编译软件被研制出来
其中,我经常使用的是:
1. cavaj Java Decompile 1.11
2.Java源代码反编译专家(该软件支持目录编译)
3.JAD
这三个软件各有优缺点:前二个软件是GUI界面,使用起来很方便。尤其是"Java源代码反编译专家",支持
目录编译,用起来很得心应手;第三个软件JAD功能最强,由于是字符界面,但是相对初学者比较难一点。
二.破解步骤
1.首先分析批处理文件,找到第一个调用的CLASS。
在分析iavaZIP20软件的iavaZIP2.bat,我把最重要的一句COPY到下行:
com.sfs.app.iavazip20.iavaZIP20 %1 %2 %3 %4 %5 %6 %7 %8 %9
可以知道,在com\sfs\app\iavazip20的目录下的iavaZIP20.CLASS就是被调用的第一个CLASS.
2.反编译第一个CLASS,分析MAIN方法,寻找版本控制的代码段
我用“cavaj Java Decompile 1.11”编译iavaZIP20.class文件,很快就可以得到该软件的JAVA代码,
main方法的全部代码如下:
public static void main(String args[])
{
iavaZIP20 iavazip20 = new iavaZIP20(args)
if(iavazip20.isEXPired())
{
System.out.println("iavaZIP20 trial time has expired. Please purchase and enter licence key.")
for(_cls13 _lcls13 = new _cls13(iavazip20, true)_lcls13.expirationFrame.isShowing())
{
try
{
Thread.sleep(1000L)
}
catch(InterruptedException _ex) { }
}
if(_cls66.isSerialRegcode(((_cls1) (iavazip20)).res.getProperty("user.id")))
{
iavazip20._fld6.remove(iavazip20._fld4)
iavazip20._fld6.add("Right", iavazip20._fld4 = iavazip20._fld0 = new _cls13(iavazip20))
iavazip20._fld6.validate()
} else
{
iavazip20.dispose()
System.exit(0)
}
}
iavazip20.show()
}
很明显,iavazip20.isExpired()就是版本控制的代码。
3.分析版本控制的语句,找到破解的方法
由于isExpired()的方法的代码如下:
public boolean isExpired()
{
return !_cls66.isSerialRegcode(super.res.getProperty("user.id", "0")) &&Long.parseLong(super.res.getProperty("magic")) magicTime <System.currentTimeMillis()
}
看了com\sfs\app\iavazip20的所有文件,由于该文件夹中的文件都是从1-66之间的整数问文件名,“class”为扩展名的类文件,分析“!_cls66.isSerialRegcode”的方法是破解的要害类应该就是66.class文件