- 博客(32)
- 收藏
- 关注
原创 最新指定frida版本安装方式,超简单
再用国内源安装即可,很奇怪之前也试过别的,但都不能用,偶然找到这个可以用。高版本frida在用时会出现各种问题,找了很多终于找到一个能用的。先把原来frida和frida-tools卸载掉。
2025-06-06 16:08:22
188
原创 js补环境工具使用技巧、补环境实例、重点环境检测点详解
补上window、location、document、navigator,并删除__filename、__dirname、global、(浏览器中没有这两个环境),navigator也要删除,因为nodejs会内置一个navigator属性,在自己补充环境时可能会造成一些错误,同时对一些常用检测环境针对性还原。一般来说补环境的基本流程是:先补基础环境,添加代理,在加密代码运行报错的地方去源代码处打断点分析具体缺少什么环境,代码整个运行不报错后再用打印环境工具分析或者去代码中进行插桩进行调试。
2025-04-28 16:50:58
1210
1
原创 记使用AScript自动化操作ios苹果手机
3.与官方文档不同的是ios15没有开发者模式,只要在爱思助手实时屏幕投屏成功就证明链接成功了。公司业务需要自动化操作手机,本来以为很困难,没想到使用AScript工具出乎意料的简单,但是还有很多坑存在,写个博客记录一下。根本用不到,即使安装好插件也是调用的web端的代码。1.手机上下载AScript和WDA框架两个软件,下载很简单,直接扫官方文档中的二维码就行。想在手机输入框输入文字,需要在手机上把键盘设置成as键盘才行。创建一个新工程,域名端口是自己手机AScript软件里的。手机:iphone7。
2025-02-12 17:33:44
1012
1
原创 hook so层实例流程
NewStringUTF函数是在so层通过c或者c++代码进行运算后的结果,返回给java层,在c里面是一个char*也就是一个指针返回给java层调用,需要转换一下类型,就需要用到jni函数里的newStringutf。使用下面hook代码验证所so文件方法是否存在(文件不存在时换种hook方式,比如包名换成进程id)frida-server版本:frida-server-16.6.6-android-x86_64。按tab键跳转到图表界面,再按u键跳转到汇编代码页面,获取函数的偏移地址。
2025-02-08 17:06:04
381
1
原创 使用OkHttpLogger-Frida脚本hook okhttp方法教程和升级打印堆栈
okhttp相当于python中的request,是java中一个比较重要的链接请求函数,使用OkHttpLogger-Frida脚本可以方便的对okhttp进行hook,在一些app防止抓包的情境中可以用到。原版运行后跟抓包软件差不多,会打印出请求信息啥的,后续可自己修改脚本增加堆栈打印功能。只要在okhttp_poker.js中加入下列js代码即可。运行成功后会出现下面界面,输入不同函数就能运行不同功能。放入app中的/data/lcoal/tmp目录下。OkHttpLogger-Frida下载地址。
2025-01-24 15:19:17
620
1
原创 深入浅出彻底理清js中的原型链
什么是js原型链?原型链可以理解为嵌套多层的对象。在js代码中很多方法是可以复用的,如果每次都引用就会增加很多成本,于是js就给对象默认增加了一个内部属性"__proto__",通过这个属性就可以将原本独立的方法(原型)链接起来。当调用某个方法或属性就会去原型上去找,原型找不到就去原型的原型上找,直到最后没有就返回undefined。
2024-12-17 15:47:25
799
原创 js代码hook原理详解
hook就是修改原来代码中的函数、对象、变量、原型链从而达成自己的某些操作(常用是到这个函数或变量时就debugger),换句话说只要能实现这些功能的就是hook。用一个变量接受原来的函数,再重新定义原来的函数,这样其他地方调用的就都是修改后的函数,做完原来的操作后再将原来值的返回回去,不影响代码原来流程运行。set是对象中的内置方法,新增一个对象的值实际上是调用的对象中的set方法,比如。通常使用的第二种方法就是重新编写原来的函数,修改其中的逻辑,从而实现自己的目的。但是文档中是这样设置值的。
2024-12-13 14:50:15
603
原创 NDK动态注册学习-开发一个so层计算器
开始先打开layout下的activity_main.xml文件,为计算机写一个界面。点开后右键最下个选项可以把虚拟界面转化成代码界面。安装Android-studio和新建项目就不说了,默认已经安装好Android-studio并新建一个C++项目。新建一个c程序文件jni_calculator.c编写c程序。打开jni文件,编译文件配置不会的可以看我上个帖子。打开java下MainActive文件编写逻辑。
2024-11-22 14:52:16
347
原创 ndk开发普通字段和静态字段打印
把x86_64的文件夹拖到jniLibs文件夹中,我的虚拟机是x86_64的,如果后面展示失败,可以根据自己的机型一个一个试试,一共也没几个。编写.c文件中的内容,注意写的c语言代码,不能和c++代码混用,复制jni中的方法时,也要复制c语言方法。在java同级目录新建一个jni文件,再分别创建三个文件夹,把之前生成的.h文件放入其中并改名。编写Application.mk中的内容,这个文件中的内容是生成所有设备的so文件。编写文件完成后,在java文件夹同级目录,创建一个jniLibs文件夹。
2024-11-15 15:28:26
326
原创 使用ddddocr和孪生神经网络(Siamese network)配合识别图标验证码
大体思路是先用dddocr识别图片上的 图标位置,把识别出来的图标裁剪下来,把裁剪下来的图片手动进行分类,分类好后再使用Siamese进行训练。
2024-06-27 18:17:20
1125
2
原创 某红书小程序逆向流程
这周公司稳定运行的某红书搜索接口突然失效了,作为公司唯二的爬虫,公司由我负责解决,一开始我听到这个消息心情是复杂的,好的是失效的不是网页,网页每次稍微变动都要排查好久,忧的是老王并没有多少对小程序的经验,尤其是这种大ip。不慌,打开我的得力助手“雷神模拟器”把"内置系统证书,算法助手,drony,小黄鸟,lsp"全给安排上,能过掉这个组合的程序天下少有。不甘心的我继续在网上借鉴,最终找到一串神奇的代码,这老哥不知道怎么学的,这样写get请求,不过也恰恰是这样,才规避掉这次改动。
2024-06-21 17:05:14
2230
3
原创 某音商城hook so层进行抓包
某音(懂的都懂)版本27.8 ida7.7全插件版(一定要下载全插件版) 打开mt工具,进入lib文件找到libsscronet.so文件,直接复制一份使用ida打开。
2024-04-03 18:12:13
1884
3
原创 python中因为双引号\“导致nodejs和python使用MD5加密结果不一致的解决办法
使用md5加密一个字符串时,如果含有\",那么python调用nodejs加密和直接使用nodjs中加密的结果是不一样的。这是因为在js中\"被识别成了\"所以自动转成了\\",在python中\"则是"的意思所以导致最后结果出现了差异。所以如果要结果以js中为准的,就要让python中的\失去转义的作用,在字符串开头加个r就行了。如果结果以python中为准的就将js中\\"替换成"就行了。
2023-12-25 16:25:17
285
原创 vscode无环境联调显示找不到node-inspect
根据我的研究,可能是nodejs低版本的时候,会自动把全局安装的模块配置到环境变量中,现在高版本不自动配置,所有找不到。配置完launch.json文件后显示找不到node-inspect。我们只要把模块的终端打开文件的绝对路径,填上去就行了。全局安装后就有这个目录,把路径json文件中就行了。
2023-12-01 18:01:22
339
1
原创 xhs列表页全流程解析
分析过程中发现,代码中的每一步都经过这儿,每一个字符的打印都是在这儿,所以payload参数内容一定就在生成之前上一步。这里有一个小细节,只有_ace_66的值为图上这种值时才能hook上,具体原理不知道,有知道的大佬可以告诉我。hook到这儿,突然发现打印出来加密b64之前的参数了,我们找的也是这个参数,现在这个栈也没必要分析了。hook一下_ace_936更好,但是这个参数不是全局变量,没法hook,只能hook这个列表中的参数。进入加密代码,没有找到任何有价值的东西,只找到后加密参数返回的地方。
2023-11-30 15:21:49
10851
原创 pixel手机修改adb权限
我的手机屏坏了,只能通过adb连接手机,要用新电脑调试时才想起来,计算机第一次通过adb连接手机时会弹出上面的框,需要自己点击同意后才能通过adb连接手机。找到根目录中的default.prop文件,修改ro.adb.secure=0即可。"允许USB调试吗?这台计算机的rsa密钥指纹如下......"找了一下午找到一个方法,据说可以把手机安全模式关掉。具体好不好使还得等我用上新电脑再说。
2023-11-12 19:36:17
464
1
原创 frida java层加密通杀算法 自吐脚本算法
直接hook所有常用加密,答应出参数、加密结果和堆栈。3.分析打印结果(输出较多,一般直接搜索加密生成的值)网上已经有现成的js代码,经过我的测试跑通之后发布。1.找到app运行pid,填入程序中启动。2.找到需要hook的位置运行程序。更多功能等待自己探索......
2023-11-12 19:26:39
2205
原创 有zan验证码js逆向解决
均匀滑动一下代码滑到头,复制生成轨迹列表,然后使用python把里面的mx值逐个相加,加到滑块需要移动的距离,再取出来即可。分析后得知i值就是验证码滑动的距离,o值是之前响应回来的cy参数(只有刷新页面时才出现一次),r值固定,n值是轨迹坐标列表,mx相加即为i值(最后才知道根本没校验,直接置空就可以)。值得注意的是在运行aes之前运行了一个B函数需要注意一下,这个只有才刷新页面后才调用一次,之后就不再调用。需要注意的是的在识别之前需要把图片的下载下来,下载的时候要把图片设置成正确的大小,渲染大小为准。
2023-10-26 15:58:13
547
原创 ddddocr安装失败、安装错误、终极解决办法
可能需要安装库,要不然会报一个缺少模块的错,确什么补什么就行了。我这儿安装了一个onnxruntime就ok了。把dddocr文件直接复制到你的项目目录下调用即可。下载完成解压后是这个样子的。去github下载源码(
2023-10-02 18:23:55
2138
2
原创 某市西城区总工会爬虫js逆向流程
那么就暂时可以确定有两个加密的地方,一个是cookie一个是链接加密,后来经过分析可知跳转的加密链接所带的cookie是首页响应setcookie,那么就只要针对链接中的加密参数进行逆向就可以了。5.这个网站有一个有意思的地方就是,它的debugger不是无限的,调用n次dubugger后才会去生成加密链接,在网页上直接选择不在此处暂停,在本地不用管直接就会跳过。3.代码中有两处格式化检测的js代码,直接搜索regex,将检测的变量换行删除即可过掉检测。最后js代码大功告成,直接按照网站逻辑请求即可。
2023-06-24 22:09:34
1579
1
原创 AST学习笔记
一棵树从file根节点开始,program代表所有代码,body下面expr...代表代码信息。variableDeclaration:变量声明节点。BlockStatement:块语句(函数里面的块)蓝色的key叫节点在node.js中以node存在。FunctionExpression:函数声明节点。new:NewExpression:new表达式。babel是node.js的ast第三方库.。MeberExpression:对象的成员。types:提供对象集合,操作生成节点。
2023-04-13 11:08:49
258
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人