- 博客(165)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 微信公众号采集方案(基于Windows逆向)
引言目前微信公众号采集基本只有几种特定的方法了搜狗微信无法采集历史了,而且搜索也不按时间排序。获取的数据的价值不高,不过可以通过他来获取公众号的biz。微信公众平台微信公众平台虽然可采集历史,但限制很大,没抓多少就被封接口了。安卓端微信网上很多关于xposed hook微信公众号实时推送文章的一些采集方案,这个能用。但是只能使用旧版微信,新版微信对xposed有检测。而且旧版微信会限制刚注册的微信号登陆。不过有方法解决:hook掉检测的代码,目前我还做不到这个程度。我见过有大佬实现
2020-11-02 09:17:37
13357
28
原创 将手机作为服务器运行docker服务
目前手机的配置并不低,即使是2019年生产的一加七Pro,配置也有12+256,CPU是骁龙855,作为服务器运行着配置绰绰有余了,二手的价格现在是400左右也能接受。相对于是自带ups电源的便携低耗docker服务器,还能同时使用安卓系统,配上adb远程做云手机也可以。要想原生支持docker不仅需要root,安卓内核还需开启docker需要的内核参数。在安卓手机上运行原生docker。当然还有一些不root运行的方法,只是效率较低,我就不考虑了。
2024-07-26 21:59:44
493
原创 Ubuntu上编译多个版本的frida
下一篇文章说一下怎么魔改frida去特征,不过现在很多APP和壳的检测都比较严格了,去特征的frida也可能过不了检测,还得自己能会找监测点去过检测。的282行也看不出什么猫腻,但可以知道的是在构建gn的时间出错的。查看这个文件发现是python命令没找到,看了下确实没有,因为现在Ubuntu自带的是python3,之前从。这个一般不用操作,当你使用make编译时,如果不存在默认会下载编译好的,这里就只是提一下。,这样不会污染全局环境,如果你想编译frida16的话,再写个。这个不显示具体的错误,看。
2024-07-25 09:37:49
716
原创 在安卓手机上原生运行docker
之前的文章(香橙派5plus上跑云手机方案一 redroid(带硬件加速))在Ubuntu的docker里运行安卓,这里说下怎么在安卓手机下运行docker,测试也可以跑Ubuntu。想在手机上运行docker想的不是一天两天了,其实很久之前就有这个想法了,只是奈何安卓内核一直编译不通过。现在觉得过了那么久,技术应该有点提升了,觉得我又行了,所以又来试试。
2024-07-18 10:31:34
1645
原创 Python微信机器人) 批量检测好友状态(对方无感知)
之前写的文章(写一个新的Python微信机器人)里提到的机器人文档更新有点慢,主要我是想以文章的形式来说一说插件的功能,还能展示下效果,但是一直都忙的很。
2024-07-15 16:14:40
911
原创 编译打包自己的云手机(redroid)镜像
香橙派5plus上跑云手机方案一 redroid(带硬件加速)香橙派5plus上跑云手机方案二 waydroid还有一个cuttlefish方案没说,后面再研究,cuttlefish的优势在于可以自定义内核且selinux是开启的,缺点是依旧无法调用GPU,操作起来会很卡。这篇文章先说一下怎么编译redroid的docker镜像,方便后面修改源码定制镜像。不过再怎么定制也过不了大厂的风控,主要是redroid中的selinux无法开启,很容易被检测出来。
2024-07-12 10:37:02
1000
原创 香橙派5plus上跑云手机方案二 waydroid
上篇文章香橙派5plus上跑云手机方案一 redroid(带硬件加速)说了怎么跑带GPU加速的redroid方案,这篇说下怎么在香橙派下使用Waydroid。
2024-07-09 14:55:17
1454
原创 香橙派编译linux内核支持ebpf和虚拟WIFI
上一篇文章香橙派5plus上跑云手机方案一 redroid(带硬件加速)中说了怎么运行redroid,这篇补一下怎么修改参数编译内核。
2024-07-08 10:23:12
889
原创 香橙派5plus上跑云手机方案一 redroid(带硬件加速)
折腾这玩意倒不是为了用来玩游戏啥的,只是想在逆向APP的时候少一点对手机的依赖。毕竟手机刷机步骤也挺烦,一不留神还容易变砖。像一些对环境检测不严格的APP就可以在上面测试,也方便后面更改系统源码刷机。不过可惜的是无法自定义内核(redroid和Waydroid都是走的容器方案,和主机共享内核),想自定义内核只能用谷歌的cuttlefish或者avd,但是这些在arm上的支持很有限,可以运行但也是没有GPU加速,后面折腾下cuttlefish。
2024-07-05 09:20:00
1231
原创 写一个新的Python微信机器人
之前写的Python微信机器人系列,看数据倒是有一些人关注,交流群也有两百多人,但是真正使用的没几个,而会去看文章学习原理的没有一个。Python其实并不适合做hook,注入Python去实现hook和主动调用甚至都不如frida,因为注入特征太明显,Python会将所有的dll都会加载到目标进程,而frida只会加载一个dll到目标进程。当然,注入Python在实现和写代码上是比frida要方便的,比如定义结构体,调用函数等,还可以使用Python丰富的第三方库。
2024-07-04 09:22:46
398
原创 一加12搞机(kernelsu+lsposed)
(如果没有 在应用->应用管理->显示系统应用->AI服务引擎(清除数据,在打开设置里的小布AI看看)),里面现在有AI消除和AI通话摘要的离线模型,可以下载下测试。试了下AI消除,还是比较强的,实用性也高。看论坛说是4月份就应该给一加添加这些功能的,但是现在都6月底了,还是没有什么消息,估计是不打算近期添加了,想多卖些亲儿子,吹一下自己家的AI手机。现在的配置最低也是12G了,再不济你也可以根据内存总量动态限制,比如12G限制10个,16G限制15个,24G限制25个这样不是更好。找了个全量包来刷,。
2024-06-24 14:06:43
1067
原创 aardio实战篇) 下载微信公众号文章为pdf和html
之前在PC微信逆向) 定位微信浏览器打开链接的call提过要写一个保存公众号历史文章的工具。这篇文章先写一个将文章保存成pdf和html的工具,后面再补充一个采集历史的工具,搭配使用就能保存所有历史文章到本地。如果是在浏览器打开文章,想保存成pdf和html很简单,右键打印(pdf)和另存为(html)就可以了。想在程序里实现则需要一些自动化工具,例如playwright、puppeteer等,但这些都没有移植到aardio。
2024-06-17 14:03:59
732
原创 PC微信逆向) 定位微信浏览器打开链接的call
最近想写一个免费的微信公众号自动采集的工具,我看公众号文章下载需求还挺多的。搜了下github,免费的工具思路大多都是使用浏览器打开公众号主页获取到需要的请求参数,例如key、uin等,然后再用参数请求历史。
2024-06-13 17:01:23
1040
1
原创 一加七Pro刷Lineageos21(kernelsu+MicroG)
前几天我已经刷了Lineageos21(一加七Pro刷lineageos21(kernelsu+gapps)),但是体验下来有两个很严重的bug:无法接打电话,没有声音。收短信倒是很正常,但电话打进来只会显示号码,不会显示接听界面(对方那边显示正在通话中,也就是挂断了),拨打电话会显示已结束。测试发现是刷了kernelsu内核导致的,如果只是刷gapps使用正常,所以想自己编译一个kernelsu试试。
2024-06-07 09:26:55
1916
原创 一加七Pro刷lineageos21(kernelsu+gapps)
之前手机一直用的PixelExperience系统,也为一加七编译了kernelsu,具体可以看一加7Pro为PixelExperience13系统编译kernelsu但前些时间官方宣布停更,而且PixelExperience有些应用存在风控问题,最近想换回lineageos。这篇文章没啥技术含量,只是记录下刷机过程。
2024-05-30 10:44:31
1045
原创 多个开源的js补环境框架测试
在做js逆向时肯定会遇到补环境的情况,看到github开源了好几个补环境用的框架,这篇文章做个测试,看看哪个比较好用。说是补环境框架,但是我找了半天没找到哪里有吐环境,搜索了下代码和文档。发现只有部分对象和函数可以监听并打印日志,比如cookie、eval等。所以这其实是一个模拟环境的框架,修改了jsdom容易被检测的地方,可以直接运行网站的js出结果。并不能吐环境出来,然后自己补环境。使用还挺方便的,可惜的是作者弃坑不维护了。很多环境没有补全,还得自己手撸。不过吐环境效果也还可以,都把环境打印出来了。
2024-05-07 17:02:36
891
原创 aardio爬虫) 实战篇:逆向有道翻译web接口
之前的文章把js引擎(aardio封装库) 微软开源的js引擎(ChakraCore))写好了,这篇文章整点js代码来测一下bug。
2024-05-06 09:32:59
597
原创 aardio封装库) 微软开源的js引擎(ChakraCore)
做爬虫肯定少不了JavaScript引擎的使用,比如在Python中现在一般用pyexecjs2: rpc调用nodejs,需要安装node: rpc调用deno,需要安装deno: 调用ChakraCore.dll。
2024-05-01 17:49:29
1664
原创 aardio爬虫) 实战篇:采集自己的公众号粉丝列表
只有自己封装库的时候,才知道造轮子有多累。之前使用Python的时候,基本都只需要import,随便哪个功能都有人写好轮子用。不过造轮子也有好处,可以了解一些比较基础的知识。其实aardio也有很多已经造好的轮子可以用,只是因为只有作者在维护,而且没有一个活跃的社区,所以很多方面有些缺失,比如爬虫方面。但是aardio写一些小工具确实很方便,打包成exe也比较小,所以我来造这个轮子。虽然微信公众平台开放了API,但是很多接口订阅号都用不了,比如获取粉丝列表,不过我们可以在后台看到,那用爬虫也能实现。
2024-04-29 14:49:35
462
原创 写一个监控采集公众号文章的插件
微信关注了很多技术类的公众号,但是一直都没看,所以想先把文章下载下来,放着以后可能一定会看。之前写的Python微信机器人系列文章里提到了如何hook微信的实时消息,实时消息里也包含了公众号文章的推送,可以获取到文章的标题链接和发布时间,而且获取的很及时,基本公众号已发文推送就能收到。这样我们可以在收到文章后请求到正文然后保存成html,这样也可以防止文章被删除。后面有时间顺便把这些公众号的历史文章也下载保存成pdf或HTML。
2024-04-19 09:41:44
961
2
原创 搭建一个问答交流平台
弄了个视频号下载后,同一个问题每天都会被问,回答的有点烦了。想了想根本原因还是缺少一个交流平台,微信群的话,刚进群的看不到之前的聊天记录。想整个知识星球,发现只能弄个收费的,免费的需要激活码才能创建。而有些人不会使用github,所以这篇文章写一下如何使用开源项目搭建一个问答平台。本来是想弄个论坛,但是在搜索的过程中发现这个问答平台更符合我的要求(支持搜索、轻量和搭建简单)。
2024-04-18 13:43:53
343
原创 Python调用微信OCR识别文字和坐标
大概流程是使用mmmojo.dll这个dll来与WeChatOCR.exe做通信的,也是用它来启动和关闭WeChatOCR.exe进程的。就以上面github里的C++代码为例,代码里是将它设置为类的this指针,然后在建立连接后调用。搜了一下,在Python里也可以实现这样一个操作,把这个值设置成Python类对象,然后就可以在回调函数访问这个类对象。代码怎么实现的就不多说的,感兴趣的可以看github的源码。,如果m_connect_con_var变量没有被设置,说明没有连接成功,就一直等待。
2024-04-15 21:08:38
1064
2
原创 aardio教程五) 写Python风格的aardio代码(字符串篇)
熟悉一个新的语言最麻烦的就是需要了解一些库的使用,特别是基础库的使用。所以我想给aardio封装一个Python风格的库,Python里的基础库是什么方法名,aardio里也封装同样的方法名。这样就不需要单独去了解aardio里一些方法的使用细节,可以很方便的将Python代码改成aardio代码。
2024-04-07 09:34:47
468
原创 aardio教程四) 理解名字空间(namespace)
其实aardio中的名字空间就是用table来实现的,导入一个名字空间,就是往table里添加了一个键值对,键是名字空间的名称,值则是另一个table(名字空间)。而global本质上也是一个table,定义的函数和导入的其他名字空间都是global的成员,可以像表一样使用global。在namespace里导入的名字空间也会放一份到global里,比如module里的代码是下面的,上面的代码依然可以执行。为了验证这一点,我们可以在导入一个名字空间后,删除掉这个键,看看这个名字空间还能不能被使用。
2024-04-02 17:40:46
538
原创 aardio教程) 搭建自己的扩展库仓库
aardio中有些经常使用的库,换个项目总需要复制一下,还不便于修改。虽然可以直接把它放到aardio\lib目录下,也是不便于共享给其他人使用。最近偶然翻到编辑器里的工具->开发环境->扩展库发布工具,就想着可以像官方一样,发布自己的扩展库,也便于分享给大家使用,最好能像官方扩展库一样在线安装。
2024-03-27 08:59:13
1469
原创 aardio封装库) sunny抓包工具的使用
基础库的使用,比如string、table等基础控件的使用,比如listview、tab等aardio和Python交互,比如给Python写个界面自带的范例程序我写的一些小程序当然,我的理解也是很基础的,特别是在界面设计上,我都是用的默认控件的默认设置,不会去自定义控件内容。要想做出特别炫酷的程序,你还得依赖其他语言和工具的基础。例如用HTML和CSS来实现界面。
2024-03-25 09:25:57
1465
原创 aardio教程三) 元表、元方法
基础库的使用,比如string、table等基础控件的使用,比如listview、tab等aardio和Python交互,比如给Python写个界面自带的范例程序我写的一些小程序当然,我的理解也是很基础的,特别是在界面设计上,我都是用的默认控件的默认设置,不会去自定义控件内容。要想做出特别炫酷的程序,你还得依赖其他语言和工具的基础。例如用HTML和CSS来实现界面。
2024-03-20 10:30:48
1120
原创 aardio教程二) 进阶语法
/定义类class 类名字{//构造函数可以省略ctor( 构造参数列表 ){//构造函数代码类属性 = "属性值";类方法 = function(参数){和定义一个table的语法基本一样,只是类可以创建出对象var 对象 = 类名字();io.print(对象.类属性)对象.类方法();
2024-03-17 22:22:55
641
原创 aardio教程一) 基础语法-上
想开发一些小工具,所以想系统性的学习一遍aardio,之前都是哪里不会搜哪里,顺便写些教程。我的主要语言是Python,所以会以Python作为对比来加深印象。aardio的基础语法和JavaScript基本类似,如果你学过JavaScript,aardio很容易上手。下面的文档来自官方文档[1]
2024-03-15 12:44:52
1322
原创 写个视频号下载工具
之前在看雪看到一篇关于视频号加密逆向的文章,想着自己复现一下,学习一下wasm逆向。又发现文中提到的软件已经开始收费了。不过收费也很合理,毕竟开发和维护都是需要时间成本的。那就自己开发一个出来,原理看雪那篇文章已经说的很明白了,而且github现有的代码,他的解密逻辑用的也是这篇文章中的,基本没做改动。
2024-01-27 18:10:52
2160
1
原创 使用Python监听并下载微信聊天表情包
使用Python运行这段代码,就会将Python注入到微信,并且开始监听微信收到的消息,然后将监听到的消息依次传递给msg_plugins指定的插件列表。使用Python来监听微信消息,如果收到表情包消息就提取里面的链接并下载,因为表情包xml消息里有一个未加密的链接。插件列表是有顺序的,在执行时会依次执行,如果之前的插件修改了消息字典,那么之后的插件得到的消息字典就是修改后的。如果表情没有文字,那只能使用一些模型,为图片生成一个简单的描述,然后将这个描述作为检索的信息。
2024-01-19 13:48:38
604
3
原创 Windows实现多用户同时远程连接
下面这个设置是同一个用户可以登录多个(没什么意义,因为进入的桌面环境不一样,看不到对方在干嘛)以下的步骤Win10和Win11是一样的,只需要在被控端设置,连接的电脑无需设置。设置-》家庭与其他用户-》将其他人添加到这台电脑-》我没有这个人的登录信息。设置-》系统-》远程桌面-》选择可远程访问这台电脑的用户。可以看到是正常工作的,如果不是正常工作github的。测试一下,如果出现下图,则需要重启电脑。重启后就可以同时连接该电脑的多个用户,也可以使用Win键+R然后输入。文件,再打开应该就可以了。
2024-01-15 10:35:29
1377
原创 使用Gitea搭建自己的git远程仓库
之前就是用的gitlab做私有仓库,但gitlab实在太臃肿了,启动并运行大概需要4G的内存,即使你精简一些服务的话,至少也得2G内存。后来发现了Gitea,测试了下很轻量,我一个使用作为自己的代码仓库很方便,资源需求也不高。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了 x86,amd64,还包括 ARM 和 PowerPC。,我一般会去dockerhub看一下它支持的架构和最新的版本,因为我是在arm机器上跑的。后面容器内的端口一样,如果改了会进不去Web。
2024-01-02 10:23:15
1443
原创 wsl中的Ubuntu安装远程桌面
正常情况下两个都是可以的,但是最近更新后,我发现第一种方法里运行Gparted的时候直接闪退,然后在连上去就不显示任何东西了,第二种方法如果session选的是Xorg也是这种情况,选Xvnc就正常。不清楚是什么原因,目前先用着xrdp的Xvnc,后面看看更新会不会解决这个bug。
2023-12-31 20:43:58
1489
原创 香橙派5plus从ssd启动Ubuntu
其中WIFI模块的接口应该也可以插2230的固态,不过是pcie2.0的速度,背面的接口则是pcie3.0*4的速度,差距还是挺大的。刷入前先解压下下载的系统镜像,最后得到一个img格式的文件,然后在balenaEtcher里选择这个镜像和你的内存卡,点击。假设你现在已经将固态硬盘、内存卡和网线都插上了,现在只需要接通电源后将HDMI的接口接到显示器上,按下电源按钮,等待片刻。查看下固态是否被识别,我以前买的杂牌固态不识别,换了下双十一新买的识别正常。,我选择的是第三方维护的。,等待烧录成功的提示。
2023-12-27 14:41:54
1871
原创 【Python微信机器人】第六七篇: 封装32位和64位Python hook框架实战打印微信日志
context这个结构体获取的就是当执行到这个地址时的寄存器的值,这个和你用x32dbg看到的寄存器的值是一样的。值的类型都定义成DWORD,如果寄存器是类型是其他类型,比如字符串或结构体,你需要在Python里做相应的转换,可以参考下面Hook日志的代码。上上篇文章说的以后只更新32位版本这句话收回,以后会同时更新32位和64位的最新版本,已经可以在Python中使用Detours来hook 64位版本。回调函数的参数跟被Hook函数的参数必须一样,如果参数很多,你也可以用。
2023-12-26 14:53:32
1311
3
原创 keystone和beaengine的编译
第二个是编译dll,我用不到dll就不勾选了,如果勾选了则不会生成lib库了。, 接着会弹出一个选择Visual Studio的版本,这里我选择2017,平台选择Win32,也就是32位(x86),接着点。, Name填BEA_ENGINE_STATIC,type就默认BOOL,value勾选它,在点击OK。第一个位置填的是刚才下载的源码路径,第二个则是创建后的项目路径,然后点击左下角的。这个文件就是后面要用到的文件,下面beaengine就不说的这么详细了。因为我填写的路径不存在,提示我是否创建,点。
2023-12-24 11:16:17
509
原创 封装Detours用于Python中x64函数hook
我为啥要定义成二级指针?因为为啥DetourAttach要把它定义成二级指针?开始我也不理解这个问题,直到我想在Python里调用原函数,发生了无限递归的异常。为啥C++写的代码不会触发无限递归,它同样是用的函数指针来调用,要想知道原因只能自己使用x64dbg调试看看。经过漫长的调试发现,我传进去的ppPointer指针指向的值会被修改,它不在指向原函数(被hook函数),而是指向Detours新构建的一个函数指针,这也就能解释为啥不会无限递归了这里再接上。
2023-12-22 17:51:09
854
原创 使用汇编和反汇编引擎写一个x86任意地址hook
我试了下用vs2017编译不通过,看了文档和issue,必须得使用vs2013及以下的版本才能编译成功,所以就放弃了,改成使用keystone。将这个编译成dll就能在Python里加载了,不过dll只能用于hook当前进程,这是因为函数不能跨进程调用,你创建的回调函数,其他进程无法调用。这样操作比较繁琐,每次hook都要定义一堆东西,还得自己补充hook地址被修改的汇编指令,最重要的是这种hook无法扩展到Python里使用。这里的4个0x90是存放hook回调函数的地址,接着写入回调函数地址。
2023-12-21 09:42:20
1370
验证码数据集.zip
2020-07-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人