首页
社区
课程
招聘
[分享][讨论]探索vsp扁平化混淆
2024-4-2 09:47 1431

[分享][讨论]探索vsp扁平化混淆

2024-4-2 09:47
1431

这段代码看起来像是Dalvik虚拟机的字节码,这是Android操作系统中用于执行Java字节码的虚拟机。Dalvik字节码通常在Android应用的APK文件中以.dex(Dalvik Executable)文件的形式存在。这段代码是经过反编译的,可能来自一个Android应用的APK文件。

代码的结构如下:

  1. sparse-switch v0, :sswitch_data_342 - 这行代码开始了一个稀疏开关(sparse switch)结构,它用于根据寄存器v0的值跳转到不同的标签。:sswitch_data_342可能是一个标签,指向一个包含跳转目标的表。

  2. goto :goto_14b - 这行代码跳转到标签:goto_14b

  3. :sswitch_151 - 这是一个标签,可能是一个开关结构的一部分。

  4. if-eqz v3, :cond_157 - 这行代码检查寄存器v3是否等于0,如果等于0,则跳转到标签:cond_157

  5. const v0, 0xbe60 - 这行代码将常量值0xbe60赋给寄存器v0。

  6. goto :goto_14b - 跳转回标签:goto_14b

  7. :cond_157 - 这是一个标签,可能是前面if-eqz指令的跳转目标。

  8. :sswitch_157 - 这是一个标签,可能是另一个开关结构的一部分。

  9. const v0, 0xbe41 - 这行代码将常量值0xbe41赋给寄存器v0。

  10. goto :goto_14b - 再次跳转回标签:goto_14b

  11. :sswitch_15b - 这是一个标签,可能是另一个开关结构的一部分。

  12. const/16 v0, 0x6ad - 这行代码将常量值0x6ad赋给寄存器v0的低16位。

  13. const v1, 0xbe7f - 这行代码将常量值0xbe7f赋给寄存器v1。

  14. :goto_160 - 这是一个标签,可能是跳转的目标。

  15. const v4, 0xbe90 - 这行代码将常量值0xbe90赋给寄存器v4。

  16. xor-int/2addr v1, v4 - 这行代码执行按位异或

混淆样本
http://dula.fun/uploads/20240331203734_6609590eb85eb.apk

老铁们,有幸欢迎评论


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回