QQScreenShot之逆向并提取QQ截图--OCR和其他功能
脚本之家
0x0 前言
上一篇文章 逆向并提取QQ截图--基本功能 没有提取OCR功能, 再次逆向我发现是可以本地调用QQ的OCR的。 但翻译按钮确实没啥用, 于是Patch了翻译按钮事件, 改为了将截图用百度以图搜图搜索. 并Patch掉了长截图的标签显示, 这样win10下就也可以用长截图功能了.
0x1 Patch OCR按钮事件
QQ在调用OCR之前会进行一些判断, 只有是win10及以上版本的64位系统才会去本地调用OCR, 其余条件都会调用网络OCR, 所以Patch掉就好了:
//本地调用QQOcrHelper.exe Patch QQOcrHelper: { 00000001406B3D88 QQ.exe -> QQScreenShot.exe 000000014003008E cmp rcx, 0x7 -> cmp rcx, 0x10 } Cameral.dll: 将上传OcrImg的函数(Camera+41F1C)Patch掉: Camera + 3BDA2: call sub_52FE1F1C -> nop (E8 75 61 00 00 -> 90 90 90 90 90) Patch判断网络还是本地OCR的函数: Camera + 765A: jnz short loc_52FA76C0 -> nop (75 64 -> 90 90)
0x2 Patch 翻译按钮事件
将翻译改百度识图(以图搜图), 原理就是向百度识图POST一个上传图片的请求, 然后打开返回的网址, 具体代码见附件
0x3 效果
0x31 OCR
0x32 识图(以图搜图)
0x33 长截图
0x34 滚轮音量
0x6 后续
根据前辈的方法, 后续有空了可能可以把屏幕录制功能给逆出来