首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >程序员跑路了,李老板要求把App换个图标和名称

程序员跑路了,李老板要求把App换个图标和名称

原创
作者头像
奋飞安全
发布2025-06-03 10:15:19
发布2025-06-03 10:15:19
14900
代码可运行
举报
文章被收录于专栏:奋飞安全奋飞安全
运行总次数:0
代码可运行

一、目标

李老板:奋飞呀,给咱们开发Android App的程序员删库跑路了,明天投资人就要过来,咱们得把App换个图标和名字呀?

奋飞:这个得先把五一的加班费结一下。

二、步骤

拆包

Android App的安装包Apk文件本质上是一个zip压缩包,直接把后缀改成zip,就可以解压,然后修改完再压缩回去不就行了? 本文完……

现实是没有那么简单的,作为逆向工程师,必须要把 简单的事情复杂化,这样才能体现你的价值。

解压在我们这里不叫解压,叫拆开安装包,简称 拆包。是不是立马高大上了。

因为Apk的安装包有一些特殊处理,所以我们需要用特殊的工具去拆包 apktool

代码语言:javascript
代码运行次数:0
运行
复制
# d 拆包
# f 待拆包的apk
# o 输出拆包结果的文件夹
apktool d -f example.apk -o tmp_apk_dir

修改文件

App的名字等字符串信息一般都是放在

.../tmp_apk_dir/res/values/strings.xml

这个xml文件里面

把 <string name="app_name">xx本子</string>

改成 <string name="app_name">李老板本子</string>

App的图标一般都是放在

tmp_apk_dir/res/mipmap-xhdpi/icon.png

其他的mipmap-xxx文件夹是不同分辨率下的图标,可以统统给他换了。

打包,签名

修改好了之后就可以用 apktool重新打包了

代码语言:javascript
代码运行次数:0
运行
复制
apktool b tmp_apk_dir -o unsigned_new.apk

签名文件是为了证明这个apk是你的,防止被别人篡改,所以咱们修改了apk之后,由于没有原始的签名文件,只能生成一个新的。

代码语言:javascript
代码运行次数:0
运行
复制
keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias mykey

参数解释:

-keystore my-release-key.jks:生成的签名文件名。

-keyalg RSA:加密算法。

-keysize 2048:密钥长度。

-validity 10000:证书有效期(单位:天)。

-alias mykey:密钥别名,可自定义。

最后一步就是给重新打包的apk做签名了

代码语言:javascript
代码运行次数:0
运行
复制
apksigner sign --ks my-release-key.jks --ks-pass pass:fenfei --ks-key-alias mykey --out your_app_new.apk unsigned_new.apk

💡 TIP apksigner一般在你安装的android SDK里面 /Users/xxx/Library/Android/sdk/build-tools/34.0.0/apksigner

setup
setup

setup

看上去没啥问题,不过我们细心的码农还是会启动验证一下,看看有没有问题。

start1
start1

start1

坏蛋,果然给我们埋坑了。

过坑

跑路的程序员还是厚道,明明白白告诉咱们是由于签名被篡改了。

上jadx,搜索 签名被篡改

modify1
modify1

modify1

需要把这个 if判断干掉

问了一下AI,把对应的 Smail 代码中对应的 if-nez p1 改成 if-eqz p1 就行了

TIP:

| if-nez p1 | 如果 p1 != 0,则跳转(非零成立) |

| if-eqz p1 | 如果 p1 == 0,则跳转(零成立) |

真的没必要去学Smail语法了,现成的AI在嗷嗷待哺

三、总结

由于apk修改起来太容易了,所以程序员gg们会在里面埋更多的坑。加壳 反调试 混淆 前面还有无数困难等着你。

李老板决定还是招个程序员鼓励师比较靠谱。

ffshow
ffshow

非真空不宜谈禅,非真旷不宜饮酒。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、目标
  • 二、步骤
    • 拆包
    • 修改文件
    • 打包,签名
    • 过坑
  • 三、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档