V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
neocanable
V2EX  ›  分享创造

开源一个 c 语言实现的 Java 反编译器

  •  
  •   neocanable · 3 天前 · 1654 次点击

    磕磕碰碰的写了一年多的 java 反编译软件开源了。

    项目地址:https://github.com/neocanable/garlic,欢迎使用反馈。

    手撸 java decompiler


    支持:

    • 反编译.class 文件
    • 反编译.jar 文件
    • java5 以上的一些语法糖,如匿名内部类,lambda 表达式

    开发中:

    • android dex 反编译
    • android apk 反编译
    • android apk 资源解码

    优点:

    • 占用资源少
    • 没有过多的依赖库
    • 轻松编译和运行

    缺点:

    • 代码路子比较野
    • 单元测试还在补充中

    14 条回复    2025-06-04 22:29:45 +08:00
    macaodoll
        1
    macaodoll  
       3 天前   ❤️ 1
    支持一波,这个还是很有市场的
    neocanable
        2
    neocanable  
    OP
       3 天前
    @macaodoll 有很多功能还在开发中,慢吞吞的一边啃理论,一边写代码
    YUCOAT
        3
    YUCOAT  
       3 天前   ❤️ 1
    支持一波
    craftsmanship
        4
    craftsmanship  
       3 天前 via Android   ❤️ 1
    想问下老哥本职是做什么的 为啥会想做这个项目
    neocanable
        5
    neocanable  
    OP
       3 天前
    @craftsmanship 没有工作,以前想写个自己用的 android 的 hook 软件,一边学一边写代码测试,最后搞出个这个玩意儿来。
    lisongeee
        6
    lisongeee  
       3 天前   ❤️ 1
    感谢,好奇能跨平台使用吗?

    比如编译为 wasm 给 js 调用直接在浏览器内使用,打开一个网页拖一个 apk 文件进去然后等待反编译完成下载
    neocanable
        7
    neocanable  
    OP
       3 天前
    @lisongeee 理论上是可行的,现在我只在 mac 和 linux 上面简单的测试过,如果开 O3 的优化,差不多 200k ,根据客户端浏览器不同,就可以实现
    xuhengjs
        8
    xuhengjs  
       3 天前   ❤️ 1
    只是反编译意义不大,要能嵌入新逻辑才有意义。
    neocanable
        9
    neocanable  
    OP
       3 天前
    @xuhengjs 我懂你的意思
    caola
        10
    caola  
       3 天前
    @xuhengjs #8 嵌入新逻辑不就和外挂差不多了吗
    calloc
        11
    calloc  
       3 天前 via Android   ❤️ 1
    这类工具不少,但是真正好用的没几个,希望楼主这个能脱颖而出
    wowo243
        12
    wowo243  
       3 天前
    @xuhengjs #8 嵌入新逻辑可以用 arthas
    bluesenzhu
        13
    bluesenzhu  
       3 天前   ❤️ 2
    不错,今天看到被 Top Hacker News 收录了
    neocanable
        14
    neocanable  
    OP
       2 天前
    @xuhengjs 修改字节码,重新打包,基于 jvm 和 dalvik 的都有完整的方案,甚至动态的方案都有。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2581 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 04:40 · PVG 12:40 · LAX 21:40 · JFK 00:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.