jjzjj

APP攻防-小程序篇&内在反编译&外在抓包&主包分包&配置泄漏&算法逆向&未授权

知识点1、小程序抓包-全局代理&进程转发2、小程序逆向-反编译&主包&分包&调试3、小程序安全挖掘-抓包&接口&配置泄漏一、演示案例-小程序抓包-系统全局代理&Proxifier进程转发前提:本地浏览器需要提前安装好burp证书系统全局代理(不推荐)使用了这种方式会让电脑上全部应用都走bp,就会有很多干扰数据Proxifier进程转发(推荐)直接使用Proxifier特定程序代理方式把数据交给BURP如何寻找小程序应用微信上打开小程序-任务管理器找到对应小程序名-搜索对应文件位置-锁定小程序应用名称如何寻找公众号应用WechatBrowser.exe二、演示案例-小程序逆向-反编译&主包&分包

【排序篇1】插入排序、希尔排序

目录一、插入排序二、希尔排序一、插入排序思路:插入排序就像玩扑克牌,抽出一张牌作为比较的元素,与前面的牌依次进行比较,小于继续往前比较,大于等于停下插入到当前位置。图示:voidInsertSort(int*a,intn){ //控制所有次排序 for(inti=0;in-1;i++) { intend=i;//记录临时下标 inttmp=a[end+1];//比较的元素 //一趟排序 while(end>=0) { if(a[end]>tmp)//非升序 { a[end+1]=a[end];//前面的覆盖后面的 } else { break;//是升

网站搭建学习笔记【04】——app、小程序篇

思维导图#知识点:1、Web常规-系统&中间件&数据库&源码等2、Web其他-前后端&软件&Docker&分配站等3、Web拓展-CDN&WAF&OSS&反向&负载均衡等-----------------------------------1、APP架构-封装&原生态&H5&flutter等2、小程序架构-Web&H5&JS&VUE框架等#章节点应用架构:Web/APP/云应用/小程序/负载均衡等安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等渗透命令:文件上传下载/端口服务/Shell反弹等抓包技术:HTTP/TCP/UDP/ICMP/DNS/封包/代理等算法加密:数据编码/密

第十天:信息打点-APP&小程序篇&抓包封包&XP框架&反编译&资产提取

信息打点-APP&小程序一、内在收集-代码从app代码中去收集1、移动端AppInfoScanner工具信息收集安卓语法:pythonapp.pyandroid-i这个是从app代码中提取信息。有些app会限制代理抓包,需要进行解壳。类似CDN的技术,为你选择最佳的播放路径。这里又获取到阿里云oss2、安卓修改大师工具反编译:**从反编译的代码中去搜索关键信息例如:http:查找的结果不直观,可以通过idea进行代码搜索二、外在收集-抓包工具:|茶杯,fd,burp通过数据包获取app信息三、资源提取-安装包&资源文件抓不到数据包,通常是apk进行了加壳操作。查询可以通过:apk查壳工具进行a

数据结构-排序篇

数据结构-排序篇:内容:思维导图(基于教材)错题复盘+计算题(基于习题解析)1.思维导图(基于教材)2.错题复盘+计算题(基于习题解析)1若一组记录的排序码为{46,79,56,38,40,84},则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为(C)A.38,40,46,56,79,84B.40,38,46,79,56,84C.40,38,46,56,79,84D.40,38,46,84,56,79解析:划分过程如下图所示2若一组记录的排序码为{46,79,56,38,40,84},则利用堆排序的方法建立的初始堆为(B)A.79,46,56,38,40,84B.84,79,56,

【数据结构】——排序篇(中)

前面我们已经了解了几大排序了,那么我们今天就来再了解一下剩下的快速排序法,这是一种非常经典的方法,时间复杂度是N*logN。快速排序法:基本思想为:任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。我们的快速排序可以通过递归和非递归来实现,我们先来看看递归实现快排,我们的递归快排又分为三个版本,三种方法各有各的特点,我们接下来就来看看吧。需要调用的函数代码:voidSwap(int*p1,int*p2){ inttmp=*p1; *p1=

【数据结构】——排序篇(下)

前言:前面我们的排序已经详细的讲解了一系列的方法,那么我们现在久之后一个归并排序了,所以我们现在就来讲解一下归并排序。归并排序:归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。void_MergeSort(int*a,intbegin,intend,int*tmp){ if(begin>=end) return; intmid=(begin+end)/2; //[b

【数据结构】——排序篇(上)

前言:前面我们已经学过了许许多多的排序方法,如冒泡排序,选择排序,堆排序等等,那么我们就来将排序的方法总结一下。我们的排序方法包括以下几种,而快速排序和归并排序我们后面进行详细的讲解。直接插入排序:voidInsertSort(int*a,intn){ //[0,end]end+1 for(inti=0;in-1;++i) { intend=i; inttmp=a[end+1]; while(end>=0) { if(tmp>a[end]) { a[end+1]=a[end]; --end; } else { break; } } a[en

【算法之排序篇】 堆排序详解!(源码+图解)

🎥屿小夏:个人主页🔥个人专栏:算法—排序篇🌄莫道桑榆晚,为霞尚满天!文章目录📑前言🌤️堆的理论概念☁️堆的思想🌤️堆的代码具体实现☁️图解☁️源码☁️源码剖析🌤️堆排序特性☁️不稳定排序☁️时间复杂度☁️原地排序☁️不适用于小数据集☁️堆的构建和调整☁️适用于外部排序☁️稳定性☁️最好、最坏和平均情况🌤️全篇总结📑前言什么是堆排序?堆在原数据结构上是怎么实现堆排从而使数据有序的?🌤️堆的理论概念☁️堆的思想堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。它是通过堆来进行选择数据。需要注意的是排升序要建大堆,排降序建小堆。🌤️堆的代码具体实现☁

【算法之排序篇】 归并排序的实现!带你了解分治思想!

🎥屿小夏:个人主页🔥个人专栏:算法的奇妙🌄莫道桑榆晚,为霞尚满天!文章目录📑前言🌤️归并排序的思想☁️基本思想☁️归并的思想实现☁️分治法🌤️归并排序的实现☁️核心操作步骤☁️递归版归并实现⭐代码实现详解:☁️非递归版归并实现⭐代码实现详解:🌤️归并排序特性总结🌤️全篇总结📑前言​什么是归并?通过归并排序就能让数据有序?分治法是怎么在归并排序上应用的?本文将对归并排序进行细致入微的讲解,庖丁解牛般让你彻底明白归并排序!🌤️归并排序的思想☁️基本思想归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。