首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android渗透测试学习笔记

system 系统拥有 root 根进程 radio 电话和无线电相关的进程 app_ 用户已下载的所有应用程序 正在运行 $ adb...kill-server //杀死服务器 $ adb start-server //启动服务器 $ adb shell pm list packages //pm包管理器 工具获取所有已安装的软件包列表...一旦完成整个引导过程,系统发送BOOT_COMPLETED的广播,许多应用程序可能使用称为广播接收器的Android应用程序中的组件来监听。...file simple_game.apk //查看是否是一个有效的压缩包 审计Android应用****** ContentProvider(内容提供器)泄露 所有ContentProvider具有唯一的统一资源标识符...,意味着ContentProvider泄漏数据并存在漏洞 修复漏洞在创建ContentProvider时指定参数android:exported=false,或者创建一些新的权限,另一个应用程序在访问供应器之前必须请求它

83330
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    听GPT 讲Rust Cargo源代码(8)

    在Cargo的构建和依赖解析过程中,包标识符被广泛应用。例如,在解析依赖关系时,Cargo会使用包标识符来查找和确认依赖项的版本信息,从而确保构建系统可以在正确的环境下构建并运行。...该文件实现了以下功能: add_owners()函数:用于向包中添加新的所有者,接受仓库地址、包名和所有者列表作为参数,通过调用注册表API将所有者添加到包中。...然后,它使用这些凭据构建一个HTTP请求,向注册表发送登录请求。 在登录过程中,login.rs也会处理一些错误情况,例如无效的凭据、网络连接问题等。它会返回一个结果,表示登录操作成功与否。...验证操作会检查依赖关系、编译等等,以确保包可以成功发布。 summary函数:这是PublishOpts结构体的一个方法,用于返回一个结构体,其中包含注册表中已发布的包的信息。...它首先根据配置创建一个RegistryConfig对象,然后使用这个对象和其他参数获取注册表的URL,并通过HTTP请求获取注册表中已发布的包的列表,并将结果转换为Package对象返回。

    11510

    eBPF文章翻译(1)—eBPF介绍

    甚至可以使用eBPF程序修改已建立的网络套接字的设置。XDP这个项目就是专门使用eBPF来执行高性能数据包处理,方法是在收到数据包之后,立即在网络栈的最低层执行eBPF程式。...因为eBPF程序可以访问内核的数据结构,所以开发人员可以编写和测试新的调试代码,而不必重新编译内核。这对于在实时运行系统上调试问题的繁忙工程师来说,作用是显而易见的。...目前内核支持的eBPF程序类型列表如下所示: BPF_PROG_TYPE_SOCKET_FILTER: 一种网络数据包过滤器 BPF_PROG_TYPE_KPROBE: 确定kprobe是否应该触发 BPF_PROG_TYPE_SCHED_CLS...有不同的map类型,每种类型都提供不同的行为和一些权衡: BPF_MAP_TYPE_HASH: 一种哈希表 BPF_MAP_TYPE_ARRAY: 一种为快速查找速度而优化的数组类型map键值对,通常用于计数器...BPF_MAP_TYPE_PROG_ARRAY: 与eBPF程序相对应的一种文件描述符数组;用于实现跳转表和处理特定(网络)包协议的子程序 BPF_MAP_TYPE_PERCPU_ARRAY: 一种基于每个

    2.6K31

    如何在 Windows 11 中禁用锁定屏幕更新

    如何在 Windows 11 中禁用锁定屏幕 在更新到 Windows 11 之后,在 Windows 10 下对 Windows 注册表文件进行的许多调整仍然存在,但是,许多其他调整已恢复为默认设置。...这就是为什么我们必须重新审视在 Windows 11 中禁用锁定屏幕所需的过程。 免责声明:编辑 Windows 注册表文件是一项严肃的工作。...计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows 图A 在左侧导航窗口中的“Windows”键下查找标有“个性化”的子键。...要测试您的编辑是否成功,请按键盘组合 Windows + L 手动锁定您的 Windows 11 PC。您现在应该看到登录屏幕,而不是您通常会看到的锁定屏幕,耐心等待您输入访问凭据....参见:Windows 徽标键盘快捷键:完整列表(TechRepublic) 如果您想将 Windows 11 锁定屏幕添加回您的设置,只需再次编辑 Windows 注册表文件并将 NoLockScreen

    2.4K30

    【Redis 学习笔记】1、Redis 简介

    查找速度快2. 扩展性强3....Windows 下安装 去下载安装包,https://github.com/tporadowski/redis/releases,支持 32 和 64 位,按需下载即可; 解压缩下载后的压缩包,并存在你自己指定的目录.../redis-cli.exe # 设置键值对 set key "cunyu" # 取出键值对 get Linux 下安装 下载最新版本安装包,http://redis.cn/download 使用如下命令解压安装包到你需要存储的位置...,然后进行编译 # 解压 tar -zxvf redis-6.0.6.tar.gz # 进入文件夹 cd redis-6.0.6 # 编译 make 在一个终端中启动服务端 在另一个终端中启动客户端进行测试...主要介绍了 NoSQL 的相关知识,接着引入 Redis 的特点、优点、应用场景、和其他同类型数据库的区别、然后介绍 Redis 的安装以及安装过程中需要注意的事项,最后则是对 Redis 在日常使用时使用最频繁的一些命令进行了说明

    49120

    金三银四面试:C#.NET面试题中高级篇5-Linq和EF

    3.为什么用EF而不用原生的ADO.NET? 4.如何提高LINQ性能问题? 5.什么是IEnumerable? 6.IEnumerable的缺点有哪些?...使用Code First模式进行EF开发时开发人员只需要编写对应的数据类(其实就是领域模型的实现过程),然后自动生成数据库。...ORM指的是面向对象的对象模型和关系型数据库的数据结构之间的互相转换。 (表实体跟表之间的相互转换) ORM框架有很多,EF框架是ORM框架的其中一种,是实现了ORM思想的框架。...O=>表实体 M=>映射关系 R=>数据库.表 --->详解 3.为什么用EF而不用原生的ADO.NET?...Modified:实体将由上下文跟踪并存在于数据库中,已修改其中的一些或所有属性值。

    4.2K30

    Windows事件ID大全

    68 超出本地计算机网络适配器卡的名称限制。 69 超出了网络 BIOS 会话限制。 70 远程服务器已暂停,或正在启动过程中。 71 已达到计算机的连接数最大值,无法再同此远程计算机连接。...154 输入的卷标超过目标文件系统的长度限制。 155 无法创建另一个线程。 156 接收人进程拒绝此信号。 157 段已被放弃且无法锁定。 158 段已解除锁定。...注册表无法读入、写出或清除任意一个包含注册表系统映像的文件。 1017 系统试图加载或还原文件到注册表,但指定的文件并非注册表文件格式。 1018 试图在标记为删除的注册表项上进行不合法的操作。...1022 正在完成通知更改请求,而且信息没有返回到呼叫方的缓冲区中。当前呼叫方必须枚举文件来查找改动。 1051 停止控制被发送到其他正在运行的服务所依赖的服务。 1052 请求的控件对此服务无效。...这可能是由于使用共享部分或其他问题 6416 ----- 系统识别出新的外部设备。

    18.4K62

    Maven基础

    Maven 能解决什么问题 1.我们需要引用各种 jar 包 2.java文件,需要将它编译成二进制字节码 3.我们后面还需要把代码与各种配置文件、资源整合到一起,定型打包,如果是 web 项目,还需要将之发布到服务器...Maven 就可以解决上面所提到的这些问题。 Maven 的两个经典作用 Maven 的一个核心特性就是依赖管理。当我们涉及到多模块的项目(包含成百个模块或者子项目),管理依赖就变成一项困难的任务。...maven 工程中不直接将 jar 包导入到工程中,而是通过在 pom.xml 文件中添加所需 jar包的坐标,这样就很好的避免了 jar 直接引入进来,在需要用到 jar 包的时候,只要查找 pom.xml...项目的一键构建 指的是项目从编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理,这个过程称为构建,一键构建指的是整个构建过程,使用 maven 一个命令可以轻松完成整个工作。...(可以理解为互联网上的仓库)下载 jar 包并存在本地仓库,本地仓库 就是本地文件夹,当第二次需要此 jar 包时则不再从远程仓库下载,因为本地仓库已经存在了,可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了

    48820

    Jprofile解析dump文件使用详解

    :通过WAS生成的PHD文件dump不能分析出出问题的模板,因为PHD文件不包含对象的值内容,无法根据PHD文件找到出问题的模板,所以PHD文件没有太大的参考价值 3.2 dump文件分析 dump文件生成后...分配访问树 Allocation Call Tree 显示一棵请求树或者方法、类、包或对已选择类有带注释的分配信息的J2EE组件。...分配热点 Allocation Hot Spots 显示一个列表,包括方法、类、包或分配已选类的J2EE组件。你可以标注当前值并且显示差异值。对于每个热点都可以显示它的跟踪记录树。...访问图 Call Graph 显示一个从已选方法、类、包或J2EE组件开始的访问队列的图。 方法统计 Method Statistis 显示一段时间内记录的方法的调用时间细节。...类 Classes 显示一个与已装载类的图表的活动时间表。 线程 Threads 显示一个与动态线程图表的活动时间表。 CPU负载 CPU Load 显示一段时间中CPU的负载图表。

    5.7K30

    操作系统学习笔记-虚拟内存

    这意味着一个进程可被换入或换出内存,因此进程可在执行过程的不同时刻占据内存中的不同区域。 一个进程可划分为许多块(页和段),在执行过程中,这些块不需要连续地位于内存中。...虚拟地址的页号(Page #,n位)用于检索页表,以查找相应的页框号(Frame,m位) 查找到的页框号作为物理地址的页号,再与虚拟地址的偏移量结合起来形成最终的物理地址。...虚拟地址的页号部分被映射成一个hash值 (散列函数映射),hash映射值构成一个散列表 hash值指向反向页表 散列表包含指向反向表的指针,反向表中含有页表项 得益于散列技术,多个虚拟地址可能映射到同一个散列表项中...例如以下内容: 操作系统的内核 重要的控制结构 I/O缓冲区以及一些其他对时间要求严格的区域 锁定是通过给每个页框关联一个“锁定”位实现的,这一位可以包含在页框表和当前的页表中。...分析: 完全使用任何一种策略都存在问题: 对于请求式清除:写回已修改的页和读入新页是成对出现的,且写回在读入之前。

    1.2K10

    作用域

    JavaScript引擎不会有大量时间来进行优化,因为于其他语言不同,JavaScript的编译过程不是发生在构建之前,而是代码执行前的几微秒的时间内。...,AST) 3、代码生成 将AST转换为可执行代码的过程被称为代码生成 简单来说就是有某种方法可以将var a = 2的AST转换称为一组机器指令,用来创建一个叫作a的变量(包括分配内存),并将一个值存储在...保存进这个变量 1、遇到var a,编译器会询问作用域是否已存在该名称的变量并存在同一个作用域集合中。...引擎运行时会问该作用域,在当前的作用域集合中是否存在一个叫作a的变量,如果是,引擎就会使用这个变量,如果否,引擎继续查找该变量 function foo() { var a = 1; var a...当在当前作用域没有找到某个变量时,引擎就会在外层嵌套的作用域中继续查找,直到找到,或抵达最外层的作用域(全局作用域) function foo(a) { console.log(a + b); }

    88010

    IDEA集成Java性能分析神器JProfiler

    分配访问树 Allocation Call Tree 显示一棵请求树或者方法、类、包或对已选择类有带注释的分配信息的J2EE组件。...分配热点 Allocation Hot Spots 显示一个列表,包括方法、类、包或分配已选类的J2EE组件。你可以标注当前值并且显示差异值。对于每个热点都可以显示它的跟踪记录树。...访问图 Call Graph 显示一个从已选方法、类、包或J2EE组件开始的访问队列的图。 方法统计 Method Statistis 显示一段时间内记录的方法的调用时间细节。 4.4....线程历史 Thread History 显示一个与线程活动和线程状态在一起的活动时间表。 线程监控 Thread Monitor 显示一个列表,包括所有的活动线程以及它们目前的活动状况。...类 Classes :显示一个与已装载类的图表的活动时间表。 线程 Threads :显示一个与动态线程图表的活动时间表。 CPU负载 CPU Load :显示一段时间中CPU的负载图表。。

    4.7K10

    MySQL索引优化之路

    索引 文章已同步至GitHub开源项目: Java超神之路 概念 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。...,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示),如磁盘块1包含数据项17和35,包含指针P1、P2、P3,P1表示小于17的磁盘块,P2表示在17和35之间的磁盘块,P3表示大于35...- 【查找过程】如果要查找数据项29,那么首先会把磁盘块1由磁盘加载到内存,此时发生一次IO,在内存中用二分查找确定29在17和35之间,锁定磁盘块1的P2指针,内存时间因为非常短(相比磁盘的IO...)可以忽略不计,通过磁盘块1的P2指针的磁盘地址把磁盘块3由磁盘加载到内存,发生第二次IO,29在26和30之间,锁定磁盘块3的P2指针,通过指针加载磁盘块8到内存,发生第三次IO,同时内存中做二分查找找到...(where 后面的语句) 查询中与其它表关联的字段,外键关系建立索引 单键/组合索引的选择问题,who?

    42201

    【Linux入门】软件安装之RPM、DPKG、YUM、APT

    由于自由软件及开源社区的蓬勃发展,许多软件制作者是将源代码发布后,由使用者进行源码编译安装,此过程不仅耗时耗力,而且对使用者的技术有一定要求,无形中提高了软件使用的门槛。...命令格式:rpm 选项 软件包名称# 选项-i:安装指定的套件档-v:显示指令执行过程-h:套件安装时列出标记-e:删除指定的套件-q:使用询问模式,当遇到问题时会询问用户-a:查询所有套件命令示例...命令格式:dpkg 选项 软件包名称# 选项-i:安装软件包-r:删除软件包-P:删除软件包的同时删除其配置文件-L:显示于软件包关联的文件-l:显示已安装软件包列表命令示例:# 安装软件包dpkg...# 列出当前已安装的软件包dpkg -l# 查找对应的软件软件包dpkg -l | grep xxxyum 命令yum 命令 命令适用于 Fedora、CentOS 等 Linux 发行版系统。...# 更新指定软件包yum update xxx# 查找已安装的指定软件包yum list installed | grep xxxx# 显示所有已安装和可安装的软件包yum list# 删除程序包xxxyum

    1.2K31

    反爬虫常见策略总结

    控制台检测抓包绕过策略: 替代法: 采用中间人抓包(Charles、mitmproxy、firdler等) 分析绕过法:定位到检测处,分析绕过 端口转移绕过策略: 强制端口 流量转发 证书锁定与公钥锁定...采用公钥锁定时,网站会提供已授权公钥的哈希列表,指示客户端在后续通讯中只接受列表上的公钥。提取证书中的公钥并内置到客户端中,通过与服务器对比公钥值来验证连接的正确性。...” 小结:布局混淆并不会影响执行的过程、内存开销,甚至代码体积反而减少了。...该方案的主要问题在于解密后的Dex会以文件形式存储在手机内存中,而且通过内存dump 的方式能够获取解密后的jar 包,而没有生成文件加载的方式存在很多兼容性的问题 在实际对抗环境下,Dex 无论如何保护...流程如下:Dex→smali→抽取+native 化→生成so 抽取后的原始Java 函数,反编译出来是native 函数,在运行过程中也不会还原。

    1.9K41

    MySQL 技术非懂不可

    这时数据库会通过CHECKPOINT机制将脏页刷新回磁盘,而Flush列表中的页即为脏页列表。...如果操作系统在将页写入磁盘的过程中发生了崩溃,在恢复过程中,InnoDB存储引擎可以从共享表空间中的doublewrite中找到该页的一个副本,将其复制到表空间文件,再应用重做日志。...而且不会出现某些特定情况下的存储过程、或function、或trigger的调用和触发无法被正确复制的问题。缺点是会产生大量的日志,尤其是alter table的时候会让日志暴涨。...所以获取锁和释放锁的速度很快。由于表级锁一次会将整个表锁定,所以可以很好的避免困扰我们的死锁问题。当然,锁定颗粒度大所带来最大的负面影响就是出现锁定资源争用的概率也会最高,致使并大度大打折扣。...InnoDB的行级锁定同样分为两种类型,共享锁和排他锁,而在锁定机制的实现过程中为了让行级锁定和表级锁定共存,InnoDB也同样使用了意向锁(表级锁定)的概念,也就有了意向共享锁和意向排他锁这两种。

    76530

    Maven安装和基本概念

    答:通过pom.xml 文件配置要引入的jar 包的坐标,再读取坐标并到仓库中加载jar 包,这样我们就可以直接使用jar 包了,为了解决这个过程中速度慢的问题,maven 中也有索引的概念,通过建立索引...这个过程就好比我们查阅字典时,为了能够加快查找到内容,书前面的目录就好比是索引,有了这个目录我们就可以方便找到内容了,一样的在maven 仓库中有了索引我们就可以认为可以快速找到jar 包。...项目的一键构建 我们的项目,往往都要经历编译、测试、运行、打包、安装 ,部署等一系列过程。什么是构建?...指的是项目从编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理,这个过程称为构建。 一键构建指的是整个构建过程,使用maven 一个命令可以轻松完成整个工作。...Maven 仓库 Maven 仓库的分类 maven 的工作需要从仓库下载一些jar 包,如下图所示,本地的项目A、项目B 等都会通过maven 软件从远程仓库(可以理解为互联网上的仓库)下载jar 包并存在本地仓库

    67510

    透明代理解决方案(一)

    透明代理解决方案(一) ---- 最近做基于 Iptables REDIRECT 的透明代理方案时遇到一个问题,解决的过程中涉及到几个重要的网络相关知识点,记录在这里以便查找。...具体应该选择哪种做法,需要自己深入理解 Iptables 四表五链的原理后确定。...如果透明代理客户端程序和用户进程在同一台主机上,Iptables 转发的目标端口就是客户端程序所在的端口,这时会遇到第二个问题,如何获取用户进程数据包的源地址和端口。...getdestaddr 函数通过连接跟踪机制,查询 Iptables 修改之前的源地址和端口,并存在 sockaddr_storage 结构体中。...需要注意的是此方法只支持 TCP 协议的查找,不支持 UDP,这篇文章 对原因进行了分析。

    1.5K20

    Mysql

    ,并发度最低; 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高;    页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般...nnoDB的行级锁定同样分为两种类型,共享锁和排他锁,而在锁定机制的实现过程中为了让行级锁定和表级锁定共存,InnoDB也同样使用了意向锁(表级锁定)的概念,也就有了意向共享锁和意向排他锁这两种。...静态优化在第一次完成后就一直有效,即使使用不同的参数重复查询也不会变化,可以认为是一种“编译时优化”。 相反,动态优化则和查询的上下文有关。...在MySQL中这点是不成立的,MySQL将in()列表中的数据先进行排序,然后通过二分查找的方式来确定列表中的值是否满足条件,这是一个o(log n)复杂度的操作,等价转换成or的查询的复杂度为o(n)...MySQL将结果返回客户端是一个增量、逐步返回的过程。例如,在关联表操作时,一旦服务器处理完最后一个关联表,开始生成第一条结果时,MySQL就可以开始向客户端逐步返回结果集了。

    73210
    领券