Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请求强化保护效果,防止二次打包修改 #61

Open
cgapk123 opened this issue Sep 27, 2024 · 18 comments
Open

请求强化保护效果,防止二次打包修改 #61

cgapk123 opened this issue Sep 27, 2024 · 18 comments

Comments

@cgapk123
Copy link

使用工具处理APK后发现被别人二次编译修改或删除了里面的文件,使用RAR打开发现本来只有一个dex的变成了多个dex文件,怀疑对方是使用什么工具批量自动处理dex,能不能在加强保护,比如加入检测,如果发现多个dex 文件就直接崩溃程序,或者其他更合理的检测。

L(PY_KJ2~ONKIJTRXFPRB_Q

@luoyesiqiu
Copy link
Owner

这样的apk还能正常跑起来吗?如果是的话,已经完美脱壳了

@cgapk123
Copy link
Author

这样的apk还能正常跑起来吗?如果是的话,已经完美脱壳了

是的,这样可以运行,并且也是修改过的。

对方可能是使用什么工具自动获取运行时的正确dex文件,然后替换在反编译打包的,全部都是多个dex特征,所以看看能不能直接根据这个特征来防御。

@cgapk123
Copy link
Author

不知道防止脱壳还有其他什么方法校验不,比如检测到脱壳、修改了xml文件、程序app_name名称不对等就直接崩溃

@luoyesiqiu
Copy link
Owner

现在libdpt.so还在吗

@cgapk123
Copy link
Author

现在libdpt.so还在吗

都还在,assets\vwwwwwvwww\ 目录下都有arm64、arm、x86这些文件夹,里面都有libdpt.so 文件。

@Uggpic
Copy link

Uggpic commented Oct 12, 2024

对方可能是使用什么工具自动获取运行时的正确dex文件,然后替换在反编译打包的,全部都是多个dex特征,所以看看能不能直接根据这个特征来防御。

这是加固后隐藏反射读取原文件,正确的dex文件路径包含在压缩包内

/data/data/[PACKAGE]/code_cache/i11111i111.zip

非Root用户可以借助MT管理器注入文件提供器,从而直接实现免Root将正确的dex文件i11111i111.zip拖放出来。
@luoyesiqiu Android 13加固后打开立即闪退,测试了好多App都不能在Android 13上运行
app-release.zip

  • Android 安全更新
    2024年9月1日

  • Google Play 系统更新
    2024年8月1日

screen.mp4

@luoyesiqiu
Copy link
Owner

@Uggpic 试了小米,魅族,OPPO,vivo,三星的Android13都能运行的。视频中的手机型号是什么?方便提供崩溃日志吗?

@Uggpic
Copy link

Uggpic commented Oct 12, 2024

@cgapk123
Copy link
Author

对方可能是使用什么工具自动获取运行时的正确dex文件,然后替换在反编译打包的,全部都是多个dex特征,所以看看能不能直接根据这个特征来防御。

这是加固后隐藏反射读取原文件,正确的dex文件路径包含在压缩包内

/data/data/[PACKAGE]/code_cache/i11111i111.zip

非Root用户可以借助MT管理器注入文件提供器,从而直接实现免Root将正确的dex文件i11111i111.zip拖放出来。 @luoyesiqiu Android 13加固后打开立即闪退,测试了好多App都不能在Android 13上运行 app-release.zip

  • Android 安全更新
    2024年9月1日
  • Google Play 系统更新
    2024年8月1日

screen.mp4

这有什么方案来避免吗?因为发现加固后的APK老是被直接秒脱壳并二次修改打包,很烦

@Uggpic
Copy link

Uggpic commented Oct 12, 2024

这有什么方案来避免吗?因为发现加固后的APK老是被直接秒脱壳并二次修改打包,很烦

试试这个https://github.com/maxwell-nc/AndroidDexEncrypt

  • 加固前
    before

  • 加固后
    after

@cgapk123
Copy link
Author

这有什么方案来避免吗?因为发现加固后的APK老是被直接秒脱壳并二次修改打包,很烦

试试这个https://github.com/maxwell-nc/AndroidDexEncrypt

  • 加固前
    before
  • 加固后
    after

这个搞不懂,环境配置太复杂了,测试了下python main.py 直接各种报错

image

@Uggpic
Copy link

Uggpic commented Oct 13, 2024

引发崩溃无法运行,猜测与谷歌Android原生系统库有关

/apex/com.android.runtime/lib64/bionic/libc.so

#59 情况差不多

@luoyesiqiu
Copy link
Owner

@luoyesiqiu [email protected]

应该修复了

@Uggpic
Copy link

Uggpic commented Oct 13, 2024

应该修复了

确实是修好了该app的问题,谢谢~
这有2个刚加固的应用崩溃,你能看一下吗?
app1_log.txt
app2_log.txt
app.zip

@luoyesiqiu
Copy link
Owner

对方可能是使用什么工具自动获取运行时的正确dex文件,然后替换在反编译打包的,全部都是多个dex特征,所以看看能不能直接根据这个特征来防御。

这是加固后隐藏反射读取原文件,正确的dex文件路径包含在压缩包内

/data/data/[PACKAGE]/code_cache/i11111i111.zip

非Root用户可以借助MT管理器注入文件提供器,从而直接实现免Root将正确的dex文件i11111i111.zip拖放出来。 @luoyesiqiu Android 13加固后打开立即闪退,测试了好多App都不能在Android 13上运行 app-release.zip

  • Android 安全更新
    2024年9月1日
  • Google Play 系统更新
    2024年8月1日

screen.mp4

这有什么方案来避免吗?因为发现加固后的APK老是被直接秒脱壳并二次修改打包,很烦

目前的加壳方式确实有这种脱壳的风险,后面可能更换整个加壳逻辑,或者通过其他方式对抗

@luoyesiqiu
Copy link
Owner

应该修复了

确实是修好了该app的问题,谢谢~ 这有2个刚加固的应用崩溃,你能看一下吗? app1_log.txt app2_log.txt app.zip

方便提供原始apk吗?只有加固后的apk不好排查

@Uggpic
Copy link

Uggpic commented Oct 13, 2024

方便提供原始apk吗?只有加固后的apk不好排查

apps.zip

@Uggpic
Copy link

Uggpic commented Oct 13, 2024

目前的加壳方式确实有这种脱壳的风险,后面可能更换整个加壳逻辑,或者通过其他方式对抗

可以实现这种保护措施吗?app本身并没有壳,但目前所有过签对其失效
release.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants