- 博客(335)
- 资源 (69)
- 问答 (1)
- 收藏
- 关注
原创 1.4 IDA 桌面提示和技巧
1.4 IDA 桌面提示和技巧IDA 包含大量信息, 桌面可能会变得异常混乱。 下面的提示帮助你充分利用桌面的功能。对 IDA 而言, 你的屏幕越大越好。 为此, 购买一台( 或两个) 特大号的显示器吧!使用 View -> Open Subviews命令恢复你无意中关闭的数据显示窗口使用 Windows -> Reset Desktop 命令可迅速将桌面恢复到原始布局利用 Windows -> Save Desktop 命令保存你认为特别有用的当前桌面布局。 使用 W
2021-12-02 16:23:22
514
2
原创 1.3 IDA 桌面简介
1.3 IDA 桌面简介 (1)工具栏区包含与 IDA的常用操作对应的工具。 你可以使用 View Toolbars 命令显示或隐藏工具栏。 你可以使用鼠标拖放工具栏, 根据需要重新设定它们的位置。 带有单独一排丁具按钮的 IDA 的基本模式工具栏如图所示。用户可以使用 View -> Toolbars -> Advanced mode打开髙级模式工具栏。 髙级模式工具栏包含整整三排工具按钮。 (2)彩色的水平带是 IDA的概况导航栏, 也叫做导航带。 导航带是被加载文件地址空间的线性
2021-12-02 16:12:53
726
原创 1.2 IDA数据库文件
1.2 IDA数据库文件1.2.1 创建 IDA 数据库1.2.2 关闭 IDA 数据库1.2.3 重新打开数据库选择加载选项, 单击 OK 按钮关闭对话框后, 加载文件的工作才真正开始。 这时, IDA的任务是将选定的可执行文件加载到内存中, 并对相关部分进行分析。 随后, IDA 会创建一个数据库,其组件分别保存在 4 个文件中, 这些文件的名称与选定的可执行文件的名称相同, 扩展名分别 为.idO、idl .nam 和.til。.idO 文件是一个二叉树形式的数据库.idl 文件包
2021-12-02 16:08:44
1430
原创 1 启动IDA
1.1 启动IDANew ( 新建)。 选择 New 将启动一个标准的 File Open 对话框来选择将要分析的文件。 根据选择的文件, IDA 会显示另外一个或多个对话框, 你可以选择特定的文件分析选项,然后再加载、 分析和显示该文件。Go (运行)。 Go 按钮终止加载过程, 使 IDA 打开一个空白的工作区。 这时, 如果要打开一个文件, 可以将一个二进制文件直接拖放到 IDA 工作区, 或者使用 File 菜单中的某个选项打开该文件。 前面介绍过, 使用 File New 命令可启动 Fi
2021-12-02 16:06:35
903
原创 EVAL混淆
EVAL混淆eval:可以执行js代码,有返回值对js进行base64编码eval中执行base64编码后代码//eval("function cc(){return '52Hz'} cc()")eval(atob("ZnVuY3Rpb24gY2MoKXtyZXR1cm4gJzUySHonfSBjYygp"))可设置多重转码加密,先转码52Hz得到NTJIeg==,在进行二次转码多重转码混淆//eval("function cc(){return '52Hz'} cc()")
2021-11-13 17:29:57
837
原创 Hook重载方法
Hook重载方法无参重载有参重载注意#类.重载方法.重载方法.overload() @无参重载则不填,有参则需要填写utils.test.overload()无参重载import frida, sys# """标识多行字符串# @包名+类名jscode = """Java.perform(function () { var utils = Java.use('com.xiaojianbang.app.Utils'); utils.test.ove
2021-11-13 15:03:10
934
原创 Xposed使用技巧-反射
Xposed使用技巧-反射反射遍历所有方法和字段反射遍历所有内部类反射遍历所有方法和字段打印所有方法信息,不打印方法体 //12、反射获取当前类下所有方法信息并打印 @类的字节码 for (Method method : clazz.getDeclaredMethods()) { Log.i("52Hz", "Method:" + method.toString()); }//13、反射获取当前类所有字段 @类字节码
2021-11-13 14:23:15
1577
原创 Xposed Java反射大法
Java反射大法反射获取类方法并调用反射获取类字段并修改技巧反射获取类字段反射获取方法获取私有函数反射获取类方法并调用反射:在执行innerFunc函数之前获取reflect字段的值,并且调用ref1函数反射获取类字段并修改技巧反射获取类字段四种方法(clazz为类的字节码)获取公有字段:getField:获取类的字段getFields:获取当前类的所有字段:返回数组获取私有字段:不管什么类型都可以getDeclaredField:获取类的字段getDecla
2021-11-13 14:21:27
1724
原创 Xposed API详解
Xposed API详解Hook修改变量Hook普通方法回调函数XC_MethodHookXC_MethodReplacementHook获取参数与返回值获取参数获取返回值Hook构造函数无参构造有参构造Hook复杂函数Hook自定义类参数Hook替换函数与函数置空替换函数函数置空Hook内部类与匿名类内部类匿名类Xposed主动调用Hook修改变量静态变量(static):类被初始化,同步进行初始化非静态变量:类被实例化(产生一个对象的时候),进行初始化[外链图片转存失败,源站可能有防盗链机制
2021-11-12 17:17:27
4020
1
原创 JS算法逆向实战
JS算法逆向实战抓包调试扣取JS方法一方法二方法三方法四抓包url:https://www.##.com/登录:##:123456调试搜索:password、useridmd5原生包含的值:123456789、abcdef、1732584193、271733879、1732584194…1、搜索password2、点进去然后代码格式化,再做查找注意:赋值可能出现的形式:##.password=#password=#(代码没有格式化删除空格,格式化后的代码需要加空格)##=
2021-11-11 20:54:32
1628
原创 Hook构造方法
Hook构造方法import frida, sys# """标识多行字符串# @包名+类名jscode = """Java.perform(function () { var money = Java.use('com.xiaojianbang.app.Money'); money.$init.implementation = function (a, b) { console.log("Hook Start..."); send(ar
2021-11-11 20:38:11
345
原创 常见数据加密
常见数据加密常见数据加密取盐系列MD系列md5SHA系列长度特征(123456)对称系列与非对称系列特征常见数据加密抓包调试扣取js改写本地运行#取盐校验 不可逆##MD系列md5 md2 md4 密码+md5##SHA系列sha1 sha256 sha512#对称加密AES DES 3DES#非对称加密RSA (私钥、公钥) 同一个明文可以生成不同密文取盐系列MD系列md5默认key:0123456789abcdef、0123456789ABCDEF长度
2021-11-10 21:56:44
789
原创 Frida-Hook普通方法
Frida-Hook普通方法查看包名Codeimport frida, sys# """标识多行字符串# @包名+类名# @类名+方法名jscode = """Java.perform(function () { var utils = Java.use('com.##.##.##'); utils.getCalc.implementation = function (a, b) { console.log("Hook Start...");
2021-11-10 15:12:48
368
原创 Xposed框架Android5.1下的环境配置
Xposed框架Android5.1下的环境配置Xposed框架Android5.1下的环境配置模块开发创建工程配置依赖打包配置清单文件CodeXposed标识文件编译APK测试消息过滤Xposed框架Android5.1下的环境配置Xposed框架XposedBridgeinstall模块开发模块开发创建工程1、新建项目2、新建lib目录,导入api包配置依赖打包3、将api.jar设置为可打开包,使用内部函数设好好了app下的build.gradle会显示依赖lib包
2021-11-09 22:04:13
3091
原创 Xposed环境搭建
Xposed环境搭建JDK1.8Android Studio3.5Android SDKSDK ToolsDemo APKJDK1.8尽量C盘,安装完成后并配置环境变量Android Studio3.5自定义安装,然后全选安装配置Android SDKSDK ToolsDemo APK
2021-11-09 21:56:38
2433
原创 七、跟值技巧
七、跟值技巧加密函数存在地方智能提示:Ctrl技巧1、找到方法,然后按下Ctrl,找到有智能提示的就是方法块,然后找到起始行2、看智能提示里面有没有你想要德数据,如果没有,则再往上一级查找f,然后看它的__proto__然后找到里面的open然后再找到open下的__proto__3、栈位置...
2021-11-09 14:29:39
223
原创 虚拟机详解
虚拟机Android5.0以下dalvik虚拟机(jit机制)Android5.0及以上(aot机制)注意:.dex => dexopt => .odex dalvik加载执行的是odex文件.dex => dex2oat => .oat art加载执行的是oat文件
2021-11-08 13:30:08
121
原创 一、Docker简介
一、Docker简介Docker 是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。Docker 是在 GitHub 上开发的 Moby 开源项目的一部分。Docker 公司,位于旧金山,是整个 Moby 开源项目的维护者。Docker 公司还提供包含支持服务的商业版本的 Docker。Docker公司Docker 公司位于旧金山,由法裔美籍开发者和企业家 Solumon Hykes 创立,其标志如下图所示。有意思的是,Docker 公司起初是一家名为 dotC
2021-11-08 13:29:35
705
原创 安卓逆向环境
环境JDK环境变量SDK环境变量adb 1.4.0—1.4.1升级https://developer.android.com/studio/releases/platform-toolsNDK环境变量
2021-11-06 12:45:14
165
原创 二、断点详解
二、断点DOM断点-3DOM事件断点-3XHR断点全局事件断点异常捕获断点WEB代码运行时间轴加载html代码-css-js运行js初始化用户操作(触发某个事件)调用了某段js加密函数给服务器发信息创建XHR对象,XHR-SEND接收到服务器数据解密函数刷新网页渲染DOM断点DOM事件断点XHR断点(发包断点)代码行断点 (手动下断点)源码 debugger全局事件断点(浏览器事件断点)异常捕获断点DOM断点-3重新选然后,属性发生改变或者样子发生改变才
2021-11-06 11:40:59
210
原创 十一、Shiro页面整合thymeleaf
十一、Shiro页面整合thymeleaf1、新建Spring Boot项目2、引入依赖3、页面中引入命名空间4、修改5、常见权限控制标签使用6、加入shiro的方言配置1、新建Spring Boot项目2、引入依赖<dependency> <groupId>com.github.theborakompanioni</groupId> <artifactId>thymeleaf-extras-shiro</artifactId&
2021-11-06 09:55:27
136
原创 十、Shiro标签展示用户身份信息
十、Shiro标签展示用户身份信息修改index.jsp修改index.jsp<%@page contentType="text/html; UTF-8%" pageEncoding="UTF-8" isELIgnored="false" %><%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %><!DOCTYPE html><html lang="en"><head
2021-11-06 09:53:17
179
原创 九、Shiro验证码
九、Shiro验证码验证码类VerifyCodeUtils修改UserController修改login.jsp修改UserController修改ShiroConfig验证码类VerifyCodeUtilspackage com.hz52.springboot_jsp_shiro.Utils;import javax.imageio.ImageIO;import java.awt.*;import java.awt.geom.AffineTransform;import java.awt
2021-11-06 09:49:48
669
原创 八、springboot缓存之Redis
八、springboot缓存之Redis无序列化1、引入Redis依赖2、配置Redis依赖3、创建RedisCacheManager4、创建RedisCache5、创建MyByteSource6、修改CustomerRealm序列化RedisConfigRedisCacheRedisCacheManager自定义序列化MySerializeUtil创建RedisConfigjackson自定义序列化MyByteSource无序列化1、引入Redis依赖 <!--redis整合springbo
2021-11-06 09:47:44
426
原创 七、SpringBoot缓存之EhCache
七、SpringBoot缓存之EhCache1、Cache作用2、使用shiro中默认的EhCache实现缓存引入依赖修改ShiroConfig测试1、Cache作用Cachehu缓存:计算机内存中一段数据作用:用来减轻DB的访问压力,从而提高系统的查询效率流程:2、使用shiro中默认的EhCache实现缓存引入依赖<!--引入shiro和ehcache--> <dependency> <groupId&
2021-11-06 09:43:57
171
原创 六、Spring Boot整合Shiro
六、Spring Boot整合Shiro6.1、整合思路6.2、创建spring boot项目6.3、引入shiro依赖6.4、配置shiro环境创建配置类ShiroConfig1.配置:shiroFilterFactoryBean2.配置WebSecurityManager3.配置自定义RelamShiroConfig配置自定义RealmCustomerRealm6.5、常见过滤器6.6、认证和退出修改UserController修改ShiroConfig修改login.jsp修改index.jsp修改C
2021-11-06 09:41:53
365
原创 五、Shiro授权
五、Shiro授权5.1、授权5.2、关键对象5.3、授权流程5.4、授权方式5.5、权限字符串5.6、shiro授权编程实现编程式注解式标签式5.7、开发授权基于角色进行控制修改CustmerMD5Realm修改testCustmerMD5Authenticator基于权限字符修改CustmerMD5Realm修改testCustmerMD5Authenticator5.1、授权授权,即访问控制,控制谁能访问哪些资源。主体进行身份认证后需要分配权限方可访问系统的资源,对于某些资源设有权限是无法访问的。
2021-11-06 09:03:15
121
原创 四、Shiro认证
四、Shiro认证4.1、认证4.2、shiro认证关键对象4.3、认证流程4.4、认证开发1、创建项目并引入依赖2、引入shiro配置文件并加入如下配置3、认证代码查看类的关系图4.5、自定义Realm1、shiro提供的Realm2、自定义Realm4、使用自定义Realm4.6、使用MD5和Salt1、自定义md5+salt错误加密(未加密)真正的加密使用MD5+Salt使用MD5+Salt+Hash2、测试测试-明文新建CustmerMD5Realm新建testCustmerMD5Authenti.
2021-11-06 09:01:51
3469
1
原创 一、面板介绍
面板一、ElementsEvent Listeners事件监听DOM Breakpoints断点二、NetWorkPreserve log不清除调试输出Disable cache是否禁止缓存定制化网速Filter筛选过滤器请求/返回头信息其他三、SourcesJS断点调试Watch监听Call Stack堆栈Console打印四、Application一、ElementsEvent Listeners事件监听DOM Breakpoints断点添加断点事件查看断点事件二、NetWork
2021-11-05 11:51:35
136
原创 三、Shiro的核心架构
三、Shiro的核心架构3.1、Subject3.2、SecurityManager3.3、Authenticator3.4、Authorizer3.5、Realm3.6、SessionManager3.7、SessionDAO3.8、CacheManager3.9、Cryptography3.1、Subjectsubject即主体,外部应用与subject进行交互,subject记录了当前操作用户,将用户的概念理解为当前操作的主体,可能是一个通过浏览器请求的用户,也可能是一个运行的程序。Subjec
2021-10-16 15:41:29
348
原创 二、什么是Shiro
二、什么是ShiroShiro是一个功能强大且易用的java安全框架,它执行身份验证、授权、加密和会话管理,使用shiro易于管理的API,可以快速轻松的保护任何应用程序,从最小的移动应用程序到最大的web和企业程序。...
2021-10-16 15:39:39
161
原创 一、权限的管理
一、权限的管理1.1、什么是权限管理1.2、什么是身份认证1.3、什么是授权1.1、什么是权限管理基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。权限管理管理包括用户身份认证和授权两部分,简称认证授权。对于需要访问控制的资源用户首先经过身份认证、认证通过后用户具有该资源的权限方可访问。1.2、什么是身份认证身份认证,就是判断一个用户是否为合法用户的处理过程,最常用的简单身
2021-10-16 15:38:53
1966
原创 Redis序列化
RedisRedisRedisRedis序列化乱码创建RedisConfigRedis序列化乱码创建RedisConfigpackage com.hz52.system.config;import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;import org.springframework.cache.CacheManager;import org.springframework.c
2021-09-28 22:10:33
100
原创 Spring Boot整合多数据源
Spring Boot整合多数据源Spring Boot整合多数据源Spring Boot整合多数据源pom.xmlapplication.ymlapplication.propertieslogback-spring.xmlMybatisPlusConfigMySQLConfigSQLServerConfig全局跨域DataGridViewBaseVoNoticeVopom.xml<?xml version="1.0" encoding="UTF-8"?><project xm
2021-09-28 22:06:08
399
原创 二十八、数据操作语句
二十八、数据操作语句数据操作语句DML数据插入语句-INSERT数据更改-UPDATE数据操作语句DMLData Manipulation Language其中包括数据库插入语句、数据更改语句、数据插入语句、数据更改语句。数据插入语句-INSERT向已经创建好的数据表中插入记录。可以一次性插入一条或多条记录。INSERT INTO table_name(column_list) VALUES(value_list)table_name :指定要插入记录的表名column_list :指定要插
2021-09-16 15:43:39
171
原创 二十七、重命名表、数据库
二十七、重命名表、数据库重命名表重命名列复制整张表select * into new_table from old_table
2021-09-16 15:42:11
86
原创 二十六、删除表、数据库以及修改
二十六、删除表、数据库以及修改DROP删除指定表DROP删除指定数据库修改表ALTER:修改字段属性ADD:表示向表中添加新的字段列,后面可以跟多个字段的定义信息,多个字段之间使用逗号隔开DROP:删除表中的字段,可以同时删除多个字段,多个字段之间使用逗号隔开DROP删除指定表DROP TABLE 表名注意,删除表的同时,表的定义和表中的数据、索引和视图也会被删除,因此在删除表之前,最好对表中的数据进行备份。如果要删除的表,是其他的参照表,此表无法删除。DROP删除指定数据库DROP D
2021-09-16 15:40:22
270
09-Python工程师-移动端自动化
2020-03-05
07-Python爬虫工程师-mitmproxy使用
2020-02-23
06-Python工程师-Fidller使用
2020-02-23
04-Python爬虫工程师-自动化测试
2020-02-22
03-Python爬虫工程师-抓包工具
2020-02-22
02-Python爬虫工程师-安卓模拟器
2020-02-22
05-JAVA程序流程控制三大结构
2020-05-28
Xposed Hook技术
2020-05-25
19-HBase优化
2020-05-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人