基础书籍推荐:1.疯狂JAVA讲义;2.疯狂安卓讲义;

逆向分析必须知道他的原理,不然只会用工具,那就直接GG。

谷歌的镜像网站:https://developers.google.com/android/images

选择

n2g47o

然后要准备的东西有

  1. 1.上面的系统包
  2. 2.twrp
  3. 3.supersu

下载解压完成后,进入bootloader,然后./flash-all.sh

adb push SR5-SuperSU-v2.82-SR5-20171001224502.zip /sdcard

adb push de.robv.android.xposed.installer_3.1.5-43_minAPI15\(nodpi\)_apkmirror.com.apk /sdcard/Download/

adb reboot bootloader

fastboot flash recovery twrp-3.3.0-0-bullhead.img

然后如果失败的话就在本地进行fastboot替换就可以了。

然后再常规刷入即可。

  1. 【亲测有效】开机后wifi有感叹号, 时间无法同步解决办法
  2. 在手机的shell里以root用户执行:
  3. # settings put global captive_portal_http_url https://www.google.cn/generate_204
  4. # settings put global captive_portal_https_url https://www.google.cn/generate_204
  5. # settings put global ntp_server 1.hk.pool.ntp.org
  6. # reboot

手调smail开始了

Xposed开发环境和Hello

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. tools:context=".MainActivity">
  8. <TextView
  9. android:id="@+id/textView"
  10. android:layout_width="wrap_content"
  11. android:layout_height="wrap_content"
  12. android:text="请输入纯数字噢"
  13. app:layout_constraintBottom_toBottomOf="parent"
  14. app:layout_constraintLeft_toLeftOf="parent"
  15. app:layout_constraintRight_toRightOf="parent"
  16. app:layout_constraintTop_toTopOf="parent" />
  17. <EditText
  18. android:id="@+id/editText"
  19. android:hint="username"
  20. android:layout_width="fill_parent"
  21. android:layout_height="40dp"
  22. android:maxLength="20"
  23. app:layout_constraintBottom_toBottomOf="parent"
  24. app:layout_constraintEnd_toEndOf="parent"
  25. app:layout_constraintHorizontal_bias="1.0"
  26. app:layout_constraintStart_toStartOf="parent"
  27. app:layout_constraintTop_toTopOf="parent"
  28. app:layout_constraintVertical_bias="0.095" />
  29. <EditText
  30. android:id="@+id/editText2"
  31. android:hint="password"
  32. android:layout_width="fill_parent"
  33. android:layout_height="40dp"
  34. android:maxLength="20"
  35. app:layout_constraintBottom_toBottomOf="parent"
  36. app:layout_constraintTop_toTopOf="parent"
  37. app:layout_constraintVertical_bias="0.239" />
  38. <Button
  39. android:id="@+id/button"
  40. android:layout_width="100dp"
  41. android:layout_height="35dp"
  42. android:layout_gravity="right|center_horizontal"
  43. android:text="LOGIN"
  44. android:visibility="visible"
  45. app:layout_constraintBottom_toBottomOf="parent"
  46. app:layout_constraintEnd_toEndOf="parent"
  47. app:layout_constraintStart_toStartOf="parent"
  48. app:layout_constraintTop_toTopOf="parent"
  49. app:layout_constraintVertical_bias="0.745" />
  50. </androidx.constraintlayout.widget.ConstraintLayout>
  1. package com.example.demo10;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.util.Base64;
  5. import android.util.Log;
  6. import android.view.View;
  7. import android.widget.EditText;
  8. import android.widget.TextView;
  9. public class MainActivity extends AppCompatActivity {
  10. EditText username_et;
  11. EditText password_et;
  12. TextView message_tv;
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.activity_main);
  17. Log.i("demo10roysue","Hello from demo10!");
  18. password_et = (EditText) this.findViewById(R.id.editText2);
  19. username_et = (EditText) this.findViewById(R.id.editText);
  20. message_tv = ((TextView) findViewById(R.id.textView));
  21. this.findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
  22. @Override
  23. public void onClick(View v) {
  24. if (username_et.getText().toString().compareTo("admin") == 0) {
  25. message_tv.setText("You cannot login as admin");
  26. return;
  27. }
  28. //hook target
  29. message_tv.setText("Sending to the server :" + Base64.encodeToString((username_et.getText().toString() + ":" + password_et.getText().toString()).getBytes(), Base64.DEFAULT));
  30. }
  31. });
  32. }
  33. }

Android之Xposed的更多相关文章

  1. [转]Android中Xposed框架篇—利用Xposed框架实现拦截系统方法

    一.前言 关于Xposed框架相信大家应该不陌生了,他是Android中Hook技术的一个著名的框架,还有一个框架是CydiaSubstrate,但是这个框架是收费的,而且个人觉得不怎么好用,而Xpo ...

  2. Android Studio Xposed模块编写(二)

    阅读本文前,假设读者已经看过Android Studio Xposed模块编写(一)  相关环境已经搭建完成.本文演示案例与上文环境一致,不在赘述. 1.概述 Xposed是非常牛叉的一款hook框架 ...

  3. [转载] Android中Xposed框架篇---利用Xposed框架实现拦截系统方法

    本文转载自: http://www.wjdiankong.cn/android%E4%B8%ADxposed%E6%A1%86%E6%9E%B6%E7%AF%87-%E5%88%A9%E7%94%A8 ...

  4. Android Studio Xposed模块编写(一)

    1.环境说明 本文主要参考https://my.oschina.net/wisedream/blog/471292?fromerr=rNPFQidG的内容,自己实现了一遍,侵权请告知 已经安装xpos ...

  5. Android中Xposed框架篇-微信实现本地视频发布到朋友圈功能

    微信非常庞大,还好有一些强大的工具,下面就来总结收获的知识. 一.使用adb shell dumpsys activity top命令快速定位页面 二.使用Jadx进行方法跟踪时候如果发现没有结果,可 ...

  6. Xposed 初尝

    1.初次使用xposed,之前直至其名,不闻其用. 2.相关引用配置上图 build.gradle配置,如下: dependencies { compile fileTree(include: ['* ...

  7. 轻松搭建Xposed Hook

    0x2.导入xposed库文件XposedBridgeApi-XX.jar,将库文件放在app/lib目录下,自己创建一个lib目录,别放在libs目录下,否则会出错,然后导入库,修改 Scope 为 ...

  8. Android 实现限制EditText输入文字的数量

    前段时间比较忙 没来的及时分享出来.需求是这样的要求用户只能输入12个字符或者6位中文的数据:作为一个菜鸟遇到这样的问题第一反应就是 Android:maxLength="12"这 ...

  9. Spring框架学习笔记(2)——面向切面编程AOP

    介绍 概念 面向切面编程AOP与面向对象编程OOP有所不同,AOP不是对OOP的替换,而是对OOP的一种补充,AOP增强了OOP. 假设我们有几个业务代码,都调用了某个方法,按照OOP的思想,我们就会 ...

随机推荐

  1. 记一次HBase的NotServingRegionException问题

    1. 问题 在hbase测试集群上,访问一些hbase表,均报类似下面的错误:region不可用 Wed Oct 28 14:00:56 CST 2020, RpcRetryingCaller{glo ...

  2. 你只用do-while来实现循环?太浪费了!

    这是道哥的第010篇原创 目录 前言 在宏定义中的妙用 错误的宏定义 比较好的宏定义 另一个也不错的宏定义 在函数体中的妙用 函数功能:返回错误代码对应的错误字符串 函数功能:通过TCP Socket ...

  3. Python之复制列表

    将一个列表的数据复制到另外一个列表中. 1 a = [1,2,3] #定义列表a 2 3 b = a[:] #将列表a的切片赋值给b,也可以理解为将b的值设置为a[:] 4 5 print(a) #打 ...

  4. windows Server 2016安装Sqlserver远程连接的坑

    如果要连接远程服务器 首先打开防火墙端口1433  新建入站规则 然后 如果没启用 就启用  然后重启服务就行 如果还是不行 进去属性  修改三处 然后重启服务

  5. asp.net webapi 给字段赋初始值DefaultValue 解决前端传空字符串后台接受不是“”而是NULL

    /// <summary> /// 存储ID /// </summary> public Guid SaveID { get; set; } /// <summary&g ...

  6. webform中ajax.ajaxMethod使用方法

    前言 dll文件 如果还没有ajax.dll文件,就先下载一个来 引用 将ajax.dll添加到项目引用中:在VS的解决方案资源管理器中右键点击项目名称--"添加项目引用"--浏览 ...

  7. java中将从数据库查询的信息输出到excel文件中

    package com.cn.peitest.excel; import java.io.File; import java.lang.reflect.Field; import java.util. ...

  8. sql中筛选条件为空值

    <select id="getEmployeeBasicInformationList" resultType="org.springblade.entity.Al ...

  9. 冒泡排序算法JAVA实现版

    /***关于冒泡排序,从性能最低版本实现到性能最优版本实现*/public class BubbleSortDemo { public static void sort(int array[]) { ...

  10. Centos7上以RPM包方式安装Oracle 18c XE

    Centos7上以RPM包方式安装Oracle 18c XE 安装阿里云 YUM 源 https://opsx.alibaba.com/mirror?lang=zh-CN 一.安装oracle数据库 ...