在iPhone上有几种方法可以检测用户何时打开盗版应用程序的版本.
有没有办法在Android上检测用户何时使用您的应用程序的盗版版本?
是否可以在未植根的设备上设置日志级别?所以我想以某种方式更改设备日志级别以"调试".这是可以做到的吗?
因为它没有扎根我不认为setprop会起作用.我也无法更改local.prop文件,因为我没有权限这样做.
除了可能很幸运,找到一个隐藏的菜单,其中包含日志级别.有没有办法让我以其他方式提高日志级别?
谢谢您的帮助.
我正在使用baksmali/smali工具.但有时我需要将.java类编译为.smali文件.所以我先用Eclipse编译它,然后将.APK反汇编为一组.smali文件.
是否可以使用一个工具直接将.java编译成.smali?
我自己找不到解决方案......
我通过eclipse在手机上编译并运行了一个项目,目前仍在那里安装.在做一些目录清理时,我不小心删除了源代码,所以代码的唯一剩余版本是在我的手机上安装的apk中.无论如何将应用程序导出回我的电脑?它没有签名或任何东西.
谢谢!
所以我发布了我的Android应用程序,我编写了它,应用了LVL,甚至改变了一些LVL代码但是当然,我发现它使用一个名为Lucky Patcher的工具破解了某个地方.我不打算问我如何防止这样的1点击工具,因为我猜没有单一的答案(除非你有一个想法并且可以指向我).
我需要请你帮忙弄清楚我的代码是如何破解的.我知道这个工具需要APK文件并删除许可.既然如此,我怎么能把这个APK文件反向工程回Java文件,看看该工具如何破解我的代码(所以我修复了它)
请帮帮我谢谢
这个错误让我发疯.从Google Play商店下载时,我的应用在启动时崩溃并出现以下错误:
java.lang.ClassNotFoundException
in dalvik.system.BaseDexClassLoader.findClass
Run Code Online (Sandbox Code Playgroud)
在我们的两个设备上使用eclipse构建时,我的应用程序不会崩溃.然而一个月前,一个客户使用他的手机构建我们的应用程序,然后它也在启动时崩溃.我忽略了这个问题,因为它正在我们的设备上工作,并认为它与谷歌地图键或密钥库有关.
现在,当从Play商店下载时,我们的应用程序崩溃了.我知道没有一种简单的方法可以解决这个问题,但是我们会理解正确的方向.
我也发现很难调试这个问题,因为在我们的设备上使用eclipse构建应用程序时效果很好!
这是我报告的完整错误日志:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.denederlandsewateren.winkeloord/com.denederlandsewateren.views.StartScreenActivity}: java.lang.ClassNotFoundException: com.denederlandsewateren.views.StartScreenActivity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2099)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2210)
at android.app.ActivityThread.access$600(ActivityThread.java:142)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1208)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4931)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.denederlandsewateren.views.StartScreenActivity
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2090)
... 11 more
Run Code Online (Sandbox Code Playgroud)
再说一遍,除了对这个问题的直接回答,但也许有人可以对这个错误日志提供的问题有所了解.
编辑
如果有帮助,这是清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxxx.xxxxx"
android:versionCode="1"
android:versionName="1.0" >
<permission
android:name="com.xxxxx.xxxxx.MAPS_RECEIVE"
android:protectionLevel="signature" />
<permission
android:name="com.xxxxx.xxxxx.permission.C2D_MESSAGE"
android:protectionLevel="signature" /> …Run Code Online (Sandbox Code Playgroud) 我一直在阅读很多关于恶意软件编写者如何重新打包现有的benigh android .apk并重新打包它以添加恶意功能.
现在,根据我对.apk文件结构的理解,每个.apk文件都包含一个.dex文件,该文件基本上是java字节转换为.dex格式.此外,该应用程序还有一个名为manifest.xml的二进制XML以及其他资源文件和资产.如果我们必须向应用程序添加额外的恶意功能,那么我们必须修改manifest.xml(可以通过将二进制xml转换回普通xml轻松完成),资源(可以直接替换)和.dex文件.
但.dex文件具有特定的结构.据我所知,对它做的任何修改都应该破坏代码.这些工具使用哪些技术来防止代码破坏,因为如果向原始应用程序添加一些恶意功能,我们实际上是添加一个额外的模块.
有哪些工具可以支持.apk文件重新打包?
谢谢.
编辑:有些成员可能会发现讨论有关逆向工程的问题.Iam研究Android安全工作的学生.我需要知道.apk文件重新打包是如何工作的,因为这是我的研究课题.此外,公开谈论逆向工程并不是恶意行为 - 书籍是关于逆向工程的 - 使用逆向工程进行恶意攻击是恶意的:)
我正在寻找一种方法来加密从应用程序到Fabric服务器崩溃时发送的数据.
检查官方文档我没有找到一种方法或属性来启用某种加密.