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

nvwa_unpacker产物如何处理 #28

Open
zhangjg0201 opened this issue Apr 10, 2023 · 1 comment
Open

nvwa_unpacker产物如何处理 #28

zhangjg0201 opened this issue Apr 10, 2023 · 1 comment

Comments

@zhangjg0201
Copy link

zhangjg0201 commented Apr 10, 2023

使用nvwa_unpacker脱壳机脱壳后,文件后缀为.j, 看起来像是smali, 但也不是标准的smali, 请问这些文件怎么处理? 能转成.java文件吗?

`
.version 50 0

.class public super com/xunmeng/pinduoduo/alive/unify/ability/dynamic/abilities/dataCollect/collectors/XmVoiceAssistantUsageCollector
.super java/lang/Object

.implements com/xunmeng/pinduoduo/alive/unify/ability/dynamic/abilities/dataCollect/ability/IDataCollector

.field public static TAG Ljava/lang/String;
.field public static CONFIG_KEY_COLLECTOR Ljava/lang/String;
.field public static AB_KEY_TRACK Ljava/lang/String;
.field public static KEY_LAST_FAILURE_COLLECT_TIME Ljava/lang/String;
.field public static KEY_LAST_SUCCESS_COLLECT_TIME Ljava/lang/String;
.field public static FILE_PATH Ljava/lang/String;
.field public collectRecordKV Lcom/xunmeng/pinduoduo/alive/strategy/interfaces/adapter/intf/IMMKV;
.method public : ()V
.code stack 3 locals 1

L_0: aload 0
L_1: ldc "LVUA.XmVoiceAssistantUsageCollector"
L_2: ldc 0
L_3: invokestatic Method com/xunmeng/pinduoduo/alive/strategy/interfaces/adapter/proxy/MMKVCompat module (Ljava/lang/String;Z)Lcom/xunmeng/pinduoduo/alive/strategy/interfaces/adapter/intf/IMMKV;
L_4: putfield Field com/xunmeng/pinduoduo/alive/unify/ability/dynamic/abilities/dataCollect/collectors/XmVoiceAssistantUsageCollector collectRecordKV Lcom/xunmeng/pinduoduo/alive/strategy/interfaces/adapter/intf/IMMKV;
L_5: return

.end code

.end method

`

@VinaChiong
Copy link

VinaChiong commented Apr 14, 2023

使用nvwa_unpacker脱壳机脱壳后,文件后缀为.j, 看起来像是smali, 但也不是标准的smali, 请问这些文件怎么处理? 能转成.java文件吗?

` .version 50 0

.class public super com/xunmeng/pinduoduo/alive/unify/ability/dynamic/abilities/dataCollect/collectors/XmVoiceAssistantUsageCollector .super java/lang/Object

.implements com/xunmeng/pinduoduo/alive/unify/ability/dynamic/abilities/dataCollect/ability/IDataCollector

.field public static TAG Ljava/lang/String; .field public static CONFIG_KEY_COLLECTOR Ljava/lang/String; .field public static AB_KEY_TRACK Ljava/lang/String; .field public static KEY_LAST_FAILURE_COLLECT_TIME Ljava/lang/String; .field public static KEY_LAST_SUCCESS_COLLECT_TIME Ljava/lang/String; .field public static FILE_PATH Ljava/lang/String; .field public collectRecordKV Lcom/xunmeng/pinduoduo/alive/strategy/interfaces/adapter/intf/IMMKV; .method public : ()V .code stack 3 locals 1

L_0: aload 0 L_1: ldc "LVUA.XmVoiceAssistantUsageCollector" L_2: ldc 0 L_3: invokestatic Method com/xunmeng/pinduoduo/alive/strategy/interfaces/adapter/proxy/MMKVCompat module (Ljava/lang/String;Z)Lcom/xunmeng/pinduoduo/alive/strategy/interfaces/adapter/intf/IMMKV; L_4: putfield Field com/xunmeng/pinduoduo/alive/unify/ability/dynamic/abilities/dataCollect/collectors/XmVoiceAssistantUsageCollector collectRecordKV Lcom/xunmeng/pinduoduo/alive/strategy/interfaces/adapter/intf/IMMKV; L_5: return

.end code

.end method

`

@zhangjg0201
是不是 nvwa_unpack 的 run.py 没有100%执行成功?我踩了以下坑后,能disasm 出 class文件:

1.pwn包 缺失

我在Mac M1下,卡在 pwn包 install失败,包括pip3 install、brew install pwntools都不行。
采用 ubuntu的 multipass 跑 ubuntu实例,解决 pwn包安装问题。

2.krak2 not found

run.py#L72 依赖 krak2,是 Krakatau 的 v2,目前只能手动编译,见readme有步骤。

依然报错,原因未知;改用 v1版本:

  • git clone Krakatau
  • 'python3 /Krakatau/assemble.py' 替换 run.py#L72 的 ‘krak2 asm’
  • 执行 run.py,解锁 class 文件

3.用jadx decompile

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

2 participants