Example #1
0
        protected virtual void ProcessMessage(string type, JObject data, byte[] dataBytes)
        {
            switch (type)
            {
            case "log":
                var msg = data.ToObject <FridaLog>();
                OnConsole?.Invoke(msg.level, msg.payload);
                break;

            default:
                JToken payload;
                data.TryGetValue("payload", out payload);
                OnMessage?.Invoke(type, payload, dataBytes);
                break;
            }
        }
Example #2
0
        void OnScriptMessage(IntPtr messagePtr, IntPtr data, UInt32 dataSize)
        {
            try
            {
                var    message   = messagePtr.ReadStringAndFree();
                byte[] dataBytes = null;
                if (data != IntPtr.Zero)
                {
                    dataBytes = new byte[dataSize];
                    Marshal.Copy(data, dataBytes, 0, (int)dataSize);
                }

                var    payload = JsonConvert.DeserializeObject <JObject>(message);
                JToken type;
                if (!payload.TryGetValue("type", out type) || type.Type != JTokenType.String)
                {
                    return;
                }
                ProcessMessage(type.Value <string>(), payload, dataBytes);
            } catch (Exception ex)
            {
                OnConsole?.Invoke("error", "ERROR PROCESSING MESSAGE: " + ex.Message);
            }
        }
 public static void InvokeConsole(string msg) => OnConsole?.Invoke(msg);
Example #4
0
 internal static void CallWriteCallback(IModManifest manifest, string text)
 {
     OnConsole?.Invoke(manifest, text);
 }