摘要: pthread_create 会先得到一个pthread_internal_t结构体 最后会调用__pthread_internal_add并将返回值赋给pthread_create的第一个参数thread_out __pthread_internal_add 会将传入的 pthread_inter 阅读全文
posted @ 2024-04-25 11:12 怎么可以吃突突 阅读(525) 评论(3) 推荐(0) 编辑
摘要: AES白盒加密主流的方法就是通过将原本的字节替换,行移位,列混淆和轮密钥加等操作用查表的方法实现,轮密钥则被合并到这些表中。可以通过DFA(Differential Fault Analysis)差分故障分析来获取到正确的轮密钥,通过轮密钥结合密钥扩展算法得到原始密钥。 常规AES加密 此so的en 阅读全文
posted @ 2024-03-08 12:34 怎么可以吃突突 阅读(973) 评论(0) 推荐(0) 编辑
摘要: 抓包后需要对params,pk,t1,t2,t3,key这几个参数进行分析 搜索字段关键词后得到t1(token) t2(machineIdCode) clienttime_ms这三个参数是在com.kugou.common.useraccount.entity.q中生成的 t3是在com.kugo 阅读全文
posted @ 2024-01-06 18:17 怎么可以吃突突 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 定位sign关键位置 抓包后看到sign的值为16个字节,猜测应该是一个md5 可以通过hookNewStringUTF利用字符串长度筛选定位到关键位置,也可以通过url中的关键字段去定位组包位置。这里利用后者,搜索x-api-eid-token字段,注意这里最好使用此url特有的字段,这样好筛选。 阅读全文
posted @ 2024-01-04 12:34 怎么可以吃突突 阅读(568) 评论(0) 推荐(0) 编辑
摘要: so脱壳 dynamic段混淆 对so文件libSecShell.so脱壳,so加壳肯定要在init/init_array中还原原始so文件,readelf查看so的.dynamic节区发现只有NEEDED和SONAME类型,符号表和字符串表等其他重定位信息都没有这显然是有问题的。 ida加载文件是 阅读全文
posted @ 2023-12-23 04:22 怎么可以吃突突 阅读(2761) 评论(4) 推荐(2) 编辑
摘要: sign分析 charles抓取到sign值是一个128位的值,猜测可能是md5或sha128。 寻找sign计算的关键点,可以通过jnitrace对NewStringUTF等函数进行hook,也可以直接写frida脚本hook strlen/NewStringUTF等字符串处理函数,以字符串长度为 阅读全文
posted @ 2023-11-22 11:48 怎么可以吃突突 阅读(424) 评论(1) 推荐(0) 编辑
摘要: 反调试 frida hook strstr发现会对一些敏感的字符串进行判断,将其中涉及到反调试的进行过滤直接返回null。 xposed substrate XposedBridge.jar /data/local/tmp TracerPid: State: android_server gdb l 阅读全文
posted @ 2023-11-18 01:45 怎么可以吃突突 阅读(1105) 评论(6) 推荐(0) 编辑
摘要: 栈回溯原理 利用栈帧 x86通常会使用ebp来保存栈帧,在函数头部首先会将ebp即调用者对应的栈帧保存,而调用者的返回地址就保存在此ebp对应的栈地址+4的栈地址中。这样经过多层函数调用,在内存中就会形成一个ebp链,只要知道当前ebp的值并遍历ebp链就可以找到每一层调用的返回地址,这样就可以完成 阅读全文
posted @ 2023-11-05 05:49 怎么可以吃突突 阅读(758) 评论(0) 推荐(0) 编辑
摘要: uprobe在内核层对用户层进程目标地址的原始指令进行copy之后,写入指定类型中断指令,并且内核中设置对应的中断处理程序。中断处理程序会先去执行uprobe设置的回调过滤函数,然后通过单步异常执行copy的原指令,最后将单步异常返回地址修改为中断指令的返回继续执行剩余指令。ida查看被uprobe 阅读全文
posted @ 2023-11-01 20:47 怎么可以吃突突 阅读(924) 评论(0) 推荐(0) 编辑
摘要: CO-RE原理 因为不同的内核版本的系统内部结构体会有差异,例如struct user_arg_ptr,当内核编译配置中存在CONFIG_COMPAT=y的时候,会在native成员之前增加一个布尔变量is_compat,这样native的偏移就发生的变化。 如果编写的ebpf内核程序需要访问str 阅读全文
posted @ 2023-10-31 14:18 怎么可以吃突突 阅读(387) 评论(0) 推荐(0) 编辑