初识

最经同学发给我一个java的软件,让我帮忙破解一下。经过学习+查找,终于成功破解。(Java编写的软件破解应该是相当简单的,可以反编译源代码,加壳什么都没有,只有代码混淆),这个软件作者没要代码混淆。

工具

  1. jd-gui - 源代码查看http://jd.benow.ca/
  2. dirtyjoe - java binaries (.class 文件)更改http://dirty-joe.com/

破解过程

首先,运行软件,如图1:

使用jd-gui打开目录下的jar文件, 图2:

查看软件源代码可以看到软件的验证时通过LicenseValidator来实现的,如上图红框圈的部分

右键,使用7-zip解压并打开artblade.jar这个文件, 图3

使用dirtyjoe打开LicenseValidator.class文件,激活tab-methods,图4

由图2源代码中可以看到验证的语句在类LicenseValidator的初始化init方法中,故图4中双击打开init方法的代码段,快捷键ctrl+f搜索“Mac Address in license does not match your local machine”图5:

对比图2和图5代码对应二进制,图6:

双击ifne pos.00000170,将9A改为99, 双击ifeq pos.00000194将99改为9A,保存, 结果如图7:

将保存后的LicenseValidator.class文件拖入图3文件中覆盖原文件。运行结果如图8, 运行成功:

结语

此方法同样可用于破解android软件的apk文件,因为apk也是类似jar的zip打包文件。

软件破解(1)-Java篇相关推荐

  1. 1-Click PC Tuneup软件-破解实录-[附加篇]编写注册机

    [作者] 网名: 猪头三 站点: http://www.x86asm.com Email: pliceman_110@163.com QQ: 643439947 编程生涯: 2001-至今[12年] ...

  2. iphone软件破解教程(工具篇)

    本文所讨论的不是app store的软件破解,而是跟pc软件破解所指相同--去除共享软件的注册验证,一般在app store上出售的iphone软件没有此类需要,大部分是指在cydia store上出 ...

  3. 软件破解(一)入门篇

    软件的破解即注册码的破解.功能限制的破解等. 现在软件的破解基本都不使用静态反汇编的方式,而是采用动态跟踪的方式进行破解,要学会破解必须对汇编指令有一点了解,至少要知道常用指定的作用. 何谓动态跟踪呢 ...

  4. MyEclipse2017:MyEclipse2017软件破解图文教程(解决MyEclipse软件因试用期过期而无法再次使用的问题)

    MyEclipse2017:MyEclipse2017软件破解图文教程(解决MyEclipse软件因试用期过期而无法再次使用的问题) 目录 MyEclipse2017软件破解流程 1.先将文件复制到文 ...

  5. 如何使用eclipse软件创建一个Java项目?

    同学们在参加Java的时候老师肯定会教给你们如何去创建一个项目,这里怕有些同学没记住,所以单独为大家分享一篇如何使用eclipse软件创建一个Java项目教程,感觉有用的话收藏转发一下~ eclips ...

  6. java私塾 java篇_Java私塾跟我学系列——JAVA篇 五、

    五:Java如何做到让机器理解我们想要做的东西 用一个图来描述这个过程会比较容易理解: 1:编写代码 首先把我们想要计算机做的事情,通过Java表达出来,写成Java文件,这个过程就是 编写代码的过程 ...

  7. 2022年第十三届蓝桥杯大赛软件省赛Java学B组试题

    第十三届蓝桥杯大赛软件省赛Java学B组试题 一.试题截图 1. 星期计算 这道题是可以直接用笔算起来的,我算出来的答案是5,(2022整除7 余6,六天后就是星期五)但目前官方答案还不知道是什么? ...

  8. java eclipse导入工程文件_如何在Eclipse软件中导入Java工程文件

    有些在学习Java编程的用户虽然会创建工程,但是对于怎么导入工程文件却不清楚,下面这篇教程我们就来为大家介绍一下,在Eclipse软件中导入Java工程文件的方法,有兴趣的朋友就来了解一下吧. 解决方 ...

  9. 【分享】 [教学]破解完全入门篇

    [分享] [教学]破解完全入门篇 3PtVw f   q85y)_c?   #r."#)pD   第一章--前言 /.$hZ$ q   好多哥们儿说看教程跟老大的书都看不太明白,所以,我尽量 ...

最新文章

  1. java构造方法 this_Java之构造方法及this、super关键字
  2. ASP+XML+JavaScript实现动态无限级联动菜单
  3. 云小课 | 华为云KYON之VPC终端节点
  4. java mysql 连接测试_java连接mysql数据库及测试是否连接成功的方法
  5. 如何安全地创建嵌套目录?
  6. ZipKin原理学习(分布式实时数据追踪系统)+window部署zipkin+k8s部署zipkin
  7. ns3学习之旅 ---NS3 开篇简介
  8. 方维带货直播最新搭建教程《9》-常见问题总结
  9. windows在cmd中用cl、link工具编译生成dll与lib
  10. 关于阿里云服务器的问题及答案(详细汇总)
  11. markdown提示错误HTML Rendering Error: An error occurred with the HTML rendering component
  12. CUPS学习五:打印机基础
  13. Android Studio学习开发笔记--基础
  14. AppScan 是一款web安全扫描工具
  15. xmms乱码解决方法
  16. 车联网名词解释-随时更新
  17. 计算机网络应用+自荐信,计算机网络专业自荐信
  18. spl android,SPL Spectrum Analyzer
  19. 超分算法DRCN:Deeply-Recursive Convolutional Network for Image Super-Resolution超分辨率重建
  20. 运维实战 LNMP框架安装

热门文章

  1. 公共rtsp_常见品牌网络摄像机的端口及RTSP地址
  2. php不等于指定数字,php – 为什么bcmul返回的数字与我指定的数字不同?
  3. Qml水波进度条、扇形进度条等其他进度条
  4. Java动态编程技术
  5. java poi 解析为图片
  6. COVID-与传统邮件僵尸网络家族
  7. 不打不相识,苹果偷学微信代码
  8. 画布、拖放事件、音视频
  9. oracle触发器 发消息短信,自个儿写的短信指令查询燃气费oracle触发器
  10. 【无人机】四轴无人机的轨迹进行可视化和动画处理(Matlab代码实现)