In computer, the instructions of a function are stored in memory. When the process is going to call the function, it needs to know where to locate the function in memory, and then executes its instructions at there. That is to say , the process needs to know the memory address of a function according to its name. The mapping of function names and addresses is stored in the "symbol table". "symbol" is the name of the function, according to which the process locates the function's address I'm memory and then jumps there to execute it.
Imagine such a scenario: Your App calls a "lookup", rhino it can import the dylib, and call the function as it wishes, causing great consumption of your server resources.
To avoid this, symbols are divided into 2 types, i.e. public symbols and private symbols (Besides, there are stripped symbols). Private symbols are not property of yours, you can not make use of them as you wish. That's to say, MSHookFunction will fail on private symbols without further manipulation. So saurik provides the MSFindSymbol function to access private symbols.
What's a symbol?
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...
- 相信有吃过麦当劳的童鞋们,大部分都有遇到过一个场景,在麦当劳门店附近(有时可能不是附近),有麦当劳的工作人...