- 博客(581)
- 资源 (52)
- 问答 (1)
- 收藏
- 关注
原创 iOS Secure Enclave
Secure Enclave 是一个绝对的安全环境,所以存放的当然也是最高机密的数据。那什么数据属于最高机密的数据呢?一般是用户的生物特征信息,比如指纹信息 TouchID、面部信息 FaceID 等。
2021-12-22 17:19:16
6323
原创 常用的加密算法
一、对称加密算法对称加密算法就是传统的用一个密码进行加密和解密。常用的对称加密算法算法密钥长度工作模式填充模式DES56/64ECB/CBC/PCBC/CTR/…NoPadding/PKCS5Padding/…AES128/192/256ECB/CBC/PCBC/CTR/…NoPadding/PKCS5Padding/PKCS7Padding/…IDEA128ECBPKCS5Padding/PKCS7Padding/…密钥长度直接决定加密强度
2021-12-01 11:02:33
7895
原创 国密算法介绍
一、前言加密是通过“加密算法”将明文加密成密文,可以通过“密钥”和“解密算法”将密文还原成明文。密码学中应用最为广泛的三类算法:对称算法(分组密码算法):AES/DES/SM4非对称算法(公钥密码算法):RSA/SM2摘要算法(杂凑算法):MD5/SHA-I/SM3二、国密算法的意义随着金融安全上升到国家安全高度,近年来国家有关机关和监管机构站在国家安全和长远战略的高度提出了推动国密算法应用实施、加强行业安全可控的要求。摆脱对国外技术和产品的过度依赖,建设行业网络安全环境,增强我国行业信息
2021-12-01 11:01:34
15365
原创 鸿蒙网络请求(下):工具类封装和使用
通过上一篇鸿蒙网络请求的教程,了解了网络请求的基本用法,这一篇文章主要是对上一篇鸿蒙网络请求代码的进一步封装,把网络请求封装成一个工具类。1. 网络请求工具类 RequestUtilpackage com.example.hmrequest.util;import ohos.hiviewdfx.HiLog;import ohos.hiviewdfx.HiLogLabel;import ohos.utils.zson.ZSONObject;import java.io.*;import ja
2021-08-05 15:50:29
2408
原创 鸿蒙网络请求(上):网络请求的使用
最近在学习鸿蒙开发,在鸿蒙网络请求这块遇到了困难。鸿蒙官网虽然提供了网络请求的API和代码事例,但是描述的过于简单,基本上就是贴代码,所以对于一个初学者来说,仍然看的是一头雾水。Github上也有很多第三方封装的鸿蒙网络请求框架,但是既然是学习就要从最基础的开始,而且那些网络请求框架大致看了下,感觉比较复杂,不太好下手。小编也是花了大概一周的时间,自己慢慢摸索,才入门了鸿蒙的网络请求。下面将小编的一些学习成果分享给大家,帮助大家少走弯路。一、需要添加网络请求权限在进行鸿蒙网络请求开发时,先要进行网络请求
2021-08-03 17:37:50
6346
1
原创 视频剪辑 图文教程
一米剪辑图文教程一、提取视频功能说明:提取视频是根据抖音视频链接地址提取无水印视频,能无痕提取抖音视频,并保存到自己的相册。图文教程:1、打开抖音app,找到自己想要下载的视频。点击分享按钮,找到 “复制链接” 按钮,然后点击按钮复制抖音链接。2、 点击 “提取视频” ,然后在文本框中输入刚刚在抖音复制的抖音链接,再点击 “提取视频” 按钮。3、等待视频解析完之后,直接点击 “导出到相册”,无水印视频就下载到相册了。...
2021-07-19 11:29:03
14560
原创 Android JNI开发一: JNI基础知识
JNI基础知识Android系统底层的框架大多采用的是C或者C++语言实现的,但是Android上层的框架是采用Java实现的,所以我们平常进行Android也是采用Java语言开发。虽然Android底层采用C或者C++实现,但是我们在进行Android开发的时候,却不能直接调用C或者C++,而是需要采用JNI来调用C或者C++,下面小编就为大家介绍什么是JNI?以及怎么使用JNI来实现调用C或者C++语言。一、JNI 介绍1.1 简介JNI 即 Java Native Interface,通俗的
2021-07-16 10:32:22
2313
原创 Android JNI开发四: 鸿蒙JNI开发
一、JNI1.1 创建工程用 DevEco Studio 创建一个新的工程,我的 DevEco Studio 版本为2.1。创建工程第一步的时候,需要选择模版,请选择 Native C++ 这个模版。这个模版为我们提供了JNI开发的环境,我们在这个模版里可以更容易的使用JNI 去调用C语言代码。(1) 创建工程第一步:选择 Native C++ 模版,如下图所示:(2) 创建工程第二步:填写项目名称、项目存放目录,如下图所示:建议填写project name和小编的一样,因为后面的一些配置和包
2021-07-14 11:48:22
2302
原创 Android JNI开发三: SO库的使用
本篇主要介绍如何在普通的安卓工程中使用编译好的SO库文件。首先,新建一个普通的安卓项目工程,我的工程名叫SOTest。项目工程建好后,就将SO库引入到工程中。2.1 将SO库引入工程中在不同的CPU架构下,会被编译成不同的SO库,所以我们需要将整个的lib文件拷贝至我们的项目工程中。SO库需要拷贝到app目录下,路径一定要正确,否则有可能出现因为路径不对而加载不到SO库。2.2 配置SO库的路径在build.gradle文件中添加so库的路径配置和依赖配置,如下图所示:配置代码:
2021-07-09 16:58:24
6211
5
原创 Android JNI开发二: 如何生成SO库
1.tail假定日志文件为catalina.logtail -f catalina.log 该命令用来的查看动态的日志信息tail -fn 200 catalina.log 查看最后200行日志,且动态显示tail -f catalina.log | grep '过滤字符串' 显示存在需要过滤的字符串的行的动态的日志信息2.grepgrep '过滤字符串' catalina.log 从日志文件中过滤出字符串grep -r '过滤字符串' ./...
2021-07-09 16:50:45
3714
2
原创 5.macOS 安装 Theos 完整教程
THEOS/binnic.plmake:本节是「一条龙」实操,跟着做一遍即可;和第四节(Xcode 15 兼容)搭配看更完整。:zsh 和 bash 配置文件不一样吗?——zsh 用或~/.zshrc,bash 用,改对文件再source一次。
2026-02-05 09:20:47
1150
原创 4.Theos安装
本节以 Xcode 15 为主环境写,其他 Xcode 版本思路类似,主要差在 SDK 版本号。:Xcode 15 还能用 Theos 吗?——能。Theos 是命令行工具链,对 Xcode 版本依赖小,调好 SDK 和 ldid 即可。
2026-02-05 09:20:12
1054
原创 3.Theos 与 MonkeyDev
Logos、CaptainHook 的语法细节后面实战会反复用,这里先建立「谁用哪种语法」的印象即可。:两个都要学吗?——建议都接触;入门可先用 MonkeyDev 上手快,写越狱插件发布时常用 Theos 打包。
2026-02-05 09:19:35
918
原创 2.开发工具
工具很多,本节以「分类 + 一句话说明」为主,具体安装和用法在基础环境、Theos、MonkeyDev 等节里会提到。:一定要买 IDA 吗?——不必。入门用 Hopper、Ghidra、class-dump + Frida 就够;等真做深了再考虑 IDA。
2026-02-05 09:19:01
718
原创 1.基础环境准备
术语(如)第一次出现时会用括号简单解释;各工具的详细安装在后续章节展开。:一定要越狱机吗?——做越狱插件、系统级修改必须越狱;只做非越狱注入可以用 MonkeyDev 重签名,但调试和分析仍建议有一台越狱设备。
2026-02-05 09:18:30
1062
原创 44. 逆向挖掘_0Day_漏洞
深入利用需要后续学习,本节只做到「能识别、能简单验证」。,会把静态分析、抓包、动态 Hook 串起来,完成从拿 APK 到提取 Flag 的完整流程。挖 0Day 时,往往先拿到目标应用或 so,用逆向工具理清逻辑、找危险 API(如。,多出来的数据写到了栈上别的位置(如返回地址),导致程序跳转到攻击者控制的地方。用来发现那些「手工逆向不容易想到」的边界情况,常用来挖 0Day。攻击者一旦掌握,可以在官方修复前利用它执行代码、提权或窃取数据。注意:仅在本地、授权环境中做,不要对他人程序未授权测试。
2026-02-03 17:29:47
903
原创 43. 逆向挖掘_0Day_漏洞
深入利用需要后续学习,本节只做到「能识别、能简单验证」。,会把静态分析、抓包、动态 Hook 串起来,完成从拿 APK 到提取 Flag 的完整流程。挖 0Day 时,往往先拿到目标应用或 so,用逆向工具理清逻辑、找危险 API(如。,多出来的数据写到了栈上别的位置(如返回地址),导致程序跳转到攻击者控制的地方。用来发现那些「手工逆向不容易想到」的边界情况,常用来挖 0Day。攻击者一旦掌握,可以在官方修复前利用它执行代码、提权或窃取数据。注意:仅在本地、授权环境中做,不要对他人程序未授权测试。
2026-02-03 17:29:13
1151
原创 42. 深入分析_CTF_逆向挑战
CTF 里经常给一个不带源码的 ELF,要你分析出逻辑并拿到 Flag。CTF 里常有「给一个 APK,找 Flag 或绕过校验」的题。很多 CTF 题会把 Flag 用简单算法「加密」一下,例如 XOR、Base64、替换等。,你会接触缓冲区溢出、格式化字符串、Fuzz 等概念,并学习如何在授权环境下分析漏洞、构造 Exploit。CrackMe 就是「破解我」:程序要你输入密码或序列号,对了才给 Flag。说白了,CTF 逆向就是:给你一个程序或 APK,让你通过逆向分析找出隐藏的。
2026-02-03 17:28:40
623
原创 41. 解密加固_APK_初级
内部接口,在 DEX 加载后按 DEX 文件格式从内存写出;或使用开源 Dump 脚本(如 FRIDA-DEXDump)。等,让检测「通过」,再在稳定附加的前提下跑脱壳脚本或 gdb Dump。学完后你已掌握加固与脱壳的入门思路。,继续学习 Native 逆向、协议还原、CTF 逆向等专题。注意:仅限授权环境;不得对他人应用未授权脱壳或传播脱壳包。(入门阶段了解即可,以会用现成脱壳脚本为主。不得对他人应用做未授权脱壳或传播脱壳包。等字符串或符号,找到解密和加载的代码,可。在同一会话或后续会话里跑脱壳脚本。
2026-02-03 17:28:06
441
原创 40. Android_加固原理
会结合具体步骤:检测是否加密、用 Frida 监听 DEX 加载、用 DumpDex 或 gdb 提取 DEX、以及绕过 Anti-Dump 的入门做法(仅限授权环境)。等(见第十九节),再在同一个 Frida 会话里跑脱壳脚本(或先反反调试,再另起一次 Frida 跑 Dump)。加固会把 DEX 加密或藏起来,直接反编译看不到真实代码,要脱壳才能拿到。注意:仅限授权环境;不得对他人应用未授权脱壳或传播脱壳包。不得对他人应用做未授权脱壳或传播脱壳包。,从内存里把 DEX 抠出来(:脱壳、绕过加固仅限。
2026-02-03 17:27:30
745
原创 39. 反反调试
会介绍加固是啥、和混淆的区别、常见加固方案(360、乐固等)、以及如何检测加固、脱壳(Dump DEX)的大致思路(仅限授权环境)。在授权环境下做安全研究时需要绕过才能继续分析。不得对他人应用做未授权反反调试或传播脚本。等,让扫描「看不到」frida(具体以实际检测逻辑为准)。改成 NOP,或把比较结果改掉),或保持 so 不变、用。,在 onLeave 里把返回的 buffer 里的。不得对他人应用做未授权调试或传播脚本。(需根据实际内存布局写,此处仅作思路)。:涉及绕过反调试、反 Frida,仅限。
2026-02-03 17:27:00
783
原创 37. 破解应用限制_实战
会介绍游戏常见架构(Unity、Unreal、Cocos)、内存修改工具(GameGuardian 等)、以及 Frida Hook 游戏逻辑、绕过反作弊的入门思路(仅限授权环境)。若在 Java/Smali 层,可改 Smali 让方法恒返回「不限制」(如 isForceUpdate 恒返回 false)。仅限授权,且可能涉及签名校验。:本节涉及绕过应用限制(强制更新、区域、功能锁定),所有操作仅限。注意:仅限授权、合规;注意:仅限授权环境。不得对他人应用做未授权破解或传播。注意:仅限授权环境。
2026-02-02 09:00:43
799
原创 36. 分析_WebSocket_API_请求
会把强制更新、区域限制、功能锁定等串起来,用静态分析、改 Smali、Frida/Xposed Hook、API 伪造等做完整流程(仅限授权环境)。WebSocket 是长连接,可双向实时发消息。(实际要看应用用的是 Request 的哪个方法,body()、url() 等;Hook 这些可看到 URL、Body、WebSocket 消息。注意:仅限授权、合规;注意:仅限授权环境;:涉及抓包、Hook 网络、伪造请求,仅限。收发消息,适合聊天、推送、实时数据。注意:仅限授权环境。
2026-02-02 09:00:07
979
原创 35. 逆向加密算法_MD5_AES_RSA
不能,MD5 是哈希,不可逆;AES/RSA 可逆,可 Hook 拿密钥再自己加解密。等,看是哪个类、哪个方法在做加解密,密钥从哪来(硬编码、配置文件、API)。、抓包看请求体是否密文;,拿密钥和明文,即可用脚本复现请求(仅限授权环境)。,用于密码校验、本地存储加密、API 参数加密等。方法),再用 Frida Hook 加密方法或。可拿 key(或 key 的编码),Hook。:涉及 Hook 加解密、拿密钥与明文,仅限。等复现加解密或签名验证(仅限授权环境)。可拿输入(明文或密文)和输出。
2026-02-02 08:59:28
1591
原创 34. Android_代码混淆与解混淆
会介绍这些算法在应用里的用途、如何用 jadx 找加解密逻辑、以及如何用 Frida Hook 拿密钥和明文(仅限授权环境)。:混淆和加壳有啥区别?加壳是「把 DEX/so 加密或隐藏,运行时再解密」,两者可同时存在。若反编译正常但满屏 a、b、c,多半是混淆。——看字符串、看调用关系、看参数类型,手动给类/方法起「推测名」;:DEX 或 so 被加密或抽走,直接反编译可能失败或只有壳代码;,且方法名也是 a、b、c,说明已混淆。,记录「原名 → 混淆名」的映射,用。,若大量这种短名,基本可认为被混淆。
2026-02-02 08:58:51
1884
原创 33. 绕过_SSL_Pinning
不信任系统/用户安装的 CA(如 Burp、Charles 的证书),这样即使用户装了抓包 CA,应用也会报「证书错误」、拒绝建立 HTTPS。下做安全研究、协议分析、API 分析时,需要看到 HTTPS 明文,就要让应用「接受」抓包工具的证书,即绕过 SSL Pinning。找到类名和方法后,写 Frida/Xposed 脚本 Hook 对应方法,让校验直接 return、不抛异常。不得对他人应用做未授权抓包或传播脚本。,不信任系统 CA,需要 Hook 掉校验逻辑。注意:仅限授权、合规;
2026-02-02 08:58:10
1027
原创 31. Xposed_入门
Frida 不用刷机、不依赖 Xposed 生态,且能 Hook Native;,会把静态分析(找 isVIP)、改 Smali、Frida/Xposed Hook、以及服务器/JNI 校验的绕过串起来做完整流程。(入口类、assets/xposed_init 等配置以所用框架文档为准。注意:仅限授权环境;不得对他人应用做未授权 Hook 或传播模块。的实现,从而不改 APK 也能改应用行为。不得对他人应用做未授权 Hook 或传播模块。:在系统启动时加载你的「模块」,在应用加载类时。
2026-02-02 08:57:06
923
原创 30. 逆向_JNI_和_Native_方法
会介绍 Xposed 框架是啥、和 Frida 的区别、以及如何写 Xposed 模块做 Hook(持久化、无需每次连 Frida)。常见原因:性能、复用 C 库、增加逆向难度(so 要单独分析)。下标要对应 JNI 约定(env, thiz, 之后才是 Java 参数);这样的函数,系统会把这些函数和 Java 的 native 方法对应起来。里改参数(如把传入的 key 改成。不得对他人应用做未授权逆向或传播。做交叉引用,能找到比较逻辑(如。:涉及 Hook、绕过校验,仅限。注意:仅限授权、合规。
2026-02-02 08:56:31
1284
原创 29. Frida_Hook_实战
return;});若用 OkHttp3,可 Hook等(详见后续「绕过 SSL Pinning」一节)。注意:仅限授权环境,不得对他人应用未授权抓包。
2026-02-02 08:56:01
805
原创 28. 使用_Frida_Hook_Java_方法
Hook 不改 APK,运行时生效,关掉 Frida 就恢复;改 Smali 是改安装包,持久生效。,会结合支付校验、SSL Pinning、JNI、反调试等场景,做多类 Hook 的综合练习。指定的 Java 或 Native 方法调用,在「调用前/调用后」执行你的代码,从而。不改 APK 也能临时改行为,适合分析逻辑、绕过校验、看加解密数据等。不得对他人应用做未授权检测绕过或传播。不得对他人应用做未授权 Hook 或传播脚本。:涉及 Hook、绕过校验与检测,仅限。:在应用进程里注入你的脚本,
2026-02-02 08:55:29
1134
原创 27. 动态调试入门
—用 Frida Hook 掉,让 ptrace 不生效、让 isDebuggerConnected 恒返回 false。(反编译后只看代码)相比,动态能拿到真实参数、真实执行路径,还能在不改 APK 的前提下临时改行为。静态是「看代码」,动态是「跑起来看、改着看」;(挂钩)Java 或 Native 方法,在调用前后执行你的代码,例如让。、打印参数和返回值等,并练习多种 Hook 场景。:设断点、看变量、改返回值、看日志等。——先静态理清逻辑,再动态验证、改行为。)→ 继续执行、看参数和返回值。
2026-02-01 10:10:44
741
原创 26. APK_重新打包_签名
反编译得到的是一个目录(含 smali、res、AndroidManifest.xml 等),改完后用。等拿签名,可 Hook 相关方法,让返回「预期」的签名信息(具体要看应用怎么校验)。常见原因:未对齐、签名算法不兼容、或应用有签名校验;等,找到比对签名的地方,改 Smali 让分支恒走「通过」,或让校验方法恒返回 true。改包后签名变了,应用发现「不是原签名」就可能闪退或提示被篡改。:比对当前安装包的签名和「预期签名」,不一致就退出或限制功能。或资源后,APK 的字节码和文件都变了,必须。
2026-02-01 10:10:05
758
原创 25. Smali_代码修改实验
Frida 是运行时改,不装新包,适合调试和快速验证。,会细说 apktool 打包、签名方式(jarsigner / apksigner)、以及安装时签名校验失败怎么排查。,让应用按你的意图运行:例如让校验方法恒返回 true、让广告方法直接 return、改显示文字等。的 Smali(Z 表示 boolean),把「返回 false」改成「返回 true」。:本节涉及修改应用逻辑(登录、VIP、广告),所有操作仅限。,把「返回校验结果」改成「直接返回 true」。(或对应语言目录),不改 Smali。
2026-02-01 10:09:30
657
原创 24. Smali_语言入门
(第2章 安卓逆向基础)学完本节,希望你能够:阅读提示:Smali 指令较多,入门阶段只要会认「类、方法、寄存器、invoke、return」即可;详细指令可查 Smali 文档。常见疑问:为啥要学 Smali?因为有时要改字节码(如绕过校验),jadx 只能看不能改,改 Smali 再打包才能生效。Smali 说白了就是 DEX 字节码的人类可读形式,类似「汇编」:每个 Java 方法对应一段 Smali,用寄存器、指令表示逻辑。apktool 反编译 APK 时会生成 .smali 文件,一个类一个文件
2026-02-01 10:08:55
1017
原创 23. DEX_文件结构解析
因为有时 jadx 反编译不全、或要改字节码,直接看 DEX/Smali 能补上。:DEX 格式细节较多,入门阶段只要知道「有几块、各块在干啥」即可;,会讲 Smali 的类定义、方法、寄存器、常用指令,方便你直接读和改 Smali 代码。会输出 magic、checksum、fileSize、headerSize 等。,里面存的是 Java 类、方法、字段、字符串等编译后的结果。(字符串、类型、方法原型、方法、类定义等),最后是。(真正的方法字节码、常量等)。,表示 DEX 版本 038。
2026-02-01 10:08:14
1000
原创 22. 如何反编译_APK
你会搞清楚 DEX 头、字符串表、类/方法表在文件里怎么排布,以及怎么用 dexdump、baksmali 等工具解析。不一样,变量名、注释可能丢失,但逻辑可读;IDA/Ghidra 里:加载 so → 选对架构(ARM/ARM64)→ 搜字符串(如。本节以「在干啥、一般怎么干、用啥工具」为主。注意:仅限授权环境与学习、安全研究,不要对他人应用做未授权逆向或传播。一步到位:APK 或 DEX 拖进去,直接出 Java 工程。等,改完再用 apktool 打包成 APK。,可先转成 JAR,再用。
2026-02-01 10:07:42
615
原创 21. APK_文件结构解析
会细说 jadx、apktool、dex2jar 等工具,以及 Java 反编译、Smali 反编译、Native 逆向的区分。:术语(APK、DEX、Manifest、Activity、so)首次出现时会用括号或一句话解释;下,按架构分子目录(如 arm64-v8a)。注意:仅限授权环境与学习用途,不要对他人应用做未授权篡改或传播。是应用的「清单」:声明要用哪些权限、有哪些。,里面装着应用代码、资源、配置文件等。(内容提供者),以及哪个是启动入口。(C/C++ 编译的动态库),放在。
2026-02-01 10:06:43
1110
原创 20. CTF_逆向挑战_初级
CTF(Capture The Flag)是一种信息安全竞赛,其中逆向工程(Reversing)是常见题型之一。CrackMe:分析二进制程序的认证逻辑,绕过密码检查,找到 flag。PWN(漏洞利用):分析缓冲区溢出、格式化字符串漏洞等。:分析 APK、DEX、JNI、Hook 代码,绕过验证或提取敏感数据。本章节提供多个CrackMe 题目的源代码,用户可自行编译文件,练习逆向分析、绕过密码验证、解密 flag等技能,并提供解题思路。
2026-02-01 10:06:08
1147
原创 19. Android_APP_安全机制
你只要记住这几条就行:每个 APP 独立 UID 沙盒,SELinux 再加强制访问控制;Root 检测、反调试、加固都可被 Hook 或 dump 绕过(仅限学习);敏感数据别明文放 SharedPreferences,用加密存储。学完本节,希望你能够:搞清 Android 安全机制(沙盒、SELinux、签名、Root 检测);掌握代码保护(混淆、加固、反调试);会动态分析、绕过 Root 检测/反调试/加固(仅学习);(第二十节),用 ELF/APK/JNI 小题目练手拿 flag。
2026-02-01 10:05:24
892
原创 18. 如何调试_Native_层
学完本节,希望你能够:掌握 Native 层调试(GDB、gdbserver、Frida);会用 GDB 下断点、追 JNI 调用;搞清 Frida 在 Native Hook 里咋用、咋改行为;你只要记住这几条就行:Native 层调试用 GDB 连 gdbserver 断点单步,用 Frida Hook 看参数和改返回值;先拿 PID、再 pull so、再起 gdbserver、本地 GDB。(第十九节),把沙盒、SELinux、签名、Root 检测、加固和绕过思路串起来。
2026-02-01 10:04:51
636
iOS 广告轮播
2015-09-22
自定义DatePicker
2016-01-18
实现上图标下文字,左图标右文字,右文字左图标设置的按钮
2022-11-29
iOS列表自动刷新(结合websocket实现,简单实用)
2022-11-23
MJRefresh无感刷新
2022-07-11
MJRefresh自定义动画
2022-07-11
substrate.h
2017-05-23
iOS OSS如何批量上传多张高质量图片???求大神指导
2017-09-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅