![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android逆向
android逆向
esabeny
这个作者很懒,什么都没留下…
展开
-
记录下写ida脚本的一些常用函数的作用
参考 https://github.com/Pr0214/trace_natives/blob/main/traceNatives.py以后自己写代码用from idaapi import PLUGIN_PROC貌似是标记脚本在process中from idaapi import PLUGIN_OK脚本加载完成所有的ida脚本类都继承一个类from idaapi import plugin_t重写run, init方法import ida_naltida_nalt.get_inpu原创 2021-04-09 17:41:05 · 494 阅读 · 0 评论 -
IDA操作的常用操作总结
一直觉得IDA这个软件真的厉害,记录下这个软件的常用的快捷键1.快捷键a:将数据转换为字符串f5:一键反汇编esc:回退键,能够倒回上一部操作的视图(只有在反汇编窗口才是这个作用,如果是在其他窗口按下esc,会关闭该窗口)shift+f12:可以打开string窗口,一键找出所有的字符串,右击setup,还能对窗口的属性进行设置ctrl+w:保存ida数据库ctrl+s:选择某个数据段,直接进行跳转ctrl+鼠标滚轮:能够调节流程视图的大小x:对着某个函数、变量按该快捷键,可原创 2021-01-26 17:14:18 · 1430 阅读 · 1 评论 -
Edxposed的安装记录
1.通过magisk-manager把rmagisk-riru-v21.3.zip安装进去2.通过Magisk安装edxpose模块3.安装edxposedmanager.apk原创 2021-01-26 17:10:43 · 321 阅读 · 0 评论 -
hook的一些思路总结
1.思路总结1.ddms 函数追踪 buildProp Enhancer 安装2.uiautomator,hook 一些UI组件3.hook一些加密库,打印调用栈4.反编译工具字符串搜索原创 2021-01-26 17:10:01 · 246 阅读 · 0 评论 -
ollvm的ida trace操作笔记
1.启动顺序操作记录1.把android_server push到手机里2.chmod 777 android_server3.adbforward tcp:11678 tcp:116784.ida->debugger->attach->arm-androddebugger5.再按f9把程序跑起来6.file->script_file->选择script.py加载ida脚本,成功后会有日志7.然后点击Debugger->breaklist里可以看到我们的断原创 2021-01-26 17:07:30 · 1752 阅读 · 0 评论 -
android脱二代壳和原理分析
0. 何为3代壳内存中函数调用的时候解密加载,不调用的时候,为空函数那么怎么解决呢,主动调用1.工具https://github.com/hanbinglengyue/FART2.源码分析文章https://bbs.pediy.com/thread-263401.htm原创 2021-01-25 16:12:21 · 347 阅读 · 0 评论 -
android Java层和Native层frida hook的一些系统参数的修改
目的解决一些App对于手机端指纹的风控1.Java参考脚本var system_mapping = { "ro.build.id": "KTU84P", "ro.build.display.id": "KTU84P", "ro.build.version.incremental": "1227136", "ro.build.version.sdk": "19", "ro.build.version.codename": "REL", "ro.build原创 2021-01-25 14:09:56 · 1936 阅读 · 0 评论 -
android 一代壳的脱取方式及原理分析
何为1,2代壳1代壳dex文件加载时落地2代壳dex文件加载时不落地解决方式,内存dump即可1.先上两个基于frida 脱壳的工具葫芦娃的dexDumpyang大佬的dump_dex2.这两种有什么区别呢hluwa的是基于加载后的dex文件解析的yang的是app在启动时,找到的hook点去脱壳的3.hluwa dexDump原理分析,执行顺序1.找到内存里有 “64 65 78 0a 30 ?? ?? 00"的文件2.循环遍历,再验证这个dex是不是我们的dex文件3.验证原创 2021-01-25 13:21:35 · 812 阅读 · 0 评论 -
dex文件的一些解释和解析
很久之前研究的,做个记录吧1.文件拖到010editor可以看到这个dex文件的各个区域依次为:dex_header, dex头部文件,主要是各个区域的的位移,dex的校验等等dex_string_ids, dex的字符串区域dex_type_ids, dex的类型区域dex_proto_ids, 这个不知道干嘛用的dex_field_ids, dex类里的field区域的内容dex_method_ids, dex类里的函数dex_class_defs, dex类的一些解析可以看原创 2021-01-25 12:01:29 · 1144 阅读 · 0 评论 -
elf文件的解释和解析
1.首先把android 64位的so拖进010 editor可以看到这里有4个struct,这些struct怎么去看,这里我们重点关注 elf_header, program_header_table, section_header_tableelf_header就是elf文件的头文件,里面涵盖了各种信息说明 这里主要解释几个字段的意思,其实你查010 editor注释里的英文字母也能看懂各个字段的意思 1. 前16个字节是elf标识 2. 2个字节.dynsym表示该节区包含了要动态连接原创 2021-01-06 18:23:40 · 947 阅读 · 0 评论 -
常用的命令总结
查看当前activitydumpsys activity top查看包名的信息dumpsys package查看指定进程的内存信息dumpsys meminfo pid查看指定包名的数据库信息dumpsys dbinfo截图screencap输入内容input text端口转发forward清除某个应用的数据pm clear [pkgname]启动一个应用am start -n [package/包名.活动.activity] 启动一个服务am sta原创 2021-01-06 15:55:37 · 49 阅读 · 0 评论 -
NDK开发 缓存的应用
全局变量,局部变量,弱引用变量的生成与删除jobject NewGlobalRef(jobject obj) 全局jobject NewLocalRef(jobject obj) 局部jobject new WeakGlobalRef(jobject obj) 弱引用这个方法可以判断对象是否被回收只需要把obj2变成NULLjboolean IsSameObeject(jobject obj1, jobject jobj2)native的缓存方式1.static的方式//原创 2021-01-06 15:35:20 · 141 阅读 · 0 评论 -
NDK开发-对数组的操作
先看java层的编写public class JniDemo { int[] arrays = {4, 3, 12, 45, 12, 12, 14, 15, 17, 18}; Father[] objArray = {new Father(), new Father(), new Father()}; // 操作数组 public native void processArray();}Father类import android.util.Log;pu原创 2021-01-06 14:50:37 · 180 阅读 · 1 评论 -
NDK的开发-字符串的操作
1.对字符串的操作1.先看java层的操作public class JniDemo { public String msg = "ABC"; // 操作字符串的第一种方式 public native void callCppFunction(); // 操作字符串的第二种方式 public native void callCppFunction1(); // 操作字符串的第三种方式 public native void callCppFunction原创 2021-01-06 14:38:26 · 118 阅读 · 0 评论 -
xposed一些原理总结
先放着原创 2021-01-04 20:07:32 · 334 阅读 · 0 评论