Git Product home page Git Product logo

android's People

Contributors

qgb avatar

Stargazers

 avatar

Watchers

 avatar  avatar

android's Issues

Smali


如果需要调用构造方法,则MethodName为:<init>

Termux

apt install screenfetch wget tsu openssl
apt install python git

微X模块 WeXposed.X.94_2.30.apk

 public final void O000O0O00OO0OO0OOO0(ClassLoader p0,String p1){
       O000O0O00OOO0O0O0OO.O000O0O00OO0OO0OOO0(p0, "dexClassLoader");
       O000O0O00OOO0O0O0OO.O000O0O00OO0OO0OOO0(p1, "mWeChatVersion");
       if (O000O0O00OOO0O0O0OO.O000O0O00OO0O0OOO0O(p1, "V6.7.3")) {
          this.O000O0O00OO0OO0O0OO(p0, "V1");
       }else if(!O000O0O00OOO0O0O0OO.O000O0O00OO0O0OOO0O(p1, "7.0.10") && (O000O0O00OOO0O0O0OO.O000O0O00OO0O0OOO0O(p1, "V7.0.12") || O000O0O00OOO0O0O0OO.O000O0O00OO0O0OOO0O(p1, "V7.0.13"))){
          if (O000O0O00OO0O0OOOO0.O000O0O00OO0OO0OO0O) {
             this.O000O0O00OO0OOO0O0O(p0, "V2");
          }
       }else if(O000O0O00OOO0O0O0OO.O000O0O00OO0O0OOO0O(p1, "7.0.15") || O000O0O00OOO0O0O0OO.O000O0O00OO0O0OOO0O(p1, "V7.0.16")){
          if (O000O0O00OO0O0OOOO0.O000O0O00OO0OO0OO0O) {
             this.O000O0O00OO0OOO0O0O(p0, "V3");
          }
          if (O000O0O00OO0O0OOOO0.O000O0O00OO0OO0O0OO) {
          label_006e :
             this.O000O0O00OO0OO0OO0O(p0, "V3");
          }
       }else if(O000O0O00OOO0O0O0OO.O000O0O00OO0O0OOO0O(p1, "7.0.17")){
          if (O000O0O00OO0O0OOOO0.O000O0O00OO0OO0O0OO) {
             goto label_006e ;
          }
       }else if(new O000O0O0O0O0OO0O0OO$O000O0O00OO0O0OOOO0().O000O0O00OO0O0OOO0O() && O000O0O00OO0O0OOOO0.O000O0O00OO0OO0O0OO){
          goto label_006e ;
       }
       return;
    }


permissions 权限问题

CLASSPATH=/data/app/me.zhanghai.android.beeshell-UxQtrDQlOM-Yb6I-yGUAaw==/base.apk /system/bin/app_process -Xrunjdwp:transport=dt_android_adb,suspend=n,server=y -Xcompiler-option --debuggable /system/bin --nice-name=me.zhanghai.android.beeshell:shell me.zhanghai.android.beeshell.ShellMain

APP AndroidManifest.xml 申请相应权限后执行 ,成功
root用户执行,成功!

~ # 
~ # 
~ # CLASSPATH=/data/app/me.zhanghai.android.beeshell-UxQtrDQlOM-Yb6I-yGUAaw==/base.apk /system/bin/app_process -Xrunjdwp:transport=dt_android_adb,suspend=n,server=y -Xcompiler-option --debuggable /system/bin --nice-name=me.zhanghai.android.beeshell:shell me.zhanghai.android.beeshell.ShellMain
|  Welcome to BeeShell 1.0.1
|  Powered by BeanShell 2.0b6
bsh> 
bsh> import android.bluetooth.BluetoothAdapter;BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();  
$1 = null
bsh> mBluetoothAdapter.disable()
$2 = true
bsh> mBluetoothAdapter.enable()
$3 = true
bsh> mBluetoothAdapter.disable()
$4 = true
bsh> 

adb shell 执行,没有权限 ,失败!

bsh> mBluetoothAdapter.disable()
Sourced file: inline evaluation of: ``mBluetoothAdapter.disable();'' : Method Invocation mBluetoothAdapter.disable : at Line: 1 : in file: inline evaluation of: ``mBluetoothAdapter.disable();'' : mBluetoothAdapter .disable ( )

Target exception: java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 2000 nor current process has android.permission.BLUETOOTH_ADMIN.

        at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:91)
        at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:96)
        at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:41)
        at bsh.Interpreter.eval(Interpreter.java:659)
        at bsh.Interpreter.eval(Interpreter.java:750)
        at bsh.Interpreter.eval(Interpreter.java:739)
        at me.zhanghai.android.beeshell.InteractiveInterpreter.execute(InteractiveInterpreter.kt:58)
        at me.zhanghai.android.beeshell.ShellMain.main(ShellMain.kt:76)
        at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
        at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:285)
Caused by: java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 2000 nor current process has android.permission.BLUETOOTH_ADMIN.
        at android.os.Parcel.readException(Parcel.java:2013)
        at android.os.Parcel.readException(Parcel.java:1959)
        at android.bluetooth.IBluetoothManager$Stub$Proxy.disable(IBluetoothManager.java:356)
        at android.bluetooth.BluetoothAdapter.disable(BluetoothAdapter.java:976)
        at java.lang.reflect.Method.invoke(Native Method)
        at bsh.Reflect.invokeMethod(Reflect.java:131)
        at bsh.Reflect.invokeObjectMethod(Reflect.java:77)
        at bsh.Name.invokeMethod(Name.java:852)
        at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:69)
        ... 9 more

bsh>
bsh> import android.bluetooth.BluetoothAdapter;BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
angler:/ $
angler:/ $ id
uid=2000(shell) gid=2000(shell) groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid) context=u:r:shell:s0
angler:/ $                                                                              

JDB

···
main[1] eval wrapperExecutor.getClass()
wrapperExecutor.getClass() = "class org.gradle.wrapper.WrapperExecutor"
main[1] eval wrapperExecutor.getClass().getClass()
wrapperExecutor.getClass().getClass() = "class java.lang.Class"
main[1] eval wrapperExecutor.getClass().getClass().getClass()
wrapperExecutor.getClass().getClass().getClass() = "class java.lang.Class"
main[1] eval ("32").getClass()
("32").getClass() = "class java.lang.String"
main[1] eval class.forName("org.gradle.wrapper.WrapperExecutor")
com.sun.tools.example.debug.expr.ParseException: Encountered " "class" "class "" at line 1, column 2.
Was expecting one of:
"false" ...
"new" ...
"null" ...
"super" ...
"this" ...
"true" ...
<INTEGER_LITERAL> ...
<FLOATING_POINT_LITERAL> ...
<CHARACTER_LITERAL> ...
<STRING_LITERAL> ...
...
"(" ...
"!" ...
"~" ...
"++" ...
"--" ...
"+" ...
"-" ...
<INTEGER_LITERAL> ...
<FLOATING_POINT_LITERAL> ...
<CHARACTER_LITERAL> ...
<STRING_LITERAL> ...
"true" ...
"false" ...
"null" ...
...
"this" ...
"super" ...
"(" ...
"new" ...
"new" ...

class.forName("org.gradle.wrapper.WrapperExecutor") = 空值
···

log

Your anti-virus program might be impacting your build performance. 
Android Studio checked the following directories: 
E:\Android\sdk C:\Users\qgb\.gradle 
C:\Users\qgb\AppData\Local\Google\AndroidStudio2021.2 
C:\Users\qgb\AndroidStudioProjects\Basic_Application

gradlew lint

GradleWrapperMain.java

main[1] locals
方法参数:
args = instance of java.lang.String[1] (id=688)
本地变量:
wrapperJar = instance of java.io.File(id=689)
propertiesFile = instance of java.io.File(id=690)
rootDir = instance of java.io.File(id=691)
parser = instance of org.gradle.cli.CommandLineParser(id=678)
converter = instance of org.gradle.cli.SystemPropertiesCommandLineConverter(id=686)
main[1] print propertiesFile.toString
com.sun.tools.example.debug.expr.ParseException: No such field in java.io.File
 propertiesFile.toString = 空值
main[1] print propertiesFile.toString()
 propertiesFile.toString() = "C:\test\xposed\BeeShell\gradle\wrapper\gradle-wrapper.properties"

YukiHookAPI Xposed

@InjectYukiHookWithXposed
class HookEntry : IYukiHookXposedInit {

    override fun onHook() = encase {
        loadZygote {
            ActivityClass.hook {
                injectMember {
                    method {
                        name = "onCreate"
                        param(BundleClass)
                    }
                    beforeHook {
                        // Your code here.
                    }
                    afterHook {
                        // Your code here.
                    }
                }
            }
            resources().hook {
                injectResource {
                    conditions {
                        name = "sym_def_app_icon"
                        mipmap()
                    }
                    replaceToModuleResource(R.mipmap.ic_launcher)
                }
            }
        }
        loadApp(name = "com.android.browser") {
            ActivityClass.hook {
                injectMember {
                    method {
                        name = "onCreate"
                        param(BundleClass)
                    }
                    beforeHook {
                        // Your code here.
                    }
                    afterHook {
                        // Your code here.
                    }
                }
            }
            resources().hook {
                injectResource {
                    conditions {
                        name = "ic_launcher"
                        mipmap()
                    }
                    replaceToModuleResource(R.mipmap.ic_launcher)
                }
            }
        }
    }
}

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.