APP逆向-so文件IDA调试入门
IDA Pro 7.0 下载https://www.newasp.com/soft/346032.html
静态/动态注册
当执行一个 Java 的 native 方法时,虚拟机是怎么知道该调用 so 中的哪个方法呢?这就需要用到注册的概念了,通过注册,将指定的 native 方法和 so 中对应的方法绑定起来(函数映射表),这样就能够找到相应的方法了。注册分为 静态注册 和 动态注册 两种。默认的实现方式即静态注册。
Android逆向技术–JNI的概念
Frida hook RegisterNatives用于得到动态注册的函数地址
https://github.com/lasting-yang/frida_hook_libart
用法:
1frida -U --no-pause -f package_name -l hook_RegisterNatives.js
猿人学 第十一题https://blog.csdn.net/zjq592767809/article/details/115201731
快捷键
tab 或 f5 转伪代码
资料:
Unidbg入门实战教程
A ...
APP逆向-猿人学-APP大赛-第二题-So文件剖析、Unidbg初试
题目分析定位到 ChallengeTwoFragment,hook 一下 sign 函数,直接右键 -> 复制为 frida片段就行
hook代码:
1234567let ChallengeTwoFragment = Java.use("com.yuanrenxue.match2022.fragment.challenge.ChallengeTwoFragment");ChallengeTwoFragment["sign"].implementation = function (str) { console.log('sign is called' + ', ' + 'str: ' + str); let ret = this.sign(str); console.log('sign ret value is ' + ret); return ret;};
hook结果:
可以看出参数很简单,就是 page:时间 ...
猿人学-APP大赛-第一题-Frida初试
如何用fiddler抓包参考:https://www.cnblogs.com/JKding233/p/16649489.html
先介绍一些前置知识点和环境配置
Frida 安装和运行pip3 install frida frida-tools
查看模拟器版本:
1234adb shellgetprop ro.product.cpu.abi>>> x86_64
下载对应 frida-server压缩包:(小于或等于本地frida版本)
解压缩,拿到里面的可执行文件:
1frida-server-16.2.1-android-x86_64
把可执行文件推送到手机里面:
1adb push frida-server-15.1.10-android-x86_64 /data/local/tmp/frida-server
启动 frida:
12345adb shellsucd /data/local/tmpchmod 755 frida-server./frida-server
配置接口转发,注意每次启动都需要配置:
12adb forward tcp:27042 ...
APP逆向-抓包方案汇总
Charles + Postern 方案
参考:https://blog.csdn.net/tianyi19/article/details/121254560
postern 下载:https://apkcombo.com/zh/postern/com.tunnelworkshop.postern/
fiddler + postern 方案
参考:https://blog.csdn.net/weixin_42750816/article/details/115797860
适用于app设置了不走代理 NO_PROXY,例如:https://app2.scrape.center/
fiddler 的配置就不赘述了,讲一下如何配置 postern
首先模拟器安装 postern,打开,分别清空 配置代理、配置规则
然后添加代理服务器,配置如下,保存
添加规则,保存
然后打开VPN,就可以看到fiddler 截获到请求了
r0capture hook 方案https://github.com/r0ysue/r0capture
环境
雷电模拟器9
安卓9
frida、frida-s ...
小白学黑客 - 文件上传漏洞
web安全的根本性原因:前端的输入是不可信的
漏洞链:各个漏洞之间的相互配合
源码审计:逻辑的安全性 & 调用函数的安全性
FUZZ:自动化模糊测试
工具篇
Burp Suite:请求拦截工具
Curl:命令行版本的Postman
HackBar 插件:渗透工具库
F12 -> HackBar 标签
https://chrome.google.com/webstore/detail/hackbar/ginpbkfigcoaokgflihfhhmglmbchinc
Wappalyzer 插件:网站分析工具
https://chrome.google.com/webstore/detail/wappalyzer-technology-pro/gppongmhjkpfnbhagpmjfkannfbllamg
漏洞发布平台:https://www.exploit-db.com/
渗透测试平台bwapp安装12docker pull registry.cn-shanghai.aliyuncs.com/yhskc/bwappdocker run -d -p 0.0 ...
web逆向-AST混淆还原实战
这里只列举出 visitor 的内容,其他配置参考原理篇
字符串还原123456789const visitor = { StringLiteral(path) { // 以下方法均可 // path.node.extra.raw = path.node.rawValue // path.node.extra.raw = '"' + path.node.value + '"' // delete path.node.extra delete path.node.extra.raw }}
效果:
12console['\u006c\u006f\u0067']('\u0048\u0065\u006c\u006c\u006f\u0020\u0077\u006f\u0072\u006c\u0064\u0021');const name = "\x68\x65\x6 ...
web逆向-Javascript常见语法
在html里面设置cookie12345678910111213141516<script> // 设置cookie的函数 function setCookie(name, value, days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days*24*60*60*1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } // 调用函数设置cookie setCookie("FSSBBIl1UgzbN7N80S", "s1LcNviQmjHdZZfJlqwSLqH ...
web逆向-AST原理和环境准备
之前碰到有混淆的代码,都是依靠别人写好的插件,能不能还原听天由命
如果要冲高级工程师的话,AST是必备的一项技能,刚好现在有空,就花时间来研究一番……
参考资料:
K哥爬虫 - AST入门:https://mp.weixin.qq.com/s/fIbPuNMs5FRADJE5MOZXgA
崔庆才《网络爬虫开发实战 第二版》 AST 相关章节
环境准备:
AST 在线解析网站:https://astexplorer.net/
纯白色实在太过亮眼了,官方没有提供模式切换,不过这里有DIY方案,效果如下:
安装babel功能包:npm install @babel/core @babel/parser @babel/traverse @babel/generator @babel/types
解析代码 -> 语法树(parser)12345678910// 从文件读取const fs = require("fs");const code1 = fs.readFileSync('code.js', 'utf-8'); ...
web逆向-补环境笔记
补环境框架的搭建
js逆向补环境原理及基础知识 - 爬虫之家
js反爬检测原理及方法 - 爬虫之家
补浏览器环境框架之调试环境搭建 - 爬虫之家
浏览器环境基本框架设计及补window环境 - 爬虫之家
js逆向今日头条“补浏览器环境” - 爬虫之家
node、v8和chrome的关系
经常检测的六大属性,浏览器对象查询:https://developer.mozilla.org/zh-CN/docs/Web
window
screen
history
navigator
document
location
global (node对象)
优质范文
多个开源的js补环境框架测试 - Python成长路 - 博客园
vjstools自动补环境参考:
221JS逆向:v_jstools自动补环境
十一姐:https://www.bilibili.com/video/BV1Ap4y1K7F3/
插件地址:https://github.com/cilame/v_jstools
安装步骤:直接下载 .zip文件然后解压,在chrome的扩展程序管理界面加载文件夹,就能安装插件了
使 ...
web逆向-知乎新版x96逆向分析
调试断点什么的废话就不说了,直接扣代码,搜 __g._encrypt 就行
还是按以前一样,修改函数名,运行看看
可以运行,而且每次结果都不一样,这里我就不去校验了,直接下结论,这结果是错误的,和网页的有差别 🥶🥶🥶
补充了 atob 函数后,还是只能在浏览器环境运行,node环境运行不了,看来是检测了环境
参考大神文章:https://blog.csdn.net/zjq592767809/article/details/126512798
产生的是随机结果,看看能不能 hook 随机数 或 时间戳
123Math.random = function(){ return 0.50};
算法的分析还原过程,大佬的博客已经写的很清楚了,我这里来写一下 搜索接口 /api/v4/search_v3 的注意点
注意点 一请求主链接,获取 _xsrf 参数
注意点 二访问 /udid 接口时,请求头要带上 x-xsrftoken 参数
没有上面的步骤的话,请求就会触发知乎的验证码机制
x96.py
12345678910111213141516171 ...