Skip to content

CroceIt/reverse-m2-sources

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 _____                                          ___
|  __ \                                        |__ \
| |__) |_____   _____ _ __ ___  ___   _ __ ___    ) |  ___  ___  _   _ _ __ ___ ___  ___
|  _  // _ \ \ / / _ \ '__/ __|/ _ \ | '_ ` _ \  / /  / __|/ _ \| | | | '__/ __/ _ \/ __|
| | \ \  __/\ V /  __/ |  \__ \  __/ | | | | | |/ /_  \__ \ (_) | |_| | | | (_|  __/\__ \
|_|  \_\___| \_/ \___|_|  |___/\___| |_| |_| |_|____| |___/\___/ \__,_|_|  \___\___||___/

项目目的:reverse m2 sources 用于实现将本地maven仓库-sources.jar源码包逆向成java源代码

java deploy到maven私服时一般会将依赖的pom.xml及源码包sources.jar发布到maven仓库上,通过pom.xml及sources.jar的分析,可逆向到可运行的java工程。 使用ide工具,通过Download Sources可将项目maven依赖的包的sources.jar源码包下载到本地仓库中,依赖的模块pom.xml则可通过爬虫从maven私服抓取下来。

演示:

1.通过自带的m2-source-example进行逆向成可运行的java工程

java -jar reverse-project-1.0.0-SNAPSHOT.jar -m $PATH/docs/m2-source-example -s $PATH/docs/m2-source-example

2.自己生成sources.jar到本地仓库进行源码逆向测试

可通过以下命令将任意maven项目源码先打包到本地仓库: mvn clean source:jar install -DskipTests=true 然后使用以下命令对.m2本地仓库进行逆向还原成可运行的maven工程 完整的运行示例: java -jar reverse-project-1.0.0-SNAPSHOT.jar -m /Users/cnhaicao/.m2/repository/ -s /Users/cnhaicao/.m2/repository/org -o /Users/cnhaicao/.m2/repository-all -t /Users/cnhaicao/.m2/repository-tmp

-m 指定m2目录

-s 指定扫描目录 (注意:扫描目录需要和m2目录相同或是m2目录的子目录)

-o 指定源码逆向后的保存路径

-t sources.jar解压临时目录 执行后可手工删除

本项目基于jdk8开发,运行项目源码需要自己安装lombok插件

About

reverse java maven project from m2 sources.jar

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%