dcc
dcc copied to clipboard
帮忙看下,我直接运行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
ndk版本是多少,用最新的试试.
用是19.2.5345600版本,电脑是mac系统的
我都是在ubuntu下测试的,mac我没有测试过.你先网上看看" 'INT64_MAX' was not declared in this scope" 这种错误怎么解决的,有可能是哪个头文件没有include进来.我晚上看看.
换了ndk20版本,没有上面的问题了。现在有个
[ERROR ] dcc: Compile app-releasenode222.apk failed!
Traceback (most recent call last):
File "dcc.py", line 441, in
vi project/jni/Application.mk
把第4行打开,第5行注释掉. 看来我这个提示做得很搓啊,之前有人问过,应该做成自动编译原包支持的abi的.
[ERROR ] dcc: Compile app-releasenode222.apk failed!
Traceback (most recent call last):
File "dcc.py", line 441, in
把第四行改成这样.加上x86
APP_ABI := armeabi-v7a arm64-v8a x86
可以了。APP_ABI := armeabi-v7a arm64-v8a x86 x86_64,,看看能不能跑先不知道啥原因,我的apktool路径都要全路径。
------------------ 原始邮件 ------------------ 发件人: "amimo"<[email protected]>; 发送时间: 2019年11月16日(星期六) 下午3:10 收件人: "amimo/dcc"<[email protected]>; 抄送: "helloworld"<[email protected]>; "Author"<[email protected]>; 主题: Re: [amimo/dcc] 帮忙看下,我直接运行dcc.py文件,报错 (#11)
把第四行改成这样.加上x86
APP_ABI := armeabi-v7a arm64-v8a x86
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
1-16 15:05:05.252 25510-25510/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.lfgam.xinji, PID: 25510 java.lang.UnsatisfiedLinkError: No implementation found for void com.lfgam.xinji.ActiveCodeActivity.onCreate(android.os.Bundle) (tried Java_com_lfgam_xinji_ActiveCodeActivity_onCreate and Java_com_lfgam_xinji_ActiveCodeActivity_onCreate__Landroid_os_Bundle_2) 安装报错。
需要插入加载libnc.so代码,参考这个回复
还是不太明白,是要原工程加入 try { System.loadLibrary("nc"); } catch (UnsatisfiedLinkError e) { e.printStackTrace(); }这代码,,还是处理过后的app加入smali 代码加载nc库文件
加载库有两种改法. 1.有工程源码,改源码,就用这个try catch 2.没有java源码,改smali.参考我回复的smali.
按照第二种方法处理了一下 1:先把预先准备的好app,反编译加上nc代码 2:再重新打包成新包, 3:python3 dcc.py test2.apk -o out.apk 处理下生成out.apk,再生成签名安装, 可以安装成功并运行,nc库也在进去带app内存当中(b3b67000-b3b68000 rw-p 00029000 fe:00 999738 /data/app/com.gam.xinji-1/lib/arm/libnc.so)。 但是我反编译out.apk。。java代码并没有处理,还是原来带代码代码。不知道哪里问题了
你看这个方法的代码是不是已经隐藏了 "Java_com_lfgam_xinji_ActiveCodeActivity_onCreate". 如果你要隐藏所有方法,把filter.txt文件最后一行打开.
1:没有开启最后一行,ActiveCodeActivity 这个类 public native void onCreate(Bundle bundle);已经隐藏了。其它没有类没有隐藏
2:开启最后一行.*; ,出现如下错误,但可以运行编译
Traceback (most recent call last):
File "dcc.py", line 347, in compile_dex
code = compiler.get_source_method(m)
File "/Users/kwing/PycharmProjects/dcc/dex2c/compiler.py", line 557, in get_source_method
irmethod = z.process()
File "/Users/kwing/PycharmProjects/dcc/dex2c/compiler.py", line 170, in process
self.build()
File "/Users/kwing/PycharmProjects/dcc/dex2c/compiler.py", line 208, in build
self.verify_phi_operand_type()
File "/Users/kwing/PycharmProjects/dcc/dex2c/compiler.py", line 245, in verify_phi_operand_type
raise Exception("inconsistency phi operand type %s %s %s" % (phi, same_type, op_type))
Exception: inconsistency phi operand type v7_7 I Ljava/lang/String;
[WARNING ] dcc: compile method failed:Lcom/lfgam/xinji/utils/AppInfoUtils;getCpuName()Ljava/lang/String; (inconsistency phi operand type v0_4 I Ljava/lang/String;)
Traceback (most recent call last):
File "dcc.py", line 347, in compile_dex
code = compiler.get_source_method(m)
File "/Users/kwing/PycharmProjects/dcc/dex2c/compiler.py", line 557, in get_source_method
irmethod = z.process()
File "/Users/kwing/PycharmProjects/dcc/dex2c/compiler.py", line 170, in process
self.build()
File "/Users/kwing/PycharmProjects/dcc/dex2c/compiler.py", line 208, in build
self.verify_phi_operand_type()
File "/Users/kwing/PycharmProjects/dcc/dex2c/compiler.py", line 245, in verify_phi_operand_type
raise Exception("inconsistency phi operand type %s %s %s" % (phi, same_type, op_type))
Exception: inconsistency phi operand type v0_4 I Ljava/lang/String;
[WARNING ] dcc: compile method failed:Lokhttp3/Headers;of([Ljava/lang/String;)Lokhttp3/Headers; (unkonw type vResult_1)
Traceback (most recent call last):
File "dcc.py", line 347, in compile_dex
code = compiler.get_source_method(m)
File "/Users/kwing/PycharmProjects/dcc/dex2c/compiler.py", line 557, in get_source_method
irmethod = z.process()
File "/Users/kwing/PycharmProjects/dcc/dex2c/compiler.py", line 170, in process
self.build()
File "/Users/kwing/PycharmProjects/dcc/dex2c/compiler.py", line 207, in build
self.verify_operand_type()
File "/Users/kwing/PycharmProjects/dcc/dex2c/compiler.py", line 229, in verify_operand_type
raise Exception('unkonw type %s' % var)
Exception: unkonw type vResult_1
3:有什么办法可以去掉一些类不nation化,,比如系统类不nation化,举个例子看看?
------------------ 原始邮件 ------------------ 发件人: "amimo"<[email protected]>; 发送时间: 2019年11月16日(星期六) 晚上6:17 收件人: "amimo/dcc"<[email protected]>; 抄送: "helloworld"<[email protected]>; "Author"<[email protected]>; 主题: Re: [amimo/dcc] 帮忙看下,我直接运行dcc.py文件,报错 (#11)
你看这个方法的代码是不是已经隐藏了 "Java_com_lfgam_xinji_ActiveCodeActivity_onCreate". 如果你要隐藏所有方法,把filter.txt文件最后一行打开.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
这是我在类型推导失败或者我检测到类型推导不正确抛的异常,程序应该还是能正常运行. 支持正则过滤需要编译和禁止编译的方法.filter.txt里面有,你看我处理demo和onCreate的写法.
ok,确实是可以编译,filter.txt文件我再试试怎么规划。编译时间真的要很长,,谢谢啦
------------------ 原始邮件 ------------------ 发件人: "amimo"<[email protected]>; 发送时间: 2019年11月16日(星期六) 晚上6:40 收件人: "amimo/dcc"<[email protected]>; 抄送: "helloworld"<[email protected]>; "Author"<[email protected]>; 主题: Re: [amimo/dcc] 帮忙看下,我直接运行dcc.py文件,报错 (#11)
这是我在类型推导失败或者我检测到类型推导不正确抛的异常,程序应该还是能正常运行. 支持正则过滤需要编译和禁止编译的方法.filter.txt里面有,你看我处理demo和onCreate的写法.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
No implementation found for void de.robv.android.xposed.mods.tutorial.AutoHook.loadPrefs() filter.txt文件里面加入了.loadPrefs(. 规则,提示报错
反编译出来确实存在private native void loadPrefs();
public JApplication() {
System.loadLibrary("nc");
} 这个代码是放在application继承类里面
app运行也没有加载进去nc库,是什么情况
加载的时机可能还是晚了。你在JApplication的静态代码块加载试试。 不行再把完整的错误栈发一下。
我这个是xposed插件
入口是auto这个类 public AutoHook() {
System.loadLibrary("nc");
}
Failed to load class de.robv.android.xposed.mods.tutorial.AutoHook
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.lfgam.xinji-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]] couldn't find "libnc.so"
at java.lang.Runtime.loadLibrary(Runtime.java:367)
at java.lang.System.loadLibrary(System.java:1076)
at de.robv.android.xposed.mods.tutorial.AutoHook.
很久很久以前,我玩xposed的时候是这样加载native库的,不知道xposed的api现在变什么样了,你可以参考下. 我是在IXposedHookLoadPackage.handleLoadPackage使用下面的代码加载的
java.lang.System.load("/data/data/" + 插件包名 + "/lib/" + "libnc.so");
放在handleLoadPackage 下面也是找不到路径,不知道是不是系统版本问题,还在摸索中
确定so已经解压出来,并且加载路径是对的? 7+可能会有namespace的问题.
确定路径是对的,,现在我系统是6.0. 插件没处理先都是运行正常的,,处理后就是说找不到nc路径
Log看看,我之前在4.4上是可以加载native库的.
public void handleLoadPackage(LoadPackageParam loadPackageParam) throws Throwable {
String str;
Exception e;
Throwable th;
LoadPackageParam loadPackageParam2 = loadPackageParam;
System.loadLibrary("/data/app/com.lfgam.xinji-1/lib/libnc.so");
这个是现在改成data/app目录下的代码。 报错 dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.lfgam.xinji-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]] couldn't find "lib/data/app/com.lfgam.xinji-1/lib/libnc.so.so" at java.lang.Runtime.loadLibrary(Runtime.java:367) at java.lang.System.loadLibrary(System.java:1076) at de.robv.android.xposed.mods.tutorial.AutoHook.handleLoadPackage(AutoHook.java) at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34) at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:61) at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:106) at de.robv.android.xposed.XposedInit$2.beforeHookedMethod(XposedInit.java:134) 改成data/app目录下参考下https://bbs.pediy.com/thread-251171.htm,,难道要改成callemethed这样
如果改成data/data/com.lfgam.xinji/lib/libnc.so目录,就会报错找不到data/data/下的文件
大佬,用这个api, java.lang.System.load,你这个路径下次安装就会变的.用我的那个写法,单用户下路径是固定的.
1:现在 改成 public AutoHook() { System.load("/data/data/com.lfgam.xinji/lib/libnc.so"); }还是报错,多了armeabi-v7a java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/data/com.lfgam.xinji/armeabi-v7a/lib/libnc.so" not found at java.lang.Runtime.load(Runtime.java:332) at java.lang.System.load(System.java:1069) at com.example.hrst.xposedtest.Test.handleLoadPackage(Test.java:188) at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34) at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:61) 在我手机里面多路径没有armeabiv7a的 /data/data/com.lfgam.xinji/lib root@shamu:/data/data/com.lfgam.xinji/lib #
apk里面就没有这个so库吧。 你先手动复制一个libnc.so到lib下面,然后用绝对路径加载。
1:libnc.so这个文件都有,每个abi版本nc文件都有,安装后应该arm/libnc.so这目录的 2:/data/data/com.lfgam.xinji/lib/这目录是我写死的,libnc.so这确实也有,,但报错是另外一个目录