Skip to content

Navigation Menu

Sign in
Sign up

注入调试器-基于特征码 #226

fesily started this conversation in Ideas
Discussion options

涉及以下两个方面

  1. 特征码扫描算法
  2. 特征码生成算法

特征码扫描算法

使用gum_memory_scan

使用十六进制匹配二进制,比如 af 9a 00 ?a f? ?? f2

? 用以匹配任意字符


特征码生成算法

  1. 得到函数表 = remotedebug的导入表 + launch所需函数表(扫描launch只读字符串)
  2. 使用frida-code,api将函数重定位到另一个地方,两者比较,交集为特征码,差集是填充位
  3. 过滤指令重定位集,生成函数特征码

不同版本的编译器将会产生不同的指令序列,没有任何兼容性


特征码配置

 "functions":{ // 函数的特征码
 "function_name":{
 "start_offset":0, //搜索模块的起始地址子节偏移
 "end_offset":0, // 搜索模块的结束地址子节偏移
 "pattern":"ff ?? ff", //特征码
 "pattern_offset":0, //函数相对特征码子节偏移
 "hit_offset":0 //多个特征码匹配下确定是哪个
 }
 }
You must be logged in to vote

Replies: 0 comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Ideas
Labels
None yet
1 participant

AltStyle によって変換されたページ (->オリジナル) /