Giter Club home page Giter Club logo

dcc's People

Contributors

bzi-han avatar luoyesiqiu avatar redragon14368 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dcc's Issues

遇到param有annotation的时候,dcc.py中的处理逻辑造成Multiple annotations blahblah, Could not smali file错误

类似这样的smali,在kotlin里面出现的比较多,每个参数都有表示非空的那个annotation:

69 # virtual methods
70 .method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
71 .locals 4
72 .param p1, "context" # Landroid/content/Context;
73 .annotation build Lorg/jetbrains/annotations/Nullable;
74 .end annotation
75 .end param
76 .param p2, "intent" # Landroid/content/Intent;
77 .annotation build Lorg/jetbrains/annotations/Nullable;
78 .end annotation
79 .end param

dcc会处理成:
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation

然后apktool重新smali时报错:
xxxx.smali[73,26] Multiple annotations of type Lorg/jetbrains/annotations/Nullable;
xxxx.smali[73,26] mismatched tree node: UP expecting I_FIELDS
Could not smali file: xxxx.smali

发现一个bug

当使用的混淆为自定义的符号时(即非原版abcd混淆时),会报字符编码错误,是处理程序不支持utf-8编码吗?可否修复?

不支持多dex

不支持apk里的多dex同时转换,希望大佬能支持下

一个小问题

正在做一个相关的项目,发现频繁的deletelocalref导致运行速度十分慢,想了解一下你有没有什么好的优化方法

编译后adb install 错误 提示 资源4字节对齐

adb: failed to install out.apk: Failure [-124: Failed parse during installPackageLI: Targeting R+ (version 30 and above) requires the resources.arsc of installed APKs to be stored uncompressed and aligned on a 4-byte boundary]

make: *** No rule to make target

filter.txt 如下:

do not compile constructor

!<clinit|init>

test demo

!bigGoto
#.TestCompiler.
!.Util
!./Lambda
.Activity.

compile method named onCreate, mostly activity's onCreate

.;onCreate(Landroid/os/Bundle;.

compile all method, use to test compiler

#.*
我是想把我所有的包含Activity的类中的方法都加固,奈何总是有这种错误
报错信息如下:
make: *** No rule to make target 'jni/nc/Java_com_xk_ssan_zuty_module_share_ui_dialog_GoodShareMainPicDialog_createDialog__Landroid_app_Activity_2Ljava_util_List_2Lcom_xk_ssan_zuty_module_share_util_SharePainter_2JILjava_lang_String_2.cpp', needed by 'obj/local/armeabi-v7a/objs/nc/nc/Java_com_xk_ssan_zuty_module_share_ui_dialog_GoodShareMainPicDialog_createDialog__Landroid_app_Activity_2Ljava_util_List_2Lcom_xk_ssan_zuty_module_share_util_SharePainter_2JILjava_lang_String_2.o'. Stop.
make: *** Waiting for unfinished jobs....
[ERROR ] dcc: Compile .\4.6.0.0-mg_debug.apk failed!
Traceback (most recent call last):
File "dcc.py", line 453, in
dcc_main(infile, filtercfg, outapk, do_compile, project_dir, source_archive)
File "dcc.py", line 402, in dcc_main
build_project(project_dir)
File "dcc.py", line 88, in build_project
subprocess.check_call([NDKBUILD, '-j%d' % cpu_count(), '-C', project_dir])
File "C:\Users\MG\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['D:/sdk/sdk/ndk/21.0.6113669\ndk-build.cmd', '-j4', '-C', 'C:\Users\MG\AppData\Local\Temp\dcc-project-ckszrydl']' returned non-zero exit status 2.
[INFO ] dcc: removing C:\Users\MG\AppData\Local\Temp\dcc-project-ckszrydl
[INFO ] dcc: removing C:\Users\MG\AppData\Local\Temp\tmpj0cq2jis-dcc
PS D:\Android_project\dcc\dcc>

建议

1.fh = open('filename', 'w', encoding='utf-8')
指定下默认编码 windows下默认是gbk 全报错
2.有个依赖没写出来 ans1crypro (很讨厌这个数字1)

windows10 编译出现几个异常 以及 请教大佬一些关于DCC的事情

DCC是个很棒的开源项目,但我体验了一下,发现了一些小问题。
如果作者大大有时间的话,请帮忙解惑一下,感激。ヾ(=・ω・=)o

昨晚用ubuntu编译测试demo,测试成功。
今天用windows10编译,就报错了。
各种系统环境已经配置好,NDK r17c,默认pthon3.7。
python dcc.py tests\demo-java\app\build\outputs\apk\debug\app-debug.apk --source-dir=tests\demo-c\app\src\main\ --no-build
输出信息:
Traceback (most recent call last):
File "dcc.py", line 435, in
dcc_cfg = json.load(fp)
File "D:\python\lib\json_init_.py", line 296, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "D:\python\lib\json_init_.py", line 348, in loads
return _default_decoder.decode(s)
File "D:\python\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "D:\python\lib\json\decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Invalid \escape: line 2 column 19 (char 20)

查看dcc.cfg
d1
按照网友给的方法,将json.load(fp)改为json.load(fp, strict=False),没有用。
尝试加上转义符
d2
能够正常编译。
大佬,这算bug吗?哭笑

奇怪的so异常:
异常

No rule to make target 异常:
2019-10-02_23-33-22

以及apk安装后,一运行就闪退。
这个,我想了下,我是直接用dcc.py处理apk,没有加载Native库。
emmmm,是这个原因吗?
是不是先通过反编译,把加载Native库的smali代码添加到合适的位置,再回编译,然后用dcc.py处理apk?

我都怀疑我是bug聚合体质了,苦笑。

还有几个小疑问:
1.Android studio生成的签名文件是.jks后缀名,dcc修改哪里,使其自动使用我提供的jks文件进行签名呢?

2.我看大佬你的py中,对filter.txt的处理:
filter
以换行符分隔,#代表注释,!代表不编译后面的类,=代表编译=后面的类(不使用正则),句首没有符号代表编译这一行?是这个意思吗?

3.filter.txt里面有下面一段文本:

# do not compile constructor
!<clinit|init>

这代表着DCC其实是处理相关smali代码,而非java代码?
且DCC是根据方法名的smali代码只处理方法,不处理其他(变量等等)?

4.如果我打算编译的方法内部调用了我禁止编译的方法(举个例子:我禁止编译谷歌gson相关类,但我打算编译的方法内部调用了gson),DCC是如何处理的呢?

5.如果只想编译某个类的特定的那个方法,是不是只要填写那个方法对应的smali代码?
如果只想编译某个类全部方法,只需要填写那个方法类对应的smali代码?

6.能否提供编译其他架构so的接口,就是默认只编译arm的so,通过传参,额外编译指定so?

7.filter.txt里面有下面一段文本:

# compile method named onCreate, mostly activity's onCreate
.*;onCreate\(Landroid/os/Bundle;.*

onCreate(Landroid/os/Bundle;我知道,但前面的.*;是什么意思?
我没看明白,我反编译了一个apk,它是这样子的:
2019-10-02_23-59-08
我深深地困惑着。

小疑问不回答也没关系,处理上面的bug比较重要。

最后,非常感谢大佬的DCC,晚安~~~

直接使用python 脚本加固报错

确认已经配置号环境,报错信息如下:
PS D:\Android_project\dcc\dcc> python dcc.py .\4.6.0.0-mg_debug.apk -o .\4.6.0.0-mg_debug_encrpted.apk
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
[INFO ] androguard.axml: Namespace mapping (109, 513) already seen! This is usually not a problem but could indicate packers or broken AXML compilers.
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[armeabi-v7a] Compile++ thumb: nc <= Java_me_grantland_widget_AutofitHelper_00024AutofitOnLayoutChangeListener_onLayoutChange__Landroid_view_View_2IIIIIIII.cpp
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[armeabi-v7a] Compile++ thumb: nc <= well_known_classes.cpp
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[armeabi-v7a] Compile++ thumb: nc <= Java_me_grantland_widget_AutofitHelper_00024AutofitTextWatcher_beforeTextChanged__Ljava_lang_CharSequence_2III.cpp
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[armeabi-v7a] Compile++ thumb: nc <= Dex2C.cpp
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[armeabi-v7a] Compile++ thumb: nc <= Java_me_grantland_widget_AutofitHelper_00024AutofitTextWatcher_onTextChanged__Ljava_lang_CharSequence_2III.cpp
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[armeabi-v7a] Compile++ thumb: nc <= Java_me_grantland_widget_AutofitHelper_00024AutofitTextWatcher_afterTextChanged__Landroid_text_Editable_2.cpp
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[arm64-v8a] Compile++ : nc <= Java_me_grantland_widget_AutofitHelper_00024AutofitOnLayoutChangeListener_onLayoutChange__Landroid_view_View_2IIIIIIII.cpp
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[arm64-v8a] Compile++ : nc <= well_known_classes.cpp
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[arm64-v8a] Compile++ : nc <= Java_me_grantland_widget_AutofitHelper_00024AutofitTextWatcher_beforeTextChanged__Ljava_lang_CharSequence_2III.cpp
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[arm64-v8a] Compile++ : nc <= Java_me_grantland_widget_AutofitHelper_00024AutofitTextWatcher_afterTextChanged__Landroid_text_Editable_2.cpp
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[arm64-v8a] Compile++ : nc <= Dex2C.cpp
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[arm64-v8a] Compile++ : nc <= Java_me_grantland_widget_AutofitHelper_00024AutofitTextWatcher_onTextChanged__Ljava_lang_CharSequence_2III.cpp
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[armeabi-v7a] SharedLibrary : libnc.so
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[arm64-v8a] SharedLibrary : libnc.so
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[armeabi-v7a] Install : libnc.so => libs/armeabi-v7a/libnc.so
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
make: Entering directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
[arm64-v8a] Install : libnc.so => libs/arm64-v8a/libnc.so
make: Leaving directory 'C:/Users/MG/AppData/Local/Temp/dcc-project-8ioohy0n'
Apktool v1.4.10.f53a296 - a tool for reengineering Android apk files
Copyright 2010 Ryszard Wi?niewski [email protected]
with smali v1.3.4-dev, and baksmali v1.3.4-dev
Updated by iBotPeaches (@iBotPeaches) and yyj
Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)

Usage: apktool [-q|--quiet OR -v|--verbose] COMMAND [...]

COMMANDs are:

d[ecode] [OPTS] <file.apk> [<dir>]
    Decode <file.apk> to <dir>.

    OPTS:

    -s, --no-src
        Do not decode sources.
    -r, --no-res
        Do not decode resources.
    -d, --debug
        Decode in debug mode. Check project page for more info.
    -f, --force
        Force delete destination directory.
    -t <tag>, --frame-tag <tag>
        Try to use framework files tagged by <tag>.
    --keep-broken-res
        Use if there was an error and some resources were dropped, e.g.:
        "Invalid config flags detected. Dropping resources", but you
        want to decode them anyway, even with errors. You will have to
        fix them manually before building.

b[uild] [OPTS] [<app_path>] [<out_file>]
    Build an apk from already decoded application located in <app_path>.

    It will automatically detect, whether files was changed and perform
    needed steps only.

    If you omit <app_path> then current directory will be used.
    If you omit <out_file> then <app_path>/dist/<name_of_original.apk>
    will be used.

    OPTS:

    -f, --force-all
        Skip changes detection and build all files.
    -d, --debug
        Build in debug mode. Check project page for more info.

if|install-framework <framework.apk> [<tag>]
    Install framework file to your system.

For additional info, see: http://code.google.com/p/android-apktool/
[ERROR ] dcc: Compile .\4.6.0.0-mg_debug.apk failed!
Traceback (most recent call last):
File "dcc.py", line 463, in
dcc_main(infile, filtercfg, outapk, do_compile, project_dir, source_archive)
File "dcc.py", line 415, in dcc_main
decompiled_dir = ApkTool.decompile(apkfile)
File "dcc.py", line 69, in decompile
subprocess.check_call(['java', '-jar', APKTOOL, 'd', '-r', '-f', '-o', outdir, apk])
File "C:\Users\MG\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['java', '-jar', 'tools/apktool.jar', 'd', '-r', '-f', '-o', 'C:\Users\MG\AppData\Local\Temp\dcc-apktool-3b3rspqa', '.\4.6.0.0-mg_debug.apk']' returned non-zero exit status 1.
[INFO ] dcc: removing C:\Users\MG\AppData\Local\Temp\dcc-project-8ioohy0n
[INFO ] dcc: removing C:\Users\MG\AppData\Local\Temp\tmp3sh89t9x-dcc
[INFO ] dcc: removing C:\Users\MG\AppData\Local\Temp\dcc-apktool-3b3rspqa
PS D:\Android_project\dcc\dcc>

我有一些问题,希望能够得到解决,谢谢!

  1. ./gradlew assembleDebug 得到的结果可以在手机上运行,但通过Android studio调试会崩溃。也许是我不熟悉安卓的开发流程?
  2. 由问题1,我如何知道经过
python3 dcc.py tests/demo-java/app/build/outputs/apk/debug/app-debug.apk --source-dir=tests/demo-c/app/src/main/ --no-build

运行的不是demo-c中原有的Java方法,而是新的c方法?

帮忙看下,我直接运行dcc.py文件,报错

nc <= well_known_classes.cpp
jni/nc/Dex2C.cpp: In function 'int64_t d2c_double_to_long(double)':
jni/nc/Dex2C.cpp:75:42: error: 'INT64_MAX' was not declared in this scope
} else if (val > static_cast(INT64_MAX)) {
^
jni/nc/Dex2C.cpp:77:42: error: 'INT64_MIN' was not declared in this scope
} else if (val < static_cast(INT64_MIN)) {
^
jni/nc/Dex2C.cpp: In function 'int64_t d2c_float_to_long(float)':
jni/nc/Dex2C.cpp:89:41: error: 'INT64_MAX' was not declared in this scope
} else if (val > static_cast(INT64_MAX)) {
^
jni/nc/Dex2C.cpp:91:41: error: 'INT64_MIN' was not declared in this scope
} else if (val < static_cast(INT64_MIN)) {
^
jni/nc/Dex2C.cpp: In function 'int32_t d2c_double_to_int(double)':
jni/nc/Dex2C.cpp:103:41: error: 'INT32_MAX' was not declared in this scope
} else if (val > static_cast(INT32_MAX)) {
^
jni/nc/Dex2C.cpp:105:41: error: 'INT32_MIN' was not declared in this scope
} else if (val < static_cast(INT32_MIN)) {
^
jni/nc/Dex2C.cpp: In function 'int32_t d2c_float_to_int(float)':
jni/nc/Dex2C.cpp:117:41: error: 'INT32_MAX' was not declared in this scope
} else if (val > static_cast(INT32_MAX)) {
^
jni/nc/Dex2C.cpp:119:41: error: 'INT32_MIN' was not declared in this scope
} else if (val < static_cast(INT32_MIN)) {
^
make: *** [obj/local/armeabi-v7a/objs/nc/nc/Dex2C.o] Error 1

运行报错,请帮忙看看,谢谢

File "dcc.py", line 428, in
dcc_cfg = json.load(fp)
File "F:\python3\lib\json_init_.py", line 296, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "F:\python3\lib\json_init_.py", line 348, in loads
return _default_decoder.decode(s)
File "F:\python3\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "F:\python3\lib\json\decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Invalid \escape: line 3 column 19 (char 56)

Exception: ABI x86 is not supported!

C:\Users\Slimakoi\Desktop\amimo\dcc>python dcc.py app.apk -o out.apk
[WARNING ] androguard.core.api_specific_resources: Requested API level 29 is larger than maximum we have, returning API level 28 instead.
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_c0_b_c_n_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_androidx_activity_ComponentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_c0_h_b_i_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_google_android_gms_ads_AdActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_google_android_gms_common_api_GoogleApiActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_google_firebase_auth_internal_GenericIdpActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_google_firebase_auth_internal_RecaptchaActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_c0_k_a_i_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_google_android_gms_auth_api_signin_internal_SignInHubActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_tapjoy_TJContentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= well_known_classes.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_d0_d_a_c_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_slimakoi_aminox_EditTitlesActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_slimakoi_aminox_CommunitySelectorActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_androidx_activity_ComponentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_c0_b_c_n_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_tapjoy_TJAdUnitActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_c0_h_b_i_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Dex2C.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_c0_b_c_m_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_c0_k_a_i_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_com_google_android_gms_ads_AdActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_com_google_firebase_auth_internal_GenericIdpActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_slimakoi_aminox_InformationActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Dex2C.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_com_google_android_gms_auth_api_signin_internal_SignInHubActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_com_google_android_gms_common_api_GoogleApiActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_com_google_firebase_auth_internal_RecaptchaActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_slimakoi_aminox_ActionSelectorActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_com_tapjoy_TJContentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= well_known_classes.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_d0_d_a_c_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_com_slimakoi_aminox_EditTitlesActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_c0_b_c_m_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_com_slimakoi_aminox_CommunitySelectorActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_com_tapjoy_TJAdUnitActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_slimakoi_aminox_MainActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_com_slimakoi_aminox_InformationActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_com_slimakoi_aminox_ActionSelectorActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] SharedLibrary  : libnc.so
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[armeabi-v7a] Install        : libnc.so => libs/armeabi-v7a/libnc.so
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Compile++      : nc <= Java_com_slimakoi_aminox_MainActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] SharedLibrary  : libnc.so
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
fcntl(): Bad file descriptor
make: Entering directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
[arm64-v8a] Install        : libnc.so => libs/arm64-v8a/libnc.so
make: Leaving directory 'C:/Users/Slimakoi/AppData/Local/Temp/dcc-project-muw1y3yx'
I: Using Apktool 2.4.0 on app.apk
I: Copying raw resources...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
[ERROR   ] dcc: Compile app.apk failed!
Traceback (most recent call last):
  File "dcc.py", line 463, in <module>
    dcc_main(infile, filtercfg, outapk, do_compile, project_dir, source_archive)
  File "dcc.py", line 417, in dcc_main
    copy_compiled_libs(project_dir, decompiled_dir)
  File "dcc.py", line 242, in copy_compiled_libs
    raise Exception("ABI %s is not supported!" % abi)
Exception: ABI x86 is not supported!
[INFO    ] dcc: removing C:\Users\Slimakoi\AppData\Local\Temp\dcc-project-muw1y3yx
[INFO    ] dcc: removing C:\Users\Slimakoi\AppData\Local\Temp\tmp9c5gz5bs-dcc
[INFO    ] dcc: removing C:\Users\Slimakoi\AppData\Local\Temp\dcc-apktool-aw0m7wzb

测试demo时遇见SyntaxError:invalid syntax错误

在配置完SDK,JDK和NDK的环境之后进行测试demo,编译demo-java
cd tests/demo-java
./gradlew assembleDebug成功
下一步将dex编译到c生成c代码输出到demo-c的/src/main目录下出错
python3 dcc.py tests/demo-java/app/build/outputs/apk/debug/app-debug.apk --source-dir=tests/demo-c/app/src/main/ --no-build
Traceback( most recent call last):
File "dcc.py",line 18,in
from dex2c.compiler import Dex2C
File "/home/dev/dcc/dex2c/compiler.py",line 27,in
from dex2c.basic_blocks import fill_node_from_block
File "home/dev/dcc/dex2c/basic_blocks.py",line 22,in
from dex2c.instruction import MoveResultExpression
File "home/dev/dcc/dex2c/instruction.py",line 299
self.value: Value = None

SyntaxError:invalid syntax
self.value后面的冒号显示SyntaxError

构建失败

复现过程

按照README.MD配置好后,执行
root@localhost:/****/Dex2C# python3.7 dcc.py t.apk -o o.apk
运行结果

[ERROR   ] dcc: Compile t.apk failed!
Traceback (most recent call last):
  File "dcc.py", line 370, in <module>
    dcc(infile, filtercfg, outapk, do_compile, project_dir, source_archive)
  File "dcc.py", line 330, in dcc
    os.rename(src_zip, source_archive)
OSError: [Errno 18] Invalid cross-device link: '/tmp/tmplal_8cse-dcc.zip' -> 'project-source.zip'
[INFO    ] dcc: removing /tmp/dcc-project-hlpqh92y
[INFO    ] dcc: removing /tmp/tmplal_8cse-dcc

环境

Python 3.7.3
Ubuntu 19.04 on Termux 0.74

cryptography构建错误 好像是缓存问题

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\Administrator\PycharmProjects\untitled\venv\include -IC:\Users\Administrator\AppData\Local\Programs\Python\Python38\include -IC:\Users\Administrator\AppData\Local\Programs\Python\Python38\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tcbuild\temp.win-amd64-3.8\Release_openssl.c /Fobuild\temp.win-amd64-3.8\Release\build\temp.win-amd64-3.8\Release_openssl.obj
_openssl.c
build\temp.win-amd64-3.8\Release_openssl.c(498): fatal error C1083: 无法开启包括档案: 'openssl/opensslv.h': No such file or directory
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\HostX86\x64\cl.exe' failed with exit status 2


Running setup.py clean for cryptography
Failed to build cryptography

Failed building wheel for cryptography
Could not build wheels for cryptography which use PEP 517 and cannot be installed directly

不能安装 与架构有关吗

PS C:> python .\dcc.py .\app-debug.apk -o .\app-debug1.apk
[WARNING ] androguard.core.api_specific_resources: Requested API level 31 is larger than maximum we have, returning API level 28 instead.
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= well_known_classes.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_google_android_material_datepicker_MaterialDatePicker_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_androidx_activity_ComponentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_androidx_fragment_app_DialogFragment_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_google_android_material_datepicker_MaterialCalendar_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_androidx_appcompat_app_AppCompatDelegateImpl_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_androidx_appcompat_app_AppCompatDialog_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_google_android_material_bottomsheet_BottomSheetDialog_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_google_android_material_datepicker_MaterialTextInputPicker_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_androidx_core_app_ComponentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_androidx_fragment_app_FragmentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_androidx_appcompat_app_AlertDialog_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_androidx_fragment_app_Fragment_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_google_android_material_timepicker_MaterialTimePicker_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Dex2C.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Compile++ thumb: nc <= Java_com_google_android_material_datepicker_MaterialStyledDatePickerDialog_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= well_known_classes.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_com_google_android_material_datepicker_MaterialDatePicker_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_androidx_activity_ComponentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_androidx_fragment_app_DialogFragment_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_androidx_appcompat_app_AppCompatDelegateImpl_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_com_google_android_material_datepicker_MaterialCalendar_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_androidx_appcompat_app_AppCompatDialog_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_com_google_android_material_bottomsheet_BottomSheetDialog_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_com_google_android_material_datepicker_MaterialTextInputPicker_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_androidx_fragment_app_FragmentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_androidx_core_app_ComponentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_androidx_appcompat_app_AlertDialog_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_androidx_fragment_app_Fragment_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_com_google_android_material_timepicker_MaterialTimePicker_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Dex2C.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Compile++      : nc <= Java_com_google_android_material_datepicker_MaterialStyledDatePickerDialog_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= well_known_classes.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_com_google_android_material_datepicker_MaterialDatePicker_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_androidx_activity_ComponentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_androidx_fragment_app_DialogFragment_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_androidx_appcompat_app_AppCompatDelegateImpl_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_com_google_android_material_datepicker_MaterialCalendar_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_androidx_appcompat_app_AppCompatDialog_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_com_google_android_material_bottomsheet_BottomSheetDialog_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_com_google_android_material_datepicker_MaterialTextInputPicker_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_androidx_fragment_app_FragmentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_androidx_core_app_ComponentActivity_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_androidx_appcompat_app_AlertDialog_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_androidx_fragment_app_Fragment_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Dex2C.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_com_google_android_material_timepicker_MaterialTimePicker_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] SharedLibrary  : libnc.so
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] SharedLibrary  : libnc.so
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[armeabi-v7a] Install        : libnc.so => libs/armeabi-v7a/libnc.so
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Compile++      : nc <= Java_com_google_android_material_datepicker_MaterialStyledDatePickerDialog_onCreate__Landroid_os_Bundle_2.cpp
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[arm64-v8a] Install        : libnc.so => libs/arm64-v8a/libnc.so
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] SharedLibrary  : libnc.so
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
make: Entering directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
[x86] Install        : libnc.so => libs/x86/libnc.so
make: Leaving directory 'C:/Users/Vink/AppData/Local/Temp/dcc-project-t2t5vu3z'
I: Using Apktool 2.5.0 on app-debug.apk
I: Copying raw resources...
I: Baksmaling classes.dex...
I: Baksmaling classes3.dex...
I: Baksmaling classes2.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
I: Using Apktool 2.5.0
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether sources has changed...
I: Smaling smali_classes2 folder into classes2.dex...
I: Checking whether sources has changed...
I: Smaling smali_classes3 folder into classes3.dex...
I: Checking whether resources has changed...
I: Copying raw resources...
I: Copying libs... (/lib)
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk...
[INFO    ] dcc: signing C:\Users\Vink\AppData\Local\Temp\tmpi6kolp0y-unsigned.apk -> .\app-debug1.apk
[INFO    ] dcc: removing C:\Users\Vink\AppData\Local\Temp\dcc-project-t2t5vu3z
[INFO    ] dcc: removing C:\Users\Vink\AppData\Local\Temp\tmpvbpasz9w-dcc
[INFO    ] dcc: removing C:\Users\Vink\AppData\Local\Temp\dcc-apktool-rux8zg5r
[INFO    ] dcc: removing C:\Users\Vink\AppData\Local\Temp\tmpi6kolp0y-unsigned.apk
PS C:\Users\Vink\Desktop\dcc-master> adb uninstall com.a_a
Success
PS C:\> adb install .\app-debug1.apk
Performing Streamed Install
adb: failed to install .\app-debug1.apk: Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]
PS C:\Users\Vink\Desktop\dcc-master> adb shell cat cat  /proc/cpuinfo
adb server version (31) doesn't match this client (41); killing...
* daemon started successfully
cat: cat: No such file or directory
Processor       : AArch64 Processor rev 4 (aarch64)
processor       : 0
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

Exception: unkonw type vResult_43

owner@ubuntu:~/Desktop/github/dcc$ python3 dcc.py app-release.apk -o out.apk
[WARNING ] androguard.core.api_specific_resources: Requested API level 30 is larger than maximum we have, returning API level 28 instead.
[WARNING ] dcc: compile method failed:Lcom/common/security/PS;run()V (unkonw type vResult_43)
Traceback (most recent call last):
  File "dcc.py", line 369, in compile_dex
    code = compiler.get_source_method(m)
  File "/home/owner/Desktop/github/dcc/dex2c/compiler.py", line 557, in get_source_method
    irmethod = z.process()
  File "/home/owner/Desktop/github/dcc/dex2c/compiler.py", line 170, in process
    self.build()
  File "/home/owner/Desktop/github/dcc/dex2c/compiler.py", line 207, in build
    self.verify_operand_type()
  File "/home/owner/Desktop/github/dcc/dex2c/compiler.py", line 229, in verify_operand_type
    raise Exception('unkonw type %s' % var)
Exception: unkonw type vResult_43
[WARNING ] dcc: ================================
[WARNING ] dcc: Lcom/common/security/PS;run()V:unkonw type vResult_43
[WARNING ] dcc: ================================

win10

Traceback (most recent call last):
File "dcc.py", line 450, in
dcc_cfg = json.load(fp)
File "D:\Python\lib\json_init_.py", line 293, in load
return loads(fp.read(),
File "D:\Python\lib\json_init_.py", line 357, in loads
return _default_decoder.decode(s)
File "D:\Python\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "D:\Python\lib\json\decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Invalid \escape: line 3 column 19 (char 56)

FileNotFoundError: [Errno 2] No such file or directory错误

FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\ADMINI~1\AppData\Local\Temp\dcc-project-3poeod0w\jni\nc\Java_com_yihe_suho_ui_activity_mine_SelectTabActivity_launch__Landroid_content_Context_2Lcom_com_yihe_suho_bean_request_RegisterDeviceCodeRequestBean_2Ljava_lang_String_2.cpp'
1、请问这个错误改怎么解?
2、开启代码混淆可以吗,我测试了开启混淆会报错

BUG :多dex情况下 ,DCC只处理classes.dex

今天测试DCC ,无意中发现它在多dex情况下 ,只处理classes.dex , 不处理classes2.dex ,classes3.dex等dex

测试环境:
ndk-r16b(测试过 , 正常使用)
APP_ABI := armeabi

filter.txt我没瞎改 ,只写了测试类的类名 , 不匹配构造器, 别的每行都注释了

我测试的类 ,1个在classes2.dex , 1个在classes3.dex , 没测试classes.dex类的方法.
DCC输出: [INFO ] dcc: no compiled methods
然后 , 我将classes2.dex和classes.dex名字互换 ,能处理在classes2.dex的那个测试类 , 此时, 仍然没有处理classes3.dex的那个测试类.
然后 , 我将原apk的classes3.dex和classes.dex名字互换 ,能处理在classes3.dex的那个测试类 , 此时, 仍然没有处理classes2.dex的那个测试类.

总结: 在多dex情况下 ,DCC只处理classes.dex

如果需要我测试的apk , 我稍后补上链接.
请大佬核查一下 , 是否有这个bug

BUG

I find that the dcc only processes the first dex file in the apk although the writer said he has fixed this bug already.My sample apk has fourteen dex files and if the target don't situate in the first dex,the dcc will output:info no methods compiled.If in,everything is ok.

filter.txt有配置 但没编译到。

do not compile constructor

!<clinit|init>

compile method named onCreate, mostly activity's onCreate

.;searchNumber(BJIIJJ.
.;searchNumber(BJJIIJJ.

compile all method, use to test compiler

#.*

WIN10 找不到指定文件报错

jni/nc/Dex2C.h:28:91: note: expanded from macro 'D2C_RESOLVE_FIELD'
if (cached_field == NULL && d2c_resolve_field(env, &cached_class, &cached_field, false, class_name, field_name...
^~~~~~~~~~
159 warnings generated.
[armeabi-v7a] SharedLibrary : libnc.so
159 warnings generated.
[arm64-v8a] SharedLibrary : libnc.so
[armeabi-v7a] Install : libnc.so => libs/armeabi-v7a/libnc.so
[arm64-v8a] Install : libnc.so => libs/arm64-v8a/libnc.so
make: Leaving directory 'C:/Users/70500/AppData/Local/Temp/dcc-project-ocgs4lpv'
I: Using Apktool 2.6.1 on your_app.apk
I: Copying raw resources...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
[ERROR ] dcc: Compile your_app.apk failed!
Traceback (most recent call last):
File "C:\Users\70500\Desktop\dcc\dcc.py", line 463, in
dcc_main(infile, filtercfg, outapk, do_compile, project_dir, source_archive)
File "C:\Users\70500\Desktop\dcc\dcc.py", line 416, in dcc_main
native_compiled_dexes(decompiled_dir, compiled_methods)
File "C:\Users\70500\Desktop\dcc\dcc.py", line 316, in native_compiled_dexes
native_class_methods(smali_path, compiled_methods)
File "C:\Users\70500\Desktop\dcc\dcc.py", line 282, in native_class_methods
line = next_line()
File "C:\Users\70500\Desktop\dcc\dcc.py", line 250, in next_line
return fp.readline()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xbb in position 131: illegal multibyte sequence
[INFO ] dcc: removing C:\Users\70500\AppData\Local\Temp\dcc-project-ocgs4lpv
Traceback (most recent call last):
File "C:\Users\70500\Desktop\dcc\dcc.py", line 467, in
clean_temp_files()
File "C:\Users\70500\Desktop\dcc\dcc.py", line 60, in clean_temp_files
shutil.rmtree(name)
File "D:\DATA\汇编\Python\lib\shutil.py", line 747, in rmtree
return _rmtree_unsafe(path, onerror)
File "D:\DATA\汇编\Python\lib\shutil.py", line 612, in _rmtree_unsafe
_rmtree_unsafe(fullname, onerror)
File "D:\DATA\汇编\Python\lib\shutil.py", line 612, in _rmtree_unsafe
_rmtree_unsafe(fullname, onerror)
File "D:\DATA\汇编\Python\lib\shutil.py", line 612, in _rmtree_unsafe
_rmtree_unsafe(fullname, onerror)
[Previous line repeated 3 more times]
File "D:\DATA\汇编\Python\lib\shutil.py", line 617, in _rmtree_unsafe
onerror(os.unlink, fullname, sys.exc_info())
File "D:\DATA\汇编\Python\lib\shutil.py", line 615, in _rmtree_unsafe
os.unlink(fullname)
FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'C:\Users\70500\AppData\Local\Temp\dcc-project-ocgs4lpv\obj\local\arm64-v8a\objs\nc\nc\Java_com_e4a_runtime_components_impl_android__0767d_06d6a_05148_068ee_04e36_1_0652f_04ed8_09009_062e9_05bf9_08bdd_06846_07c7b_05e93_PayDialog_onCreate__Landroid_os_Bundle_2.o'

会自动移除annotation,导致网页调用本地方法不可用

处理前的smali

.method public print()V
.registers 10
.annotation runtime Landroid/webkit/JavascriptInterface;
.end annotation

.annotation runtime Lqinlili/Dex2C;
.end annotation

const-string v1, "正在准备打印..."

const/4 v2, 0x0

invoke-static {p0, v1, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

move-result-object v1

invoke-virtual {v1}, Landroid/widget/Toast;->show()V

iget-object v3, p0, Lqinlili/Saya/Saya;->w:Landroid/webkit/WebView;

new-instance v0, Landroid/os/Handler;

invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;

move-result-object v1

invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V

new-instance v1, Lqinlili/Saya/Saya$WebPrint;

invoke-direct {v1, p0, v3}, Lqinlili/Saya/Saya$WebPrint;-><init>(Landroid/app/Activity;Landroid/webkit/WebView;)V

invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

return-void

.end method

处理后变成
.method public native print()V
.end method
网页js调用失效

必须自己手动修改成
.method public native print()V
.annotation runtime Landroid/webkit/JavascriptInterface;
.end annotation
.end method
这样才能生效

dex2c错误

[ERROR ] dcc: Compile 4.apk failed!
Traceback (most recent call last):
File "dcc.py", line 463, in
dcc_main(infile, filtercfg, outapk, do_compile, project_dir, source_archive)
File "dcc.py", line 388, in dcc_main
compiled_methods, errors = compile_dex(apkfile, filtercfg)
File "dcc.py", line 349, in compile_dex
method_filter = MethodFilter(filtercfg, d)
File "dcc.py", line 111, in init
self._load_filter_configure(configure)
File "dcc.py", line 133, in _load_filter_configure
self._compile_filters.append(re.compile(line))
File "/usr/lib/python3.6/re.py", line 233, in compile
return _compile(pattern, flags)
File "/usr/lib/python3.6/re.py", line 301, in _compile
p = sre_compile.compile(pattern, flags)
File "/usr/lib/python3.6/sre_compile.py", line 562, in compile
p = sre_parse.parse(p, flags)
File "/usr/lib/python3.6/sre_parse.py", line 855, in parse
p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
File "/usr/lib/python3.6/sre_parse.py", line 416, in _parse_sub
not nested and not items))
File "/usr/lib/python3.6/sre_parse.py", line 502, in _parse
code = _escape(source, this, state)
File "/usr/lib/python3.6/sre_parse.py", line 401, in _escape
raise source.error("bad escape %s" % escape, len(escape))
sre_constants.error: bad escape \L at position 15
请问如何解决?

编译demo错误

C:\Users\Administrator\Desktop\0\dcc>python dcc.py tests/demo-java/app/build/out
puts/apk/debug/app-debug.apk --source-dir=tests/demo-c/app/src/main/ --no-build
Traceback (most recent call last):
File "dcc.py", line 14, in
from androguard.core.analysis import analysis
File "C:\Users\Administrator\Desktop\0\dcc\androguard\core\analysis\analysis.p
y", line 8, in
from androguard.core.bytecodes import dvm
File "C:\Users\Administrator\Desktop\0\dcc\androguard\core\bytecodes\dvm.py",
line 8, in
from androguard.core.bytecodes.apk import APK
File "C:\Users\Administrator\Desktop\0\dcc\androguard\core\bytecodes\apk.py",
line 7, in
from androguard.util import read, get_certificate_name_string
File "C:\Users\Administrator\Desktop\0\dcc\androguard\util.py", line 1, in
import asn1crypto
ModuleNotFoundError: No module named 'asn1crypto'

demo-c编译错误

Build command failed.
Error while executing process C:\Users\Administrator\AppData\Local\Android\Sdk\ndk\20.1.5948944\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\Users\Administrator\Desktop\0\dcc\tests\demo-c\app\src\main\jni\Android.mk NDK_APPLICATION_MK=C:\Users\Administrator\Desktop\0\dcc\tests\demo-c\app\src\main\jni\Application.mk APP_ABI=armeabi-v7a NDK_ALL_ABIS=armeabi-v7a NDK_DEBUG=1 APP_PLATFORM=android-19 NDK_OUT=C:/Users/Administrator/Desktop/0/dcc/tests/demo-c/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=C:\Users\Administrator\Desktop\0\dcc\tests\demo-c\app\build\intermediates\ndkBuild\debug\lib C:/Users/Administrator/Desktop/0/dcc/tests/demo-c/app/build/intermediates/ndkBuild/debug/obj/local/armeabi-v7a/libnc.so}
[armeabi-v7a] Compile++ thumb: nc <= Java_com_test_TestCompiler_MethodCall_manyArgs__IJIJIJIIDFDSICIIBZIIJJIIIII_3_3Ljava_lang_String_2_3Ljava_lang_String_2Ljava_lang_String_2.cpp

make: *** [C:/Users/Administrator/Desktop/0/dcc/tests/demo-c/app/build/intermediates/ndkBuild/debug/obj/local/armeabi-v7a/objs-debug/nc/nc/Java_com_test_TestCompiler_MethodCall_manyArgs__IJIJIJIIDFDSICIIBZIIJJIIIII_3_3Ljava_lang_String_2_3Ljava_lang_String_2Ljava_lang_String_2.o] Error 1

java如何转class

基本确定是引用不到android/什么的才不能转 可请大大教下吗 (我知道不符版 但网上的方法几乎试过了)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.