Android逆向 NDK开发总结

NDK开发总结 Jni接口: java native interface 作用:用于java/c/c++ 代码之间的交互 使用方法: jni静态注册 在java代码中定义native修饰的方法; 根据java中native修饰的方法生成头文件(SRC路径执行javah -jni); 编写c/c++代码,导入头文件,同时实现头文件中的方法; 编写两……

Continue reading

Android逆向 Android Studio JNI 快速构建项目+动态注册+简易计算器

本文转发语NCK大佬的博客,并且自己跟着做了一遍 有一点点不同 大致上是大佬的文章: https://www.cnblogs.com/fuhua/p/12725771.html 前面几篇文章演示的是比较原始的创建JNI项目的方法,旨在了解JNI项目构建原理! 但是构建项目效率很低,开发,调试都存在很大的效率低下问题。 本篇文章将演示利用Android Studio快速构建JNI项……

Continue reading

Android逆向 JNI静态注册(c++和java交互)

Android逆向 JNI静态注册(c++和java交互) 使用Android Studio新建JNi项目 请看NCK大佬的文章: https://www.cnblogs.com/fuhua/p/12695436.html 先加个textview方便输出调试信息 <?xml version="1.0" encoding="utf-8"?> <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/TextViewDebug" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="TextView" /> </androidx.coordinatorlayout.widget.CoordinatorLayout> 1. JNI普通字段,静态字段互操作. 目标: 获取普通字段的值,设置普通字段的值,获取静……

Continue reading

Android Studio安装记录

Android Studio安装记录 发现各个大佬都在用AS 我也装一个用一下 1. 下载 下载地址: https://developer.android.com/studio 2. 直接一路Next 等进度条走完就装好了 3. 配置 这里要导入配置 毛线的配置 直接点ok 开始配置 这里选默认,因为简单 自定义又不会 我喜欢暗黑色 选择finish 等安装完毕 这里要等一会 看网络情况 4. 测试项目 新建一个项目 选……

Continue reading

Android逆向 JNI静态注册

Android逆向 JNI静态注册 1. 新建空白Android项目 打开 ADT 新建Android空白项目 全部默认下一步 2. 新增jni代码 使用jni写的需要用native修饰 3. 生成头文件 首先在ADT中新建 jni文件夹 右击src文件夹 选择 Properties 查看文件夹路径 这里为 C:\Users\asura\source\repos\Android_JNI\02_JNI_register\Jnidemo\src 打开命令行 到达指定的目录执行java……

Continue reading

Android逆向 使用NDK编译c语言可执行程序

使用ndk构建c语言可执行程序 1. 新建代码文件 hello.c #include <stdio.h> int main() { printf("hello android JNI!"); return 0; } 2. 新建android编译make文件 Android.mk LOCAL_PATH := $(call my-dir) # 获取jni文件路径 include $(CLEAR_VARS) # 因为是全局变量 所以要清理设置 LOCAL_CFLAGS += -std=c99 #使用c语言c99规范 LOCAL_CFLAGS += -pie -fPIE #相当于在源文件中增加宏定义,安卓5.0以上需要添加,否则编译出来无法使用 LOCAL_LDFLAGS……

Continue reading

通过SNI Proxy加速国内服务器的WordPress更新

相信很多在国内服务器搭建WordPress的同学都有过这样的烦恼:更新不成功,后台某些页面打卡非常慢,插件主题没法在线安装等等等等这些问题,而且如果你的服务器又因为某些因素不方便直接搭建$$r之类的软件来给它加速,每次手动下载安装包再上传安装会是一件非常头疼的事。 注意,此方法并不……

Continue reading

解决windows 无法访问指定设备、路径或文件。你可能没有适当的权限访问该项目。

文件权限出现了问题 下面是一些可用的命令行帮助恢复 # 取得目录和内容的所有权 可以将其范围缩小到要更改的特定项,具体取决于有多少项。 takeown /f C:\Windows\Web /r # 授予自己完全的控制权 注意 %USERDOMAIN%\%USERNAME% 将自动替换为您的用户-所以这里无需在此替换任何内容 icacls C:\Windows\Web /grant "%USERDOMAIN%\%USERNAME%":(F) /t # 恢复windows10默认的所有者 icacls c:\Windows\Web /setowner "NT SERVICE\TrustedInstaller" /t # 删除授予……

Continue reading

解决WSL与windows的PATH环境变量冲突问题

如果在windows和wsl中都安装了python, 那么由于wsl的互交互特性, pienv的运行就会不太正常

以下是禁用互交互的步骤

WSL的终端中输入:

echo "[interop]\nenabled=false\nappendWindowsPath=false" | sudo tee /etc/wsl.conf

Powershell(以管理员身份运行)中输入: (以重启wsl)

net stop LxssManager
net start LxssManager

如果已知distro名, 可用wsl --terminate <distro名>终止特定的wsl distro

……

Continue reading

Android逆向-2 dalvik 指令集1

dalvik 指令集 1 dalvik 指令格式 基础字节码-名称后缀/字节码后缀 目的寄存器 源寄存器 说明: 名称后缀: wide 表示数据宽度位 64位 字节码后缀 : from16 表示的就是源寄存器为16位 例子: move-wide/from16 vAA, vBBBB move 为基础字节码,即 opcode wide 为名称后缀 , 标识指令操作的数据宽度为64位 from16 字节码后缀 , 标识源为一个16位的寄存器引用变量 vAA 目的寄……

Continue reading