Hopper 修改字符串如何添加?

看了网上的这个帖子,

可以修改字符串. 如果要修改的目标字符串比 原来的短, 用 00 补位,
那么如果我要修改的字符串比原来的长要怎么添加??

1 个赞

自己开辟空间啊。或者Hook

可行的方案,比如说,是修改__DATA段和这个文本所在secr的大小,把新文本加在多出来的位置。搜索原来文本的xref让他们跳转到新位置。这个是最稳定的静态修改方法。但是也需要这么做的人有很高的姿势水平,识得唔识得噶

edit: 又或者新建seg sect插入在最后,这样你就不用处理原来段后续segment的移动问题

1 个赞

谢谢张总.

自己写个东西

  1. 把lc之后所有的东西往后移
  2. 在lc头部插入新的段的lc,offset指向文件末尾
  3. 用新的各个sec偏移修复所有lc
  4. 在文件末尾对应位置写入新的数据
  5. 利用hopper修改原来lc的所有xref到新位置
1 个赞