MCPcopy Create free account
hub / github.com/axhlzy/FridaDebugger / resolveAddressInput

Method resolveAddressInput

agent/debugger.ts:899–928  ·  view source on GitHub ↗
(input: PointerInput | string)

Source from the content-addressed store, hash-verified

897 }
898
899 private resolveAddressInput(input: PointerInput | string): NativePointer | null {
900 if (typeof input !== "string") {
901 try {
902 return toPointer(input);
903 } catch (_error) {
904 return null;
905 }
906 }
907
908 const registerExpression = input.trim().toLowerCase().match(/^([a-z][a-z0-9]*)(?:\s*([+-])\s*(0x[0-9a-f]+|\d+))?$/);
909 if (registerExpression !== null) {
910 const register = this.getRegisterValue(registerExpression[1]);
911 if (register !== null) {
912 const sign = registerExpression[2];
913 const offsetText = registerExpression[3];
914 if (sign === undefined || offsetText === undefined) {
915 return register;
916 }
917
918 const offset = Number(offsetText);
919 return sign === "+" ? register.add(offset) : register.sub(offset);
920 }
921 }
922
923 try {
924 return toPointer(input);
925 } catch (_error) {
926 return null;
927 }
928 }
929}

Callers 1

writeMemoryMethod · 0.95

Calls 3

getRegisterValueMethod · 0.95
toPointerFunction · 0.85
addMethod · 0.80

Tested by

no test coverage detected