IDApython非常强大,但是每次执行一次IDApython只能输出一个模块的信息。如果想同时处理多个模块的信息,python的RPC服务通信
机制可以作为一个不错的选择。
这里主要讲的是使用RPC通信需要注意的一些问题,防止逆向人员像我一样踩坑。
RPC通信具体实现代码可以参考:https://blog.csdn.net/weixin_30955617/article/details/95011695
PYTHON3的可以看这篇:https://www.jianshu.com/p/9987913cf734
主机使用服务端1010端口监听,idat64.exe使用1010端口向服务端查询必要的信息并获取返回数据。
但是实际运行通信时,相对于服务端的idat64.exe的外部地址的端口并不是固定的1010,而是一直变化的。如下图。
使用netstat -ano发现外部地址(idat64.exe)一直是变化的(图中第二栏),端口号最大是65535,如图,外部地址在端口号递增到65534后,直接又从1010开始继续随着通信递增端口号。
DEBUG
一、IDApython调试时容易出现的错误:
ConnectionRefusedError: [WinError 10061]