Skip to content

通过正则搜索、批量反编译特定Jar包中的class名称

Notifications You must be signed in to change notification settings

Ppsoft1991/CodeReviewTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeReviewTools


release

🎉 介绍

HW竞争越来越激烈的年代,谁能在指定时间内打下更多的点,谁就能在内网中抢下先机。

在HW项目中,在有源码的情况下为了快速冲下一个站,势必需要提升自己看代码的速度,寻找最薄弱的环节。

在做项目的时候发现几个问题,第一个就是拿到目标网站的war包载入idea,发现缺少某些class 第二个就是某些class被分包编译在不同的jar包里面

我们想快速搜索代码中的关键点,就必须得对jar包进行反编译。所以我写了CodeReviewTools

🍭 目前功能

  • 通过正则搜索特定class名称
  • 通过正则直接反编译拥有特定groupId的jar包到某个目录
CodeReviewTools v1.0 by Ppsoft1991

usage: java -jar CodeReviewTools.jar -m <method>
-d,--dir <arg>      target path
-f,--file <arg>     target file
-h,--help           print help information
-m,--method <arg>   [search, unzip, decompiler, clear, all, war]
-n,--name <arg>     search class file or group name
-o,--output <arg>   output path

工具release版本使用jdk 11.0.9编译,如需要1.8版本请自行下载源码编译使用

💡 例子

  • 获得war包,一键反编译classes

    java -jar CodeReviewTools.jar -m war -f webapps.war

    会在-f制定的war包目录下生成对应的zip文件

  • 想快速寻找哪些jar包存在名为*Controller的jar文件

    java -jar CodeReviewTools.jar -m search -n "nc(.)*Controller\$" -d "home/"

  • 想快速解压jar包中包含groupId为com.yxxxx的jar并且反编译存储在/tmp/nc

    java -jar CodeReviewTools.jar -m all -n "com.yxxx(.)*" -d "home/lib" -o "/tmp/nc"

    效果:

Stargazers over time

❤️ 感谢

luyten

✔️ 版本更新

v1.1

  • 修复 @smi1e 反馈的all模式bug

V1.0

  • 重新做了命令行参数
  • 反编译工具从jd-core变更为luyten (速度慢了不是一点半点,被迫使用线程池来进行反编译

Todo

  • 允许指定反编译器 准备支持fernflower和luyten两种

404StarLink 2.0 - Galaxy

CodeReviewTools 是 404Team 星链计划2.0中的一环,如果对CodeReviewTools 有任何疑问又或是想要找小伙伴交流,可以参考星链计划的加群方式。

About

通过正则搜索、批量反编译特定Jar包中的class名称

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages