自动文章采集 输入lldbread-size1-format(pgrep)_0

优采云 发布时间: 2021-05-28 03:17

  自动文章采集 输入lldbread-size1-format(pgrep)_0

  15个目录,0个文件

  消息已发出,这是我们想要的吗?向下查看其中的目录:

  ├──MessageTemp├──fts├──msg_ 0.db├──msg_ 0.db-backup├──msg_ 0.db-shm├──msg_ 0.db-wal├ ──msg_ 1. db

  如果您已登录到此计算机并同步了信息,则将有很多带有* .db后缀的文件。让我们大胆地猜测一下,这是我们想要存储聊天数据的路径吗?

  不要太担心,如果您先看一下就不会出错。通常,我们的程序员的第一反应是将SQLite用于本地存储数据库。你想尝试吗?

  sqlite3消息/ msg_ 0. dbsqlite> .schemaError:文件不是数据库sqlite>

  ? ?提示不是数据库,并且此时您正处于瓶颈中,那么为什么它不是数据库呢?思考一下打开姿势是否错误。

  它将被加密吗?根据这个想法,我了解到有一个基于SQLite的扩展数据库SQLCipher [1]。 SQLCipher是一个开放源代码数据库,它在SQLite的基础上进行扩展。它主要在SQLite的基础上添加了数据加密功能。

  实践证明,我猜是正确的。接下来要做的主要事情是如何打开文件Message / msg_ 0. db并成功读取其中的数据。

  最后,我提到了一个有趣的问题和答案,我只是参考这个问题和答案[2]来解密数据库,在这里我重复一下:

  •打开微信,但首先不登录•打开终端并输入lldb -p $(pgrep WeChat)•您将看到已经输入lldb,然后输入br set -n sqlite3_key,按Enter•在lldb中,输入c,按Enter键。然后返回lldb,输入内存读取--size 1 --format x --count 32 $ rsi

  这时,您将获得类似于以下内容的输出:

  0x6:0xd1 0x05 0x29 0x04 0x75 0xc5 0x45 0x050x6:0x92 0x26 0xa1 0x65 0x95 0xe5 0x15 0x3f0x6:0xf3 0xc7 0x43 0x85 0x05 0x35 0x45 0x3d0x65>

  删除冒号前面的字符串,然后删除四行八列的数据,然后删除0x,空格,n等,您将得到一个64位字符串,例如:

  df012f587cc546000025a56599e81530f9cc49800329423d8ec460e1386549e2

  这是我们进入数据库的关键。接下来,请安装与sqlcipher相关的软件,例如:

  简单安装sqlcipherbrew桶安装db-browser-for-sqlite

  让我们使用db-browser-for-sqlite打开带有db后缀的文件,看看有什么不同:

  

  

  单击“确定”成功打开!

  

  只需输入表格:

  

  显然,我们成功获取了本地聊天记录,并最终完成了第二步过程。现在,只要我们收到来自该帐户的推文,我们就可以监视发送了采集夹文章的微信帐户的聊天记录。此时,监视服务可以立即响应该消息,对其进行分析并将其发送给Bear

  我有一个小问题。我如何知道该鸣叫帐户位于哪个数据库和哪个表中?您可以用这种方式查看它,登录到在计算机上发送了推文的帐户,然后打开文件``:

  cd /Users/howie6879/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support / com.tencent.xinWeChat / 2. 0b 4. 0. 9 / 988eebd1023a0d794bff2b6f5c8d5176 / Accountcat userinfodata。

  大致输出如下:

  “:BHPpx��4754732��wxid_epXXXXXXXfj12。Howie6879.Old Hu's Locker。

  很明显,我的wxid是:wxid_epXXXXXXXfj12,然后需要监视的表的名称是:Chat_md5(wxid_epXXXXXXXfj1 2),格式是这样的

  Chat_f965739xxxx114fxxxxc394322exxxx

  然后在库中找到相应的表。我发现相应帐户的表存在于msg_ 5. db库中。

  接下来要做的非常简单,就是将提取的内容发送到Bear,在这里您可以使用X回调url Scheme文档[3],例如,如果您在终端中输入:

  打开'bear:// x-callback-url / create?title = Test%20Bear&text = Hello%20Bear'

  立即您可以看到Bear自动创建了一个笔记

  编码实现

  终于到了编码阶段,真是可悲:

  

  第一步是获取必要的常量:

  •S_ACCOUNT_ID:微信发送帐户ID,可以在Account / userinfo.data下查看•R_ACCOUNT_ID:微信接收帐户ID,与上面相同•RAW_KEY:解密密钥,是上面介绍的64位字符串•DB_PATH_TEM :定义消息DB路径,例如:“ / Users / howie6879 / Library / Containers / com.tencent.xinWeChat / Data / Library / Application Support / com.tencent.xinWeChat / 2. 0b 4. 0. 9 / {0} /消息/“

  定义这四个常量,接下来将是一帆风顺,我在Github上开源了该项目,地址是看到w2b [4],然后我将讨论如何直接使用它:

  git clone w2b#建议使用Pipenv。您还可以使用自己喜欢的环境构建方法pipenv install --python = / Users / howie6879 / anaconda3 / envs / python36 / bin / python 3. 6 --skip-lock#您需要填写配置文件pipenv运行python w2b / run.py,然后再运行

  随后,将有日志输出:

  [w2b] pipenv运行python w2b / run.pyLoading .env环境变量…[2019:09:13 09:16:35] INFO w2b目标表Chat_f965739b676114fxxxxc394322e1e826存在于msg_ 5. db

  库中

  好的,在代码运行之后,登录到计算机上的小号帐户(即接收微信文章微信ID),然后登录到手机以发送微信帐户文章 ,最后的成功将是文章开头的*敏*感*词*是相同的〜

  如果您认为这对您有所帮助,请点击外观良好的产品,然后再进行转发。

  参考

  [1] SQLCipher:[](

  [2]问答:#reply15

  [3] X回调URL方案文档:%20Scheme%20documentation /

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线