1234PatchByte()//一般都未类型名 可以为Byte(1字节) Word(2字节) Dword(4字节) Qword(8字节)Byte()//一般都未类型名 可以为Byte(1字节) Word(2字节) Dword(4字节) Qword(8字节)Message//用于打印到终端
个人感觉7.0版本的语法比较方便
具体修改方式
ida目录/cfg/idapython.cfg
将这一项AUTOIMPORT_COMPAT_IDA695 = NO 修改为AUTOIMPORT_COMPAT_IDA695 = YES
1r"(?<=前面的项目).*?(?=后面的项目)" #匹配中间项
subprocess
1234567891011121314151617subprocess.run(command, shell=True, check=True, capture_output=True, text=True)'''command 命令shell 是否通过系统shell执行check 是否检查异常退出 如果为true则会在遇到异常退出的时候抛...
main函数
12345678910111213141516171819202122232425__int64 __fastcall main(int a1, char **a2, char **a3){ char s[264]; // [rsp+10h] [rbp-110h] BYREF unsigned __int64 v5; // [rsp+118h] [rbp-8h] ...
报错如下
123456789101112131415zsteg bincat_hacked\ \(1\).png/var/lib/gems/3.1.0/gems/zpng-0.4.5/lib/zpng/scan_line.rb:318:in `upto': stack level too deep (SystemStackError) from /var/lib/ge...
查看xml
1234567891011121314<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="...
需要下载abe.jar工具https://github.com/nelenkov/android-backup-extractor
具体命令
abe.jar unpack “ab文件地址” “输出文件地址”
调试主要是为了看出函数的作用,所以可以有两种方法
一、使用debugger调试(需要系统与apk包两者同时支持)frida调试可以拿到基址,因为有些加载lib会直接将其当作base.apk一块加载
可以尝试let base=Module.getBaseAddress("libxxx.so")拿到对应基址
二、hook调用hook相当于可以动态调用jvm内的所有属性,包括变...
只需要根据要搜索的选项改变搜索类型即可,也可直接通过全局搜索16进制数