前言 做爬虫肯定少不了JavaScript引擎的使用,比如在Python中现在一般用pyexecjs2来执行JavaScript代码,另外还有一些其他执行JavaScript的库: https://github.com/eight04/node_vm2:rpc调用nodejs,需要安装node https://github.com/eight04/deno_vm:rpc调用deno,需要安装deno https://github.com/wistn/pyChakraCore:调用ChakraCore.dll aardio执行js 如果本地安装有nodejs,aardio范例里也有rpc调用...

  ILxlT0HtFgJu   5天前   11   0   0 Python

前言 只有自己封装库的时候,才知道造轮子有多累。之前使用Python的时候,基本都只需要import,随便哪个功能都有人写好轮子用。不过造轮子也有好处,可以了解一些比较基础的知识。 其实aardio也有很多已经造好的轮子可以用,只是因为只有作者在维护,而且没有一个活跃的社区,所以很多方面有些缺失,比如爬虫方面。但是aardio写一些小工具确实很方便,打包成exe也比较小,所以我来造这个轮子。 文中使用到的aardio库都可以到github下载:https://github.com/kanadeblisst00/aardio-extlibs 需求说明 之前写的一个视频号下载工具为了给公众号涨粉,...

  ILxlT0HtFgJu   7天前   21   0   0 Python

原文链接:https://mp.weixin.qq.com/s/f8zbM6wMld3koqjaFbCuxw 前言 微信关注了很多技术类的公众号,但是一直都没看,所以想先把文章下载下来,放着以后可能一定会看。 之前写的Python微信机器人系列文章里提到了如何hook微信的实时消息,实时消息里也包含了公众号文章的推送,可以获取到文章的标题链接和发布时间,而且获取的很及时,基本公众号已发文推送就能收到。这样我们可以在收到文章后请求到正文然后保存成html,这样也可以防止文章被删除。 后面有时间顺便把这些公众号的历史文章也下载保存成pdf或HTML。已经在计划内了,采集历史并不麻烦,只是我想保存...

  ILxlT0HtFgJu   17天前   19   0   0 Python

前言 弄了个视频号下载后,同一个问题每天都会被问,回答的有点烦了。想了想根本原因还是缺少一个交流平台,微信群的话,刚进群的看不到之前的聊天记录。想整个知识星球,发现只能弄个收费的,免费的需要激活码才能创建。 而有些人不会使用github,所以这篇文章写一下如何使用开源项目搭建一个问答平台。本来是想弄个论坛,但是在搜索的过程中发现这个问答平台更符合我的要求(支持搜索、轻量和搭建简单)。 开始搭建 我使用的系统是Ubuntuserver20.04 使用的项目 问答平台:https://github.com/apache/incubator-answer NGINXweb管理:https://gi...

  ILxlT0HtFgJu   18天前   21   0   0 Python

原理 在看雪看到一篇文章:逆向调用QQ截图NT与WeChatOCR-软件逆向。里面说了怎么调用微信和QQ本地的OCR模型,还有很详细的分析过程。 我稍微看了下文章,多的也看不懂。大概流程是使用mmmojo.dll这个dll来与WeChatOCR.exe做通信的,也是用它来启动和关闭WeChatOCR.exe进程的。所以关键只需要知道这个dll里的导出函数怎么使用,就能自己实现调用OCR。并且可以脱离微信,不需要启动微信就能调用。既然这样,那完全可以使用Python加载mmmojo.dll启动WeChatOCR.exe并和它通信进行OCR识别。 代码怎么实现的就不多说的,感兴趣的可以看githu...

  ILxlT0HtFgJu   20天前   25   0   0 Python

前言 熟悉一个新的语言最麻烦的就是需要了解一些库的使用,特别是基础库的使用。 所以我想给aardio封装一个Python风格的库,Python里的基础库是什么方法名,aardio里也封装同样的方法名。 这样就不需要单独去了解aardio里一些方法的使用细节,可以很方便的将Python代码改成aardio代码。 语法差异 不过因为语法上有差异,使用上不能做到完全一模一样。比如Python字符串是可迭代的,而aardio并不能迭代类,aardio中的迭代器是函数。 另外,有些函数较为复杂,我只实现最基本的意思,比如Python的isdigit和isnumeric是检测字符串是否全是数字,它的数字还...

  ILxlT0HtFgJu   29天前   16   0   0 Python

名字空间(namespace) 文档地址:https://bbs.aardio.com/doc/reference/the%20language/namespace.html 引入namespace的作用是为了解决变量命令冲突,比如有两个人都叫张三,一个是江西的,一个是北京的。为了区分他们就可以在名字前面加个地区比如江西.张三和北京.张三,这样你就知道具体是哪一个了。 默认的名字空间 在aardio中默认的名字空间是global,当你运行一个文件时,就会把里面的变量和代码放到global名字空间里。 使用import语句可以将某个名字空间也放到global或其他名字空间里,这样你就能在这个名字...

  ILxlT0HtFgJu   2024年04月02日   16   0   0 Python

前言 aardio中有些经常使用的库,换个项目总需要复制一下,还不便于修改。虽然可以直接把它放到aardio\lib目录下,也是不便于共享给其他人使用。 最近偶然翻到编辑器里的工具->开发环境->扩展库发布工具,就想着可以像官方一样,发布自己的扩展库,也便于分享给大家使用,最好能像官方扩展库一样在线安装。 阅读官方代码 翻了一下代码,其实官方扩展库的逻辑也很简单,先请求一遍所有扩展库列表,这是个json文件。 里面包含扩展库的基本信息和下载的url,下载的格式是.tar.lzma,而上面的扩展库发布工具就是将库打包成这个格式。 当你要安装某个库时,就会把它下载并解压到aardio\...

  ILxlT0HtFgJu   2024年03月27日   38   0   0 Python

前言 还有个迭代器,基础语法基本已经说完了,后面想到啥再补充,之后的教程会从以下方面来讲: 基础库的使用,比如string、table等 基础控件的使用,比如listview、tab等 aardio和Python交互,比如给Python写个界面 自带的范例程序 我写的一些小程序 当然,我的理解也是很基础的,特别是在界面设计上,我都是用的默认控件的默认设置,不会去自定义控件内容。要想做出特别炫酷的程序,你还得依赖其他语言和工具的基础。例如用HTML和CSS来实现界面。 元表、元方法 参考文档: https://bbs.aardio.com/doc/reference/libraries/k...

  ILxlT0HtFgJu   2024年03月25日   59   0   0 Python

前言 还有个迭代器,基础语法基本已经说完了,后面想到啥再补充,之后的教程会从以下方面来讲: 基础库的使用,比如string、table等 基础控件的使用,比如listview、tab等 aardio和Python交互,比如给Python写个界面 自带的范例程序 我写的一些小程序 当然,我的理解也是很基础的,特别是在界面设计上,我都是用的默认控件的默认设置,不会去自定义控件内容。要想做出特别炫酷的程序,你还得依赖其他语言和工具的基础。例如用HTML和CSS来实现界面。 元表、元方法 参考文档: https://bbs.aardio.com/doc/reference/libraries/k...

  ILxlT0HtFgJu   2024年03月20日   21   0   0 Python

表(table) aardio中除了基础数据类型外,其他的复合对象都是table(例如类和名字空间等)。table可以用来存放aardio的任何对象,包括另一个table。 在其他语言中的字典、列表、数组、集合映射等,在aardio中都使用table来实现。 创建字典 importconsole; vartab={ a=123; str="字符串"; [123]="不符合变量命名规则的键应放在下标内。"; ["键名"]="不符合变量命名规则的键应放在下标内。"; 键名={ test="表也可以包含表"; } } //新版也可以使用类json语法定义 vartab={ "a":123, "st...

  ILxlT0HtFgJu   2024年03月18日   58   0   0 Python

条件判断语句 使用if、elseif和else来对变量或表达式进行判断 io.open()//打开控制台 vara=1 if(a1){ io.print("if") } elseif(a11){ io.print("elseif") } else{ io.print("else") } 也可以使用select对变量或表达式进行判断,也就是JavaScript中的switch语句,有一点不同的是,无需每个case都写一个break。 io.open()//打开控制台 vara=1; select(a){ case1{//判断1=a是否为真 io.print("a1") //其他代码 ...

  ILxlT0HtFgJu   2024年03月16日   51   0   0 Python

前言 想开发一些小工具,所以想系统性的学习一遍aardio,之前都是哪里不会搜哪里,顺便写些教程。我的主要语言是Python,所以会以Python作为对比来加深印象。 aardio的基础语法和JavaScript基本类似,如果你学过JavaScript,aardio很容易上手。下面的文档来自官方文档[1] 问题搜索途径 基础语法看:https://bbs.aardio.com/doc/reference/ 一些库的使用,获取文档有以下途径: aardio官方论坛(https://bbs.aardio.com),我一般用谷歌搜索site:bbs.aardio.com搜索内容 aardio官方公...

  ILxlT0HtFgJu   2024年03月15日   52   0   0 Python

前言 之前在看雪看到一篇关于视频号加密逆向的文章,想着自己复现一下,学习一下wasm逆向。 又发现文中提到的WeChatVideoDownloader软件已经开始收费了。不过收费也很合理,毕竟开发和维护都是需要时间成本的。 那就自己开发一个出来,原理看雪那篇文章已经说的很明白了,而且WeChatVideoDownloadergithub现有的代码,他的解密逻辑用的也是这篇文章中的,基本没做改动。 具体原理 WeChatVideoDownloader这个是使用electron开发的桌面程序,然后用代理来拦截视频的地址和解密需要的seed(decode_key),然后在electron调用解密的j...

  ILxlT0HtFgJu   2024年02月19日   85   0   0 Python

实现的功能 只要有人给你发了表情包,不管是群聊还是个人发的,都将它保存到本地。也许某天斗图的时候就能用到,不过即使有了表情包,还需要一个检索功能,不然这一张一张看也太费眼睛了。 检索表情包 检索表情包的功能实现比较麻烦,至少需要两个模型:ocr和图片描述生成,如果更复杂点的话还需要分词算法、数据库等。 需要ocr应该很容易理解,表情包里面包含文字信息,使用ocr将文字提取出来,这个文字基本就可以作为检索的信息了。 如果表情没有文字,那只能使用一些模型,为图片生成一个简单的描述,然后将这个描述作为检索的信息。 搜了一下目前开源的模型里面没看到比较合适的。后面如果遇到了再做一个简单的表情包检索程序...

  ILxlT0HtFgJu   2024年01月20日   12   0   0 Python

效果 以下的步骤Win10和Win11是一样的,只需要在被控端设置,连接的电脑无需设置。 添加用户 设置-》家庭与其他用户-》将其他人添加到这台电脑-》我没有这个人的登录信息 也可以使用Win键+R然后输入Lusrmgr.msc或者controluserpasswords2来添加新用户,这里就不赘述了。 给用户添加远程连接权限 设置-》系统-》远程桌面-》选择可远程访问这台电脑的用户 修改组策略 win键+r打开运行框,输入gpedit.msc或者搜索框搜索组策略 计算机配置-管理模板-Windows组件-远程桌面服务-远程桌面会话主机-连接 找到限制连接的数量和将远程桌面服务用...

  ILxlT0HtFgJu   2024年01月15日   11   0   0 Python

Gitea 为什么需要自建仓库 原因只有一个:折腾。其实国内的码云加上github已经足够用了。 官方原话 Gitea的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建Git服务。我们采用Go作为后端语言,这使我们只要生成一个可执行程序即可。 并且他还支持跨平台,支持Linux,macOS和Windows以及各种架构,除了x86,amd64,还包括ARM和PowerPC 为什么不选gitlab 之前就是用的gitlab做私有仓库,但gitlab实在太臃肿了,启动并运行大概需要4G的内存,即使你精简一些服务的话,至少也得2G内存。后来发现了Gitea,测试了下很轻量,我一个使用...

  ILxlT0HtFgJu   2024年01月02日   10   0   0 Python

wslUbuntu默认只能打开命令行,看不到图形化界面,有些操作不方便。这里介绍两种方法来远程连接到wsl里 VNC 因为win10的wsl不支持systemd,所以这种方式只能是Windows11的系统,Window10只能用xrdp 1、禁用WSLg 在c:\users\用户名下新建一个.wslconfig文件,内容如下: [wsl2] guiApplications=false 2、安装桌面程序 可以先安装桌面程序的一个管理程序:sudoaptinstalltasksel-y 然后运行sudotasksel,选择需要的桌面程序安装(空格是选中,上下键切换,tab切到OK键),我这里选择...

  ILxlT0HtFgJu   2024年01月01日   14   0   0 Python

官方接口图 我实际会用到的就几个接口,背面的话就一个M.2固态的位置: 其中WIFI模块的接口应该也可以插2230的固态,不过是pcie2.0的速度,背面的接口则是pcie3.04的速度,差距还是挺大的。 开始安装系统 准备工作 一张内存卡(如果买的时候没有emmc的话) 下载并安装balenaEtcher 一个m.2固态硬盘 读卡器(可选,有的电脑能直接插内存卡) 下载系统镜像 可选镜像看官网,我选择的是第三方维护的Ubuntu 香橙派5plus下载的是这个文件: 如果不知道自己的设备下载的哪个文件可以先打开Wiki看一下,比如 也可以去https://joshua-riek....

  ILxlT0HtFgJu   2023年12月27日   13   0   0 Python

目录修整 目前的系列目录(后面会根据实际情况变动): 在windows11上编译python 将python注入到其他进程并运行 注入Python并使用ctypes主动调用进程内的函数和读取内存结构体 调用汇编引擎实战发送文本和图片消息(支持32位和64位微信) 允许Python加载运行py脚本且支持热加载 利用汇编和反汇编引擎写一个x86任意地址hook,实战Hook微信日志 封装Detours为dll,用于Python中x64函数hook,实战Hook微信日志 实战32位和64位接收消息和消息防撤回 实战读取内存链表结构体(好友列表) 做一个僵尸粉检测工具 根据bug反馈和建议进行细节上...

  ILxlT0HtFgJu   2023年12月26日   11   0   0 Python
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~