自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 问答 (1)
  • 收藏
  • 关注

原创 iOS lldb 连接 debugserver error: failed to get reply to handshake packet

之前一直用的python的usbmuxwrapper端口转发工具。今天调试的时候,突然报错,并且观察到端口转发窗口,转发ssh的2222端口正常,但是转发1234端口的时候有问题。尝试重新插拔usb数据线,尝试卸载重装端口转发工具,都没有效果。最后用node.js的usbmux工具,解决了!

2024-01-27 16:06:23 392

原创 node.js npm 版本不匹配问题

npm当前版本为,node当前版本为,两者不兼容。

2024-01-24 17:21:48 3794

原创 记录一个 python frida objection 版本不一致的问题

通过objection获取,iOSkeychain,需要在PC端和iOS端安装相同版本的frida。由于某种原因,iOS上frida版本限制在14.2.18。(报错内容忘记拷贝了。尝试降低frida-tools版本至9.2.5,对应frida版本14.2.8,但是运行objection还是会报错。怀疑是python3.11兼容性的问题,尝试安装最新版python2,运行报错不支持python2。pip install frida-tools下载最新版本,对应的frida版本为16.1.7。

2023-11-25 20:37:26 265

原创 npm安装frida指定版本。nvm安装node指定版本。

pc端通过node+frida调试,需要node安装的frida版本和iPhone内的frida版本一致。通过 npm install frida 安装的话,会自动下载最新版本。当时设备上是14.2.18,最新版是16.1.7。版本不一致,导致frida无法正常使用。

2023-11-23 11:57:33 339

原创 ios batteryState batteryLevel

ios battery相关

2023-07-20 15:43:51 127

原创 springboot+websocket-1 最简化 4个回调函数

先把ws跑起来,ConcurrentHashMap暂时还用不到。map是用来给外部调用,向目标ws实例发送消息用的,后面再加上。

2023-04-09 15:30:03 275

原创 AES-128-ECB/CBC 查表法 C#实现

遇到一段汇编代码,没认出来是查表法的AES。这里完全用字节处理,来实现AES加密计算,来加深一下对查表法AES的印象。由于采用对字节的操作,会造成很多无畏的内存读写,运算速度肯定没有对uint(4字节)来的快。本来反汇编出来的就是uint的,这边只是想学习具体细节,才转换成字节的。后续有空了,再把整理后的uint操作的代码贴出来吧。

2023-04-08 20:49:06 851 2

原创 Python常用语法、数据结构总结

python基础笔记

2023-03-11 21:11:53 195

原创 Base64编码的几种变式,以及异常可能的原因

base64异常可能的原因

2022-11-15 21:21:22 1098

原创 ARM汇编 常见条件判断对应NZCV标识 以及 TST / TBZ / TBNZ 指令

EQ/NE LT/LE/GT/GE LO/CC/LS/HI/HS/CS,TST/TBZ/TBNZ

2022-11-15 15:23:45 2506

原创 C# unix时间戳 秒、毫秒、微秒。日期 字符串 格式

DateTime _1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);DateTime now = DateTime.Now; string str = now.ToString("yyyy-MM-dd HH:mm:ss.ffffff"); // 年-月-日 时:分:秒.微秒Console.WriteLine(str);int sec = (int)(now - _1970).TotalSeconds;Console.WriteLin...

2022-05-24 15:30:48 1713

原创 牛客网 迷宫问题 DFS 递归 两种方式

牛客网-迷宫问题主要思路1. 像3个方向递归2. 不能数组越界3. 不能是墙4. 在当前递归分支下,没有走过。跟算24点一样,还是通过两种方式控制递归退出:1. 通过全局变量2. 通过函数返回值。这里通过函数返回值,直接用静态函数就行了,并且不会有并发冲突。公共类Coordinpackage cn.line.nowcoder.huawei.hj43;/** * 用于保存路径 * 也可以直接用int[2]来实现 */public class Coord

2022-04-05 23:43:39 529

原创 牛客网 24点 DFS 递归 两种方式

题目连接:牛客网-算24点自己些的递归,是通过全局控制变量,来控制递归结束的。后来看了网友的代码,还有通过返回值来控制递归结束的。在这里记录一下。下面的代码里,函数dfs是通过全局变量found来控制递归退出的。函数dfs2是通过返回值来控制递归退出的。package cn.line.nowcoder.huawei.hj67;import java.util.Scanner;public class Main { public static void ma

2022-04-04 14:02:21 590

原创 记直接插入排序,为什么必须从后往前遍历

从前往后遍历找到插入位置@Slf4jpublic class InsertSort { @Test public void test() { int[] arr = new int[]{5, 3, 7, 6, 4, 1, 0, 2, 9, 8}; log.info("init: {}", Arrays.toString(arr)); insertSort(arr); log.info("result: {}", Arr

2022-03-21 20:31:23 1016

原创 LeetCode 链表 双指针 234

题目本身比较简单,主要是快慢指针的思路值得记一下,后续可能还会有其他应用。 public boolean isPalindrome(ListNode head) { if (head.next == null) return true; ListNode fast = head; ListNode slow = head; ListNode preSlow = null, nextSlow;

2022-03-18 22:16:53 615

原创 LeetCode 链表 双指针 206 92 25

206:简单的pre + cur的双指针public ListNode reverseList(ListNode head) { if (head == null || head.next == null) return head; ListNode pre = null; ListNode cur = head; ListNode tmp; while (cur.next != null) { tmp = cur.next

2022-03-17 23:38:06 572

原创 LeetCode 19 61 链表 双指针

题目-19题目-6119: public ListNode removeNthFromEnd(ListNode head, int n) { ListNode ret = new ListNode(0, head); ListNode pre = ret; ListNode rear = pre; while (n-- >= 0) { // n-- > 0 rear = rear.ne

2022-03-17 00:23:04 848

原创 ARM64内存中的dirent,记一个判断文件后缀的方式

dirent结构struct dirent {   long d_ino; /* inode number 索引节点号 */    off_t d_off; /* offset to this dirent 在目录文件中的偏移 */    unsigned short d_reclen; /* length of this d_name 文件名长 */    unsigned char d_type; /* the type of

2022-03-08 19:17:32 823

原创 项目优化之垂直拆分 和 水平拆分

垂直拆分数据层-表将单表中的常用字段和不常用字段,拆分到两个表,减少每次读无效字段导致的IO损失。数据层-库多个子系统的表,集中在单个DB里,为这些系统创建各自的DB,减少单个DB的压力。业务层多个子系统集中在单个项目里,将子系统独立成项目单独部署,增大吞吐量,还能有针对性地横向拓展。水平拆分数据层-表单表中的记录过大,树的高度过高导致查询缓慢。将全部记录按某个字段,分类到多个表中。例如,身份证表,按地区拆分。数据层-库单库的机器性能成为瓶颈。将身份证表,

2022-03-05 23:53:48 196

原创 Mybatis Springboot配置 基本的增删改查

文章主要是记录一次demo的搭建过程,方便以后回顾。只贴出了关键代码和指明了关键位置。不过也算是比较完整了。springboot配置i. pom.xml主要是这几个依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId

2022-02-25 01:28:05 763

原创 Java 通过线程池运行Runnable Callable FutureTask,通过Future获取返回值

Callable是可以获取返回值的Runnable,不过Callable只能通过线程池,来直接的提交任务。如果通过Runnable来执行任务,则只能通过FutureTask来获取返回值。线程池ExecutoerService的execute()方法,只接收Runnable入参。要想获取任务返回值,只能通过FutureTask。submit()方法,可以接收Runnable和Callable入参。获取返回值,既可以通过Future+Callable,也可以通过FutureTask+Runnab

2022-02-13 14:41:59 1920

原创 Java Runnable Callable FutureTask的关系概括和使用方式

直接通过new Thread().start()来运行多线程/** * Runnable * Callable * FutureTask */@Slf4jpublic class ThreadTest { public static void main(String[] args) throws ExecutionException, InterruptedException { new Thread(new Runnable() { // 最基础的新建线程的方式~

2022-02-13 13:36:35 180

原创 ARM64 记一个比较有趣的乘法运算

X = X * 5被编译成汇编代码:ADD X1, X1, LSL#2也就是X = X + X << 2也就是X = X + X * 4

2021-09-13 22:48:06 151

原创 ARM64汇编,跳转命令B\CBZ,字节码

B无条件跳转一条汇编指令 __text:000000010333E3D4 B loc_10333EA74对应字节码A8 01 00 14其中,0x14是B对应的字节码,0x1A8是对应的偏移0x10333EA74 - 0x10333E3D4 = 0x6A0 =0x1A8 * 4这里*4推测是一条指令4个字节的意思。CBZ有条件跳转一条汇编指令 __text:00000001031CAE70 ...

2021-08-05 22:29:05 6857

原创 ARM64 BYTE/WORD/DWORD/QWORD 与 Wn/Xn

WORD 2个字节DWORD 4个字节 32位 可以用Wn存储QWORD 8个字节 64位 可以用Xn存储

2021-05-25 13:03:38 1063 2

原创 ARM汇编指令 CSEL CSET

CSEL X7, X2, X0, EQ ; if (cond == true) X7 = X2, else X7 = X0CSET W0, EQ ; if (cond == true) W0 = 1, else W0 = 0

2021-02-04 17:11:29 5127

原创 ARM汇编指令 BFI BFXIL UBFX

例:UBFX W6, W28, #0XB, #2W6 = (W28 >> 11) & 3

2021-02-03 20:12:12 5494 3

原创 ARM汇编指令 UXTW/UXTH/UXTB, SXTW/SXTH/SXTB

UXTW:Zero-extend single-word例如:需要ADD X0, X0, W1时,需要把W1拓展成X1:ADD X0, X0, W1, UXTW需要LDR X0, [X0, W1]时,同理:LDR X0, [X0, W1, UXTW]遇到后边带上一个立即数的情况:LDR W0, [X0, W1, UXTW #2],先把W1作Zero-extend处理,然后left-shift by 2,然后进行LDR。题外话:一般这种情况,由于内存中是按字节存储,想读..

2021-02-03 20:02:34 12430

原创 ARM64 记一个标准的循环的汇编代码

__text:0000000103D26604__text:0000000103D26604 ; =============== S U B R O U T I N E =======================================__text:0000000103D26604__text:0000000103D26604__text:0000000103D26604 ; __int64 __fastcall Rename_103D26604_BS_XOR(__int64 a1, _

2021-01-12 12:17:22 280

原创 curl 代理测试 username:password

curl -x proxy_address -U username:password target_address-x 不是 -X-U 不是 -u可以带上-v,看看详细请求/响应

2020-12-17 15:55:36 623

原创 lldb连接debugserver报错failed to get reply to handshake packet

通过usb-replay的方式连接debugserver,(lldb) process connect connect://localhost:1234报错了lldb窗口报:error: failed to get reply to handshake packetdebugserver窗口报:error: rejecting incoming connection from ::ffff:127.0.0.1 (expecting ::1)解决:把debugser..

2020-12-04 20:34:24 3398

原创 iOS越狱

1. checkra1n2. Openssh3. Apple File Conduit 24. debugserver5. usbreplay

2020-12-04 20:12:13 122

原创 VS快捷键

格式化 ctrl + e + d在当前行之上插入一行 ctrl + enter在当前行之下插入一行,且自动补齐代码 shift + enter在当前行之下插入一行,不自动补齐代码 ctrl + shift + enter注释 ctrl + k + c取消注释 ctrl + k + u以单词为单位左右移动 ctrl + 左右方向键选定当前单词 ctrl + shift + w复制当前行 ctrl + c删除当前行 ctrl + L转换为小写...

2020-09-16 21:20:47 1092

原创 ARM指令 MADD, MSUB

MADD Rd, Rn, Rm, Ra => Rd = Ra + Rn*RmMSUB Rd, Rn, Rm, Ra => Rd = Ra - Rn*Rm

2020-08-11 21:08:58 3856

原创 JVM参数

内存分配-XX:NewSize 初始新生代内存大小-XX:MaxNewSize-XX:PermSize 初始永久代内存大小(1.8弃用)-XX:MaxPermSize-XX:MetaspaceSize 初始元空间大小(1.8启用)-XX:MaxMetaspaceSize-XX:MinMetaspaceFreeRatio GC之后,最小的Metaspace剩余空间容量...

2019-05-15 22:56:23 91

原创 MySQL主从同步环境配置

1. 搭建主库和从库并配置2. 配置主库binlog3. 配置从库的master4. 将主库的存量数据同步到从库5. 从库开启slave I\O只同步部分库1. 主库配置2. 从库配置只同步部分表1. 从库配置参考博客:CentOS上安装MySQLMySQL二进制日志binlogMySQL主从配置MySQL部分表、库的主从同步...

2019-04-11 18:35:30 121

原创 win10启动MySQL失败:mysql服务无法启动 服务没有报告任何错误

修改了下配置文件,停止后启动失败。通过mysqld --console,观察ERROR日志,提示【无法创建一个文件夹下的文件,文件夹不存在】创建文件夹后正常了。或者,通过观察mysql的错误日志,在配置文件中配置的data目录下,也可以达到相同的目的。MySQL: File '.........\bin.index' not found (Errcode: 2 - No ...

2019-04-11 15:46:20 2547

原创 Can't connect to MYSQL server on x.x.x.x (10038)

1.检查mysqld是否启动2.检查端口是否开放3.检查MySQL bind_address是否开放4.检查user是否授权5.检查user是否对外开放

2019-04-11 14:37:06 188

原创 分布式服务治理之SOA和MSA

SOA,Service Oriented Architect,面向服务的框架,也叫做服务治理框架MSA,Micro Service Architect,微服务框架理解这两个概念,需要理解后台服务的发展过程(主要关注业务层面,数据库层面另说吧):单一应用架构 -> 垂直应用架构 -> 分布式服务架构 -> ...这两个概念的提出,都是为了解决项目细化之后...

2019-04-01 16:05:45 432

原创 记录一个学习资源池(连接池)时,从资源池获取资源的并发问题。

实验描述:首先定义一个数据库连接池,然后从资源池中并发获取连接,接着进行对连接的操作,最后返还连接到资源池。其中,连接池用 "LinkedList pool" 保存连接,获取连接和归还连接时用synchronized同步块锁住pool。从连接池中获取连接前,首先判断连接池里是否有可用的连接,若没有,则通过wait()方法使线程等待;当其他线程释放连接时,通过notifyAll()方法唤...

2019-04-01 01:32:26 737

BouncyCastle UserGuide C# DotNet

BouncyCastle UserGuide C# DotNet

2023-12-14

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除