Tag: vcpkg

  • Windows 下vcpkg 与bindiff

    vcpkg 是 微软的一种包管理方式,对于curl之类的库,目前看使用 vcpkg可能是比较好的下载安装方式,比自己编译简单太多。 遇到了一个需要逆向的程序,经过人肉特征分析,程序里发现使用了 curl 的一个老版本,这个版本的二进制已经不提供下载了,虽然通过 web.archive.org 拿到了要的版本,但是是 mingw 的,而且没有调试信息用起来不方便。 于是,记录一下 vcpkg 操作的过程。 下载不提了,假设安装完 vcpkg 后,在一个空白的工作目录,建立 vcpkg.json 然后在这个目录执行 (我要分析的程序静态链接了curl,而且是32位的) 上边这个配置文件的例子其实是成功不了的,错误提示是 我没找到正确姿势,但是看到这个baseline 跟git版本疑似有关,偷懒但是生效了 第一步,加一个 “builtin-baseline”:”HEAD”,再次执行,报错变成了 直接改json。 接下来,bindiff的问题。 一般程序不可能静态链接一个 debug 版本的库,所以直接用 ida pro分析 release 版本的二进制,而 vcpkg 的目录里带了调试信息,在 match的时候会比较简单。 #EOF