反编译某些tweak时,函数名都是sub_xxx,求问是如何做到的


#1

反编译某些tweak时,函数名都是sub_xxx,求问是如何做到的,感觉这种方法更好得保护代码,之前听说是去掉符号表,但是没找到可行的办法


#2

一般非export的C函数在反编译时显示的都是sub_xxx,你可以自己编译一个tweak试试看


#3

release模式自动strip,你也可以手动命令行执行strip。
这部分操作就是你所说的[quote=“zerxon, post:1, topic:7826”]
去掉符号表
[/quote]


#4

我小白,没懂,请问非export的C函数具体是?


#5

release 模式试了并没有自动strip,手动strip,有教程吗?求分享


#6

你把那个函数设成static


#7

strip单独也是个指令,请在终端输入man strip查看man page


#8

好的,谢谢大神指点


#9

大神,还想请问多一个问题,用Logos,他会把我要拦截的方法暴露出来了,如:

_logos_method$_ungrouped$MQZoneActiveFeedViewController$getFeedList(MQZoneActiveFeedViewController*, objc_selector*)

有没办法隐藏呢?


#10

strip掉


#11

make DEBUG=0
默认就会帮你strip掉


#12

for example :

static void foo(){
// …
}


#13

挖一下老贴,
这种sub_xxx怎么恢复啊?


#14

不能。
C函数没法回复


#15

原生人工智能


#16

戳中笑点


#17

怎么反编译别人写好的tweak啊?


#18
  1. 解压deb
  2. 从 /Library/MobileSubstrate/DynamicLibraries 里找

#19

但是用hopper打开后依旧能看到HOOK了的函数。哪怕是用了debug=0参数来编译。是不是没法完全隐藏啊?


#20

是。永远有办法