nomadli Blog

Thinking will not overcome fear but action will.

IOS 越狱插件开发

IOS 越狱插件开发 Theos Tweak

地址 环境搭建 使用步骤 地址 theos 类IDE lidi 签名 dkpg MacPorts源安装 打包生成deb libsubstrate.dylib 越狱hook库 环境搭建 command line tools 安装 MacPorts 安装 theos 安装在/opt/theos export THEOS=/opt/theo...

Core Data 使用

Core Data 使用

NSPersistentStoreCoordinator NSManagedObject NSManagedObjectContext NSFetchRequest NSFetchedResultsController 调试 NSPersistentStoreCoordinator 类似数据库链接句柄 可以关联多个本地存储给一个模型 NSSQLit...

android 相关

android 相关

Gradle 已知问题 ART ADB 命令 native 内存分析 gitlab runner Gradle 执行:Settings.gradle->config app.gradle->config 依赖.gradle->afterEvaluate 注册afterEvaluate顺序.gradle->执行任务 buildsc...

ios crash log 分析

ios crash log 分析

正常分析 查看是否文件匹配 重新索引 手动查看地址对应的信息 定位代码行 编译时设置 报告 汇编 问题 Xcode7的Organizer集成了查看崩溃日志的功能,如果无法解析 正常分析 将.app文件夹、dSYM文件夹、crash文件放在同一个路径下 export DEVELOPER_DIR=”/Applications/Xcode.ap...

App 安全监测事项

App 安全监测事项

传输 编译保护 UIWebView 本地数据存储 二进制分析 brew 安装的库签名问题两种方式解决 传输 明文传输 拦截注入JS或HTML 回话处理不当 没有校验 验证ssl证书真伪 MITM攻击 编译保护 反越狱 PIE保护 PIE反编译 栈保护 栈cookies反编译 自动引用计数 UIWebView 数据验证...

Regular

正则表达式

正则 NSPredicate PCRE 正则 ^ 行头 $ 行尾 * 0个或多个 = {0,} + 一个或多个 = {1,} ? 0个或1个 = {0,1} {数字} 重复个数 {数字,} 至少或更多 {数字1,数字2} 数字1 到 数字2 个 () 表达式范围例如 gray|grey gra(y|g)rey \数字 从1开始 表示...

Git

Git 命令

git官方中文教程 .git目录 svn 命令 git svn 命令 修改svn服务器地址 git迁移到SVN git分支提交到SVN 从git分支更新svn分支 svn转git 初始化本地仓库 同步远程svn到本地svn, 并将svn提交信用户息修改为git提交用户信息 x.map 内容 svn_name = git_name xx@xx....

Swift

Swift 语法

编译器相关 关键字 变量 流控制 函数 闭包 类 结构 枚举 协议 扩展 模块 编译器相关 plaground 后缀可以在xcode中预览结果,作为代码temp来看效果。 swift 后缀为真正代码文件 语句末尾不强制要求’;’ 关键字 typealias 相当于 typedef 变量 变量声明没有赋值,...

CocoaPods

CocoaPods使用

安装与升级 使用 Podfile 指定平台和SDK版本 添加依赖库 禁止警告 指定target 编译为动态库 spec sample 安装与升级 sudo gem install cocoapods 使用 touch Podfile、edit Podfile pod install pod update pod ins...

恢复符号表

恢复ios符号表

符号表 block内存结构 恢复符号 符号表 Mach-o文件__LINKEDIT段存储了符号表Symbol Table,表结构macho-o/nlist.h struct nlist,第一项为符号在字符串表中的偏移量,最后一项为对应的函数地址 block内存结构 struct __block_impl{Class isa; int flags; int reserved...