Home

SRE tools

SRE tools iOS ar ar实用程序创建并维护组合到存档中的文件组。一次已创建存档,可以添加新文件,也 可以添加现有文件提取、删除或替换。 ar -t *.a nm nm显示中每个对象文件的名称列表(nlist结构的符号表) nm libavoscloud.a otool 等效objdump命令, 打印对象文件的内容和最终链接的映像. otool libavoscloud.a -L file 查看文件类型 file libavosclod.a lipo 创建或者操作通用文件(multi-architecture), 如合并.a文件 // 查看信息 lipo -detailed_info libav...

Read more

Tools Ghidra

Tools Ghidra IDA Pro 替代品, 美国国家安全局出的逆向工程工具. 管网: https://ghidra-sre.org/ (需要翻墙) 源码: https://github.com/NationalSecurityAgency/ghidra https://gitee.com/mirrors/Ghidra/blob/master/build.gradle 安装: https://github.com/NationalSecurityAgency/ghidra/blob/master/GhidraDocs/InstallationGuide.html 编译源码 Installing Ghidra - Take 1 Install ...

Read more

iOS 反编译

iOS 反编译 unzip *.ipa 使用iOS App内的素材 ipa解压后, 可以在./Payload/*.app/ 中看到图片素材. 这些图片不能直接使用, 因为编译时 xcode对资源文件做了处理, 需要使用pngcrush工具转换回来. /Applications/Xcode.app/Contents/Developer/usr/bin/pngcrush \ -revert-iphone-optimizations ${pngfile} ${target_pngfile} 如果是使用Image Assets管理的图片, 都会保存到Assets.car中, 可以使用cartool, 解压 Assets.car. cartool github

Read more

Math 代数

Math 代数 标量(scalar): 一个标量表示一个单独的数,它不同于线性代数中研究的其他大部分对象 (通常是多个数的数组)。我们用斜体表示标量。标量通常被赋予小写的变量名称。如:a 向量(vector): 一个向量表示一组有序排列的数。通过次序中的索引,我们可以确定每个 单独的数。通常我们赋予向量粗体的小写变量名称。当我们需要明确表示向量中的元素 时,我们会将元素排列成一个方括号包围的纵柱:如 a. 矩阵(matrix): 矩阵是一个二维数组,其中每一个元素由两个索引所确定。一个有m行,n列 ,每个元素都属于 RR 的矩阵记作 A∈Rm×n. 通常使用大写变量名称,如A 张量(tensor): 超过两维的数组叫做张量。在某些情况下,我们会讨论坐...

Read more

Compute storage systems

Compute storage systems 计算机读写设备, 越快越大, 就越贵. 并且计算机程序有一个称为局部性(locality)基本 属性. 具有良好局部性的程序倾向于一次又一次地访问相同的数据项集合, 或是倾向于访问 邻近的数据项集合. 因此计算机存储器创建了层次结构, 称为memory mountain. 局部性 局部性原理(principle of locality), 是一个持久的概念, 更倾向于引用邻近于其他最 近引用过的数据项, 或者最近引用过的数据项本身. 局部性通常有两种不同的形式: 时间局部性(temporal locality)和空间局部性(spatial locality). 好的时间局部性程序中, 被引用过一次的存储器位置很...

Read more

Compute data

Compute data 计算机中一切信息都是0和1 字与字节顺序 字是计算机一次处理的最位数, 目前常用有32位和64位就是指的字(Word). 字节是计算机处理的最小单位, 8位二进制数串. 寻址, 多字节对象(如32位整数)都被存储为连续的字节序列, 对象地址为所使用字节中最 小的地址. 字节顺序, 多字节对象(如32位整数)需要按照顺序依次存储字节, 大头端, Big endian是 最高有效字节放在低地址位; 小头端, Little endian是低有效字节放在低地址位. 网络字节序, 网络传输一般使用大头端传输, 使用htons和ntohs两个函数, 把数据 在主机和网络格式上相互转换. 数值 二进制, 八进制, 十进制, 十六进制 ...

Read more