Skip to content

Objc Reflection Info

高级页面仔 edited this page Nov 29, 2020 · 1 revision

Requirements

  • iblessing version >= 0.5

Objc Reflection Info

The objc-msg-xref scanner will produce a reflection info report in json format (binary_objc-reflections.iblessing.json), it records objc reflection call infos (now contains NSClassFromString calls):

In order to reduce the size of json as much as possible, some of the keys are abbreviated, snapshots of each call follows the format below:

  • r -> is resolved
{
	"version": "0.1",
	"infos": {
		"NSClassFromString": {
			"total": 5,
			"resolved": 5,
			"calls": [{
				"r": true,
				"args": [{
					"type": "NSString",
					"value": "WKWebView",
					"resolved": true
				}]
			}, {
				"r": true,
				"args": [{
					"type": "NSString",
					"value": "SSOSignInViewController",
					"resolved": true
				}]
			}, {
				"r": true,
				"args": [{
					"type": "NSString",
					"value": "UIImpactFeedbackGenerator",
					"resolved": true
				}]
			}, {
				"r": true,
				"args": [{
					"type": "NSString",
					"value": "UISelectionFeedbackGenerator",
					"resolved": true
				}]
			}, {
				"r": true,
				"args": [{
					"type": "NSString",
					"value": "UINotificationFeedbackGenerator",
					"resolved": true
				}]
			}]
		}
	}
}

Limit

  • There is no objc runtime simulation procedure now, so we can only get type of some objc objects and the values of const strings.

Clone this wiki locally