1625-5 王子昂 总结《2018年2月7日》 【连续第495天总结】
A. Frida入门
B.
在Windows下的Hook框架似乎没什么出名的,仅有的一些例如EasyHook、微软提供的API和detour库都是API级别的
而对于当前目的以做题为主的我来说,INS指令级别的Hook才是更需要的—毕竟拿到的程序很大可能关键部分都是自写的函数、甚至只是一个结构块
于是想起了已经在Android平台使用的Frida,这是一个全平台,包括Windows、Linux、Android、iOS等等都可使用的框架
它的原理是在需要Hook的平台上开启一个服务器,然后服务器通过ptrace调试目标进程,另一方面客户端脚本将核心代码传给服务器,服务器进行Hook
脚本方面似乎使用C、Python、Switch都可以,而核心代码必须使用js
正好借此契机去好好学下js啦~
首先安装,py2和3下面都有,各自用pip安装即可
值得一提的是以前用的是py2,版本是2.7.13c,正常使用
这次刚开始py3跑的是3.5.2,安装后import frida会报
Failed to load the Frida native extension: DLL load failed: 找不到指定的模块
查了一下发现是frida开发者更新太勤了外加死脑筋,模块中硬编码要求导入python36.dll,而在3.5版本下仅有python35.dll,于是报错
解决方法为:
- 安装python3.6版本
- 搜索并改变Frida模块中要求为python36.dll的代码,将其修正为对应的版本文件
后者有可能会导致一些不