查找PC微信数据库句柄

查找PC微信数据库句柄

/public/images/sqlite3-handle-1.png

计算偏移,开始OD调试

10E79B0D - 10000000 = E79B0D

OD断点地址为 WeChatWin.dll + 0xE79B0D

OD基址为:78620000

78620000 + E79B0D = 79499B0D

/public/images/sqlite3-handle-2.png

然后登录微信

/public/images/sqlite3-handle-3.png

看到有数据库名称

根据上篇sqlite_exec定位分析

/public/images/sqlite3-handle-8.png

我们确定edi+0x38就是数据库句柄

我们找到函数头 push ebp 下断点

/public/images/sqlite3-handle-4.png

重新启动微信,断点后扫码登录

/public/images/sqlite3-handle-5.png

我们查看一下edi+0x38的值

/public/images/sqlite3-handle-6.png

当执行到call esi时,值发生变化

/public/images/sqlite3-handle-7.png

我们进入call esi

单步调试

/public/images/sqlite3-handle-9.png

执行到7953FFF3 esi+0x38 被赋值

这里就是数据库句柄