about summary refs log tree commit diff stats
path: root/example/ida/rpyc_ida.py
diff options
context:
space:
mode:
Diffstat (limited to 'example/ida/rpyc_ida.py')
-rw-r--r--example/ida/rpyc_ida.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/example/ida/rpyc_ida.py b/example/ida/rpyc_ida.py
new file mode 100644
index 00000000..21faf43a
--- /dev/null
+++ b/example/ida/rpyc_ida.py
@@ -0,0 +1,25 @@
+"""rpyc IDA server"""
+
+from rpyc.utils.server import OneShotServer
+from rpyc.core import SlaveService
+
+
+
+def serve_threaded(hostname="localhost", port=4455):
+    """This will run a rpyc server in IDA, so a custom script client will be
+    able to access IDA api.
+    WARNING: IDA will be locked until the client script terminates.
+    """
+
+    print 'Running server'
+    server = OneShotServer(SlaveService, hostname=hostname,
+                           port=port, reuse_addr=True, ipv6=False,
+                           authenticator=None,
+                           auto_register=False)
+    server.logger.quiet = False
+
+    return server.start()
+
+
+if __name__ == "__main__":
+    serve_threaded()