从源码编译SqlCipher并修改代码实现c++中调用dll解密微信数据库

开始前的例行叨叨:

被折磨很久了...orz。

如果只想解密微信数据库看看大概内容,不需要看这篇重编译sqlcipher!!

本篇是为了导出dll实现自定的搞基呸,高级功能。



背景知识:

1、手机root后才能在手机微信目录下找到uuid算出微信数据库密码。

2、安卓微信数据库是sqlite数据库,被sqlcipher加密。数据库文件EnMicroMsg.db已从root过的手机中获取。

3、sqlcipher是一种开源加密软件,采用全局整体加密,sqlite免费版无加密功能,所以微信用了sqlcipher2.1.1。

4、重编译sqlcipher需要openssl支持,不要慌,文章会讲从头编译openssl,sqlcipher2.1.1需要openssl-1.0.1g版本。

【如果以上不太明白看这里的资料】

【破解微信数据库原理】https://blog.csdn.net/njweiyukun/article/details/54024442

【微信数据库密码的获取】https://blog.csdn.net/jiangwei0910410003/article/details/52238891



目的:

从源码编译sqlcipher,可以修改源码,封装新的函数,导出dll。

让我们的c++程序可以调用这个dll中的函数,操作解密sqlcipher。



环境需求:

1、安了visual stdio2017 用来写c++和用它的自带工具辅助编译。

2、安装ActivePerl因为要执行perl代码。

3、下载并安装 Nasm 汇编器,并将 D:\Program Files\NASM 添加到系统环境变量 Path 中。

4、比较麻烦的是安装MinGW下载其中的各种依赖,编译sqlcipher要用到。

【如果以上环境都OK就可以继续了】

【不行的话可以参考这篇安装1-3】

https://blog.csdn.net/liang19890820/article/details/51658574

【参考这篇安装4】

http://www.360doc.com/content/17/1203/15/8728596_709509894.shtml



(话说。。以上环境诚然对新手不友好,慢慢安,不要急躁~)

(虽说直接跳过详细环境配置步骤有点让人想打作者,但毕竟本篇的中心是讲后续呀)



编译openssl

这里为了支持sqlcipher2.1.1我们使用openssl-1.0.1g.tar.gz版本

官网可自行选择下载需要的版本。

(此处假装有下载链接)


1、解压openssl-1.0.1g.tar.gz到目录,用cmd进入此目录。


2、perl Configure VC-WIN32 --prefix=D:\bs\show\opensslbuild

这行命令是设定编译好的openssl放到哪个路径的opensslbuild文件夹,这个文件夹不存在也没关系,会自己建的。

必须安好ActivePerl设好环境变量才能成功执行perl命令。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值