惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
Last Week in AI
Last Week in AI
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
宝玉的分享
宝玉的分享
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
WordPress大学
WordPress大学
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
罗磊的独立博客
The Cloudflare Blog
V
V2EX
月光博客
月光博客
有赞技术团队
有赞技术团队
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
博客园 - 【当耐特】
T
Tailwind CSS Blog

科技

🐹仓鼠党软件爱好者平常都有哪些的好玩又稳定的软件啊 - V2EX Meshtastic/MeshCore/LoRa 在淘宝被禁 - V2EX 做了一个火山方舟联网搜索 skill,零依赖, pip install 都不用装 - V2EX gpt plus 五小时? - V2EX 感觉 AI 大模型最终归宿不是软件开发而是机器人 - V2EX 关于我在 GiffGaff 被封后光速下单并激活 CTExcel UK 这件事 - V2EX 我的电脑一到单位,就卡的要死! 两天开发了一个网站专门收录各领域的最佳实践,方便学习(抄袭🐶) 值得入手 glm max 吗 GPT 取消二验了 0 封号风险 —— Mp2RSS 把公众号和 X 装进你的阅读器 - V2EX [提问] claude 现在怎么注册验证呀 deepseek 网页和 app 输入<think>能看到别的用户的历史对话 大家对于 Anthropic 估值的看法 美伊还不如继续打呢,一停战 AI 科技股又支棱起来了,美光、闪迪又要涨价了,普通人啥好处也没捞到除了失业 号池(CC Max) 铺天盖地的 OpenClaw,到底能做什么?(不吹不黑) 区块链/LLM 这些技术随着科技发展总会到来 京东都是用啥脚本抢的呀 除了 Vibe Coding,各位所在的行业有因为 AI 应用带来革命性进展,或者底层变革的吗? 要迎来固态电池的时代了吗? 老罗今晚的分享大会,有你感兴趣的产品吗? 🖖Manus 被 Meta 数十亿美元收购❗❗❗ Excelize 开源社区荣获 2025 红山开源明星项目三等奖 Gemini 的新功能,搞笑狮子漂移(动态视图) Google Antigravity 出来啦 一觉醒来, G 老师 3 Pro 已经可以用了,起飞 AI 时代,每个月会在 AI 产品上花多少钱? 大伙们,请教一下智能手表的问题,打算买 现在机器之心需要订阅才能看历史文章,有没有替代平台啊
开源反编译器支持 dex/apk
neocanable · 2025-07-02 · via 科技

距离上次发帖一个月了,最近把 apk 和 dex 也支持了。

有些人问为啥叫"garlic", 这个名字来自郭德纲的相声:喝咖啡高雅,吃大蒜低俗,java class 文件以 CAFEBABE 开始,所以起了一个恶搞的名字garlic咖啡就着大蒜,高雅又低俗


经过一个月的开发,garlic反编译器支持了 apk 和 dex 。apk 的 Manifest 和资源文件没有解析,只反编译了里面的代码。

顺带写了些其它的东西:

  • c#的 pe 文件解析,没有解析到字节码的部分,还在读微软的文档。
  • elf 文件解析,写完了解析 sections ,还有不少没弄,一边查资料,一边写。

我测试过的 apk (豌豆荚下载的最新版):

  • acfun
  • 微信
  • 抖音/抖音极速版
  • 百度
  • 百度地图
  • 滴滴
  • bilibili
  • 爱奇艺
  • 京东
  • 快手
  • 美团
  • 陌陌
  • 阿里系的 app

速度方面,抖音的体量最大,差不多有 44w 个 class ,处理完需要 30 秒,我的机器是 macmini m4

~/workspace/clang/decompiler-garlic/build $ time -v ./garlic ~/workspace/java/bytecode/apks/douyin.apk
[Garlic] APK file analysis
File     : /Users/xxx/workspace/java/bytecode/apks/douyin.apk
Save to  : /Users/xxx/workspace/java/bytecode/apks/douyin_apk
Thread   : 4
Progress : 446075 (446075)
[Done]
	Command being timed: "./garlic /Users/xxx/workspace/java/bytecode/apks/douyin.apk"
	User time (seconds): 84.91
	System time (seconds): 27.90
	Percent of CPU this job got: 372%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:30.28
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1725728
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 3
	Minor (reclaiming a frame) page faults: 156943
	Voluntary context switches: 25062
	Involuntary context switches: 708980
	Swaps: 0
	File system inputs: 0
	File system outputs: 0
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 16384
	Exit status: 0

有朋友问我到底想搞一个什么样的东西出来,我总吹牛逼说我要搞一个 c 语言写的jeb出来。

后来看了好多 apk ,又想支持 lua ,又想支持 C#,我现在想吹牛逼我想搞个大而全的东西出来,能反编译所有 apk 。

回过头看写出来的东西,一堆一堆待解决的问题和完全未知的领域,真他娘的不知天高地厚了。


还是欢迎大家试用,欢迎大家提意见,欢迎 PR ,欢迎提 bug