CCTV果冻爽
码龄15年
关注
提问 私信
  • 博客:40,260
    社区:1
    40,261
    总访问量
  • 40
    原创
  • 50,782
    排名
  • 268
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2010-04-19
博客简介:

a545958498的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    2
    当前总分
    134
    当月
    3
个人成就
  • 获得281次点赞
  • 内容获得18次评论
  • 获得281次收藏
  • 代码片获得302次分享
创作历程
  • 27篇
    2024年
  • 13篇
    2017年
成就勋章
TA的专栏
  • 移动客户端安全
    6篇
  • Android源码相关
    7篇
  • LuaJit分析系列
    11篇
  • 逆向练习
    8篇
  • 算法题详解
    3篇
  • c++知识
    1篇
  • 安全相关
    3篇
兴趣领域 设置
  • 网络空间安全
    系统安全web安全安全架构
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

352人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Lsposed Java HOOK原理及检测

从当前指令 + 0xC处,取地址保存到 X0,根据前面的分析,这是HOOk方法的 ArtMethod结构体指针,接着取出 ArtMethod + 0x20处的值,这个值正是HOOk方法的ArtMethod对应的 entrypoint。这个函数先使用 BuildDex 接口动态生成HOOK类和方法,然后创建ClassLoader加载这个DEX,详情可以分析 BuildDex 内部,会创建 LSPHooker_ 类名和hook的方法名。上述根据不同平台生成了不同的跳板指令。
原创
发布博客 2024.09.22 ·
875 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

允许特权APP写data_system目录

修改后发现priv_app仍然被selinux限制。
原创
发布博客 2024.09.17 ·
241 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Android DPC模式多开 APP

4、修改 UserManagerService canAddMoreProfilesToUser getMaxUsersOfTypePerParent。修改 markUserProvisioningStateInitiallyDone。3、修改 mUserManager.getMaxSupportedUsers。1、修改创建多个profile时超出限制。7、 删除不需要的APP。
原创
发布博客 2024.09.17 ·
1125 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

Android源码集成 Google Play

将app 和 product 文件夹下的所有apk文件拷贝到 /gms/app目录下,将 priv-app文件夹下的apk拷贝到 /gms/priv-app目录下,在 gms目录下 新建 Android.bp文件,配置预装的app。将 etc lib64 和 framework 拷贝到源码 /gms/copyToSystem 目录下,并在 /build/target/product/base_product.mk 中添加如下拷贝命令。
原创
发布博客 2024.09.16 ·
679 阅读 ·
4 点赞 ·
0 评论 ·
10 收藏

Android 源码集成可卸载 APP

在 /build/target/product/base_product.mk中添加如下命令, 会将 /apps/apps目录下的所有文件拷贝到 /system/usr/app ,将 shell脚本拷贝到 /system/bin目录。2、系统APP放在 /system/app目录。系统编译后,打包前, /data分区不起作用,因此系统打包前,可以先将APP全部拷贝到 /system分区的 /system/usr/app目录下。1、拷贝APP暂存到 /system/usr/app 目录。
原创
发布博客 2024.09.16 ·
1028 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

ADB ROOT开启流程

ADBRootService类位于 frameworks/base/core/java/android/adb/ADBRootService.java。当 service.adb.root 属性为 1 且 ro.debuggable = 1 时,会继续保持root权限运行。adb_root服务的入口函数位于 system/core/adb/root/main.cpp。执行 adb root命令时, 调用 restart_root_service。上述字段通过 getString 获取。
原创
发布博客 2024.09.16 ·
1071 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

USB开启ADB设置流程

那么 sys.usb.state 属性的值是在哪设置的呢?setting应用中有监听adb状态广播:packages/apps/Settings/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java。UsbDeviceManager类路径位于 frameworks/base/services/usb/java/com/android/server/usb/UsbDeviceManager.java。
原创
发布博客 2024.09.16 ·
2100 阅读 ·
15 点赞 ·
0 评论 ·
10 收藏

编译 Android 11源码

ture 改为 WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY?1)WITH_DEXPREOPT := ture 改为 WITH_DEXPREOPT := false。2、build/make/core目录下dex_preopt_config.mk文件。2、用生成的framework.jar替换系统的framework.jar。3、重启zygote。
原创
发布博客 2024.09.16 ·
841 阅读 ·
10 点赞 ·
0 评论 ·
5 收藏

LLVM IR指令VM混淆分析

看注解,这个虚拟指令 vstore 的逻辑是从当前栈顶取两个元素,这两个元素都是指向虚拟内存的地址,实际上是虚拟内存的下标,第一个元素指向虚拟内存中的一个 int32值,第二个元素指向虚拟内存中的一个 int32*地址值,然后把第一个元素取出的 int32值,保存到第二个元素取出的int32*地址处,然后把栈顶下标移动2 个。来模拟全部 IR指令的过程。看注解,vadd指令有一个操作数,操作逻辑是将前两个 vpush指令压入栈中的地址,取出来并从虚拟内存中取出值,相加后保存在指令操作数指向的地址中。
原创
发布博客 2024.09.06 ·
739 阅读 ·
20 点赞 ·
0 评论 ·
18 收藏

数盟IOS端可信ID

基本结论: 所谓的可信设备ID,并不是还原原生的IDFA,同样只是上报一些数据,后台归因然后返回后台保存的IDFA.后台归因时,不是简单的根据某个ID一样判断出是一个设备。也就是说对于越狱设备,直接读取到的就是与APP无关的全局设备ID,当系统不存在这些文件以及设备未越狱时,由SDK生成并保存,未越狱设备测试发现每次清空数据后启动did值改变。2、SDK内部的did出现碰撞等。2、改变包名,不是同一个开发者,IDFA1此时为空,simulateIDFA相同,其余ID不同,但是返回了不同的qid和cdd。
原创
发布博客 2024.08.30 ·
1611 阅读 ·
10 点赞 ·
0 评论 ·
19 收藏

数美Android SDK

文件路径、stat文件节点信息,__system_property_get系统属性、硬件信息、路由和网络信息等。stat lstat __system_property_get open 等。
原创
发布博客 2024.08.29 ·
1706 阅读 ·
21 点赞 ·
0 评论 ·
26 收藏

图灵盾IOS SDK

var/mobile/Containers/Data/Application/47E75209-64AF-4F43-AE14-204D57BDF53C/Documents(APP文档目录)Stat信息中的时间信息只有越狱状态下才能获取,即越狱设备可以根据stat时间信息计算设备ID。/usr/lib/CepheiUI.framework/CepheiUI(非法模块)3、同一个设备 HOOK stat函数,篡改函数的返回值,设备ID不同。1、同一个设备清空keychain和app缓存前后,设备ID相同。
原创
发布博客 2024.08.29 ·
1294 阅读 ·
15 点赞 ·
0 评论 ·
21 收藏

客户端安全全景图

简单描述了下,等有时间了再把每个点的原理和细节详细整理。这里不包括 PC客户端。
原创
发布博客 2024.08.29 ·
176 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

unidbg直接调用tiktok so生成签名

Tiktok版本: 33.2.5 (24年1月25日) 通过对Tiktok抓包发现TikTok的所有http请求的头部增加了参数签名(x-argus、x-goron、x-khronos、x-ladon):直接将apk文件用jadx工具反编译,搜索关键字x-argus等,未搜索到任何关键字:使用frida hook java层 Header对象的构造方法,发现有监控到https请求头设置,但是始终没有发现签名字段接着尝试hook interceptor拦截器,打印出请求头部,结果输出的请求头部中还
原创
发布博客 2024.08.29 ·
2292 阅读 ·
35 点赞 ·
14 评论 ·
25 收藏

LuaJit分析(十一)去除string.dump函数

因此即使我们的指令顺序被打乱,通过loadfile系统调用,再通过string.dump调用,可以得到字节码文件,再通过与标准的luajit生成的字节码文件比对,即可找出差异所在。Lua脚本中的string.dump函数用于生成字节码文件,根据对 luajit -b命令的分析可以得出,最终dump出字节码文件都是使用的string.dump函数。同时lj_libdef.h和lj_ffdef.h这两个文件都是自动生成的,在msvcbuild.bat中,使用如下命令生成。
原创
发布博客 2024.08.29 ·
623 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

LuaJit分析(十)luajit自定义修改

通过分析luajit字节码文件格式可知,luajit文件由文件头和原型数组组成,而原型又包括原型头和原型体,文件头中包含了字节码文件的一些关键信息,目前的反编译工具根据标准的luajit2.0文件格式解析文件,如果对字节码文件的信息自定义,将直接导致反编译过程中出现异常。字节码指令中,第一个字节存放的是opcode,实质是该字节码的opcode在BCOp中的下标,因此修改上述BCDEF宏定义的顺序后,对应字节码opcode的顺序也跟着改变,即生成的字节码文件与标准的字节码文件中指令的opcode会改变。
原创
发布博客 2024.08.29 ·
944 阅读 ·
12 点赞 ·
0 评论 ·
16 收藏

LuaJit分析(八)LuaJit预编译库函数加载过程

可以看到,该函数通过调用lj_bcread_proto读取luajit字节码的原型数据,接着使用原型创建一个新函数,然后保存该函数变量。
原创
发布博客 2024.08.29 ·
507 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

LuaJit分析(九)LuaJit中的JIT原理分析

Luajit存在97个字节码指令,例如 FORL指令对应一个数字类型的for循环语句,同时还有IFORL指令(强制解释模式执行)和JFORL指令(Jit模式执行),同时解释器实现了对各个字节码指令的翻译,这里以X86的翻译器为例。它将当前指令的地址右移一位,并与HOTCOUNT_PCMASK与操作,得到一个索引(哈希运算),根据这个索引在数值中找到计数值,减去HOTCOUNT_LOOP,当这个计数值小于0时,跳转到vm_hotloop继续执行。多种情况都会出现结束记录的情况,如遇到了已经编译的指令。
原创
发布博客 2024.08.29 ·
1604 阅读 ·
6 点赞 ·
0 评论 ·
9 收藏

LuaJit分析(五)LuaJit filename分析

参数argx包含了执行的lua脚本文件名,luaL_loadfile加载了一个lua脚本,通过之前的分析可知,luaL_loadfile会加载一个字节码文件或者转换一个源码文件,最终都会得到转换好的原型结构。在还原指针和参数栈后,ins_call开始执行解释器的call指令。
原创
发布博客 2024.08.29 ·
569 阅读 ·
10 点赞 ·
0 评论 ·
2 收藏

LuaJit分析(七)LuaJit -b 命令分析

由之前对luajit -b 命令的分析可知,readfile函数最终返回原型数据,如果是字节码文件,返回读取后的原型数据,否则进行源码分析再返回原型数据。luajit -b生成字节码,实际上是调用 bcsave.lua脚本中的bcsave函数,该函数通过readfile函数(最终调用loadfile库函数)来完成lua脚本和字节码统一返回原型数据,并通过string.dump库函数生成完整的字节码文件。从这里就可以明显的看出,它通过分别生成头部、原型等数据来完成字节码的生成。
原创
发布博客 2024.08.29 ·
631 阅读 ·
9 点赞 ·
0 评论 ·
5 收藏
加载更多