猿人学内部WEB-离谱的protobuf与jsvmp
离谱的protobuf与jsvmp0x0 请求响应分析请求响应都是加密的,就不贴图了,题目已经告诉我们这是protobuf了,我们直接使用blackboxprotobuf这个库来处理protobuf的序列化和反序列化。
我们先把请求体和响应体复制出来反序列化一下看看。可以用抓包工具,也可以直接在浏览器里复制。
然后将复制到的请求体和响应体用CyberChef转成base64格式,方便在python中使用。
1pip install blackboxprotobuf
12345678import blackboxprotobuf,base64 request_data = base64.b64decode('CAEQ5Y+4mgMY4I+4mgMgysufBQ==')print('request_data:\n',blackboxprotobuf.decode_message(request_data))response_data = base64.b64decode('CO+/vRkQ77+9KRjvv70pIO+/vRko77+9 ...
猿人学内部APP-借问酒家何处有【双向验证】
猿人学内部APP-借问酒家何处有【双向验证】
app版本:1.0.50
抓包工具:reqable(有坑)、charles、proxydroid
hook工具:frida
keystore-explorer:https://keystore-explorer.org/downloads.html
在线证书转换:https://myssl.com/cert_convert.html
keytool BKS支持:https://www.bouncycastle.org/download/bouncy-castle-java-lts/#download
0x0 先附上一张抓包成功的截图
0x1 绕过sslpinningfrida脚本下载地址:https://codeshare.frida.re/@akabe1/frida-multiple-unpinning/
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 ...
记录第一个ARM汇编还原案例
案例APK:https://github.com/lyousan/pic-host/raw/main/apks/ctf1.apk
目标:将核心算法由ARM32还原为C代码并正确运行。
前置要求:假定已经会一点C语言了,至少能看懂一级指针。
0x0 定位关键函数使用jadx反编译apk,类很少,关键方法很容易就能找到,最终方法的实现是在so层,使用IDA Pro打开对应的so文件,为了简化分析过程,这里选择32位的so进行还原。so层函数采用的静态注册,在导出表中可以直接搜索到目标函数。
经过IDA反编译之后可以明显看出关键函数就是j_TestDec。
TestDec函数如下,这就是我们待会儿要还原成C语言的汇编代码。
0x1 初步分析这次的主要目标是还原核心算法,整个so层函数的逻辑就大致分析一下,确定一下关键函数的入参即可。
123456789101112131415161718int __fastcall Java_com_testjava_jack_pingan2_cyberpeace_CheckString(JNIEnv *a1, int a2, int a3) ...
Selenium实现右键菜单选择
环境
selenium:3.141.59java:jdk1.8
效果在使用selenium进行一些自动化工作时,我们可能会遇到需要以新标签页的形式打开链接的场景,要实现这个功能有两种办法,这里主要记录selenium中的Actions类配合Java中的Robot类的实现方式。最终效果如下:
实现思路一 模拟操作通过selenium定位到页面元素,再通过Actions类实现鼠标右键,但是selenium并不能继续操作我们右键出来的菜单,当然也可以通过Actions中提供的鼠标移动方法,但是在真实环境下很难精准定位到鼠标应该移动到的位置,既然selenium的本质就是模拟用户操作,那同样的,在Java的Robot类也为我们提供了模拟用户操作的相关API,我们可以通过Robot类来模拟键盘的上下选择和回车,以达到右键菜单的选择。代码如下:
12345678910111213141516171819202122232425262728293031323334353637383940package com.yousan;import org.openqa.selenium.By;import ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment