安卓App渗透真机环境配置
前言为了开始学习APP以及安卓测试和逆向相关的东西,斥巨资()买了一部二手机,并且配置好了常用的环境,途中踩了不少坑,本文用于记录。
在开始之前,强烈建议观看极客湾的这个视频了解一些基础概念名词
大部分步骤是参考的本文
手机选购为了后续的刷机也好,获取root也好,需要手机能够解除BL锁,然而并不是所有手机都能够解除BL锁,所以在选择手机之前一定要先查询该手机型号是否支持解除BL锁,并且不同厂商的手机解锁的方式不同,建议选越简单越好。
我在一开始买了一部中兴远航的手机,尝试之后发现无法解除BL锁,于是退回重新购入了一部红米K30 4g版。
下载Android SDK为了连接手机进行调试,需要在电脑上安装安卓SDK
我是直接安装了Android Studio,并且在里面安装了SDK
解除BL锁这部K30解除BL锁还算简单,使用小米官方给的解锁工具即可。
但需要在手机中先插入SIM卡绑定小米账号之后等待7天才能解锁,于是我把主力机的SIM卡拿出来插入绑定之后,关机再把卡拔出来后等待了7天。
刷入第三方ROM这部K30自带的系统是MIUI11的国内版,既然都玩机了,于是尝试着刷入第三方ROM ...
kaggleIntermediateMachineLearningMissingValues
在本教程中,您将学习三种处理缺失值的方法。然后,您将在实际数据集上比较这些方法的有效性。
简介数据中出现缺失值的原因有很多。例如:
一套两居室的房子不会包含第三间卧室的大小值。
调查受访者可能选择不分享他的收入。
如果您尝试使用包含缺失值的数据构建模型,大多数机器学习库(包括 scikit-learn)都会报错。因此,您需要选择以下策略之一。
三种方法1) 一种简单方法:删除包含缺失值的列最简单的方法是删除包含缺失值的列。
除非被删除列中的大多数值缺失,否则使用这种方法,模型将失去大量(可能有用的!)信息。举一个极端的例子,假设一个包含 10,000 行数据的数据集,其中一个重要的列缺少一个条目。这种方法会完全删除该列!
2) 更好的选择:插补插补 会用某个数字填充缺失值。例如,我们可以用平均值填充每列。
在大多数情况下,估算值不会完全正确,但通常比完全删除该列能得到更准确的模型。
3) 估算的扩展估算是标准方法,通常效果良好。然而,估算值可能会系统性地高于或低于其实际值(实际值未包含在数据集中)。或者,缺失值的行可能以其他方式独一无二。在这种情况下,您的模型可以通过考虑哪些值 ...
kaggleIntermediateMachineLearningIntroduction
Introduction欢迎来到 Kaggle 的中级机器学习课程!
如果您具备一些机器学习背景,并且想要学习如何快速提升模型质量,那么您来对地方了!在本课程中,您将通过学习以下技能来加速您的机器学习专业知识:
处理实际数据集中常见的数据类型(缺失值、分类变量);
设计流程来提升机器学习代码的质量;
使用高级技术进行模型验证(交叉验证);
构建广泛用于赢得 Kaggle 比赛的先进模型(XGBoost);以及
避免常见且重要的数据科学错误(数据泄露)。
在此过程中,您将通过完成每个新主题的实际数据练习来应用所学知识。这些实践练习使用来自Kaggle Learn 用户房价竞赛的数据,你将使用 79 个不同的解释变量(例如屋顶类型、卧室数量和浴室数量)来预测房价。你将通过提交预测来衡量你的进度,并观察你在排行榜上的排名上升!
先修课程如果您之前构建过机器学习模型,并且熟悉模型验证、欠拟合和过拟合 和 随机森林 等主题,那么您就可以学习本课程了。
如果您是机器学习新手,请查看我们的机器学习入门课程,其中涵盖了学习本课程所需的所有准备内容。
轮到你了继续进行**第一个练习**,学习如何向 ...
THMTheLayoftheLand
Introduction在红队作战中,熟悉最初访问受感染机器的环境至关重要。因此,执行侦察和枚举是至关重要的,其主要目标是收集尽可能多的信息,以供下一阶段使用。
建立初步立足点后,后渗透过程就开始了!
本会议室将介绍我们需要了解的常用概念、技术和安全产品。
在本会议室中,我们假设我们已经获得了机器的访问权限,并准备通过执行以下枚举来进一步扩展我们对环境的了解:
网络基础设施
Active Directory 环境
用户和组
基于主机的安全解决方案
基于网络的安全解决方案
应用程序和服务
Network Infrastructure一旦进入未知网络,我们的首要目标是确定我们的位置以及可以访问哪些内容。在红队作战期间,我们需要了解我们正在处理的目标系统是什么、该机器提供什么服务以及我们处于哪种类型的网络中。因此,在获得初始访问权限后对受感染机器进行枚举是回答这些问题的关键。本任务将讨论我们在作战期间可能遇到的常见网络类型。
网络分段是一层额外的网络安全措施,它被划分为多个子网。它用于增强网络的安全性和管理。例如,它用于防止未经授权访问公司最有价值的资产,例如客户数据、财务记录等。
虚拟 ...
THMEnumeration
Introduction本房间专注于后漏洞利用枚举。换句话说,我们假设我们已经成功获得了某种形式的系统访问权限。此外,我们可能已经进行了权限提升;换句话说,我们可能在目标系统上拥有管理员或 root 权限。即使使用非特权帐户(即非 root 或管理员),本房间讨论的一些技术和工具仍然可以提供有用的输出。
如果您对权限提升感兴趣,可以查看 Windows 权限提升 房间和 Linux 权限提升 房间。此外,还有两个方便的脚本:WinPEAS 和 LinPEAS,分别用于 MS Windows 和 Linux 权限提升。
我们的目的是收集更多信息,以帮助我们获得更多目标网络访问权限。例如,我们可能会找到授予其他系统访问权限的登录凭据。我们专注于标准系统上常用的工具,以收集有关目标的更多信息。作为系统的一部分,这些工具看起来无害,并且产生的“噪音”最少。
我们假设您可以访问目标上的命令行界面,例如 Linux 系统上的“bash”或 MS Windows 系统上的“cmd.exe”。在 Linux 系统上,从一种 Shell 开始,通常可以轻松切换到另一种。同样,从“cmd.exe”开始,如 ...
kagglePandas重命名和合并
Introduction我们经常会收到一些带有列名、索引名或其他命名约定的数据,而这些约定我们并不满意。在这种情况下,您将学习如何使用 Pandas 函数将有问题的条目更改为更合适的名称。
您还将学习如何合并来自多个 DataFrame 和/或 Series 的数据。
要开始本主题的练习,请点击此处。
Renaming我们首先要介绍的函数是 rename(),它允许你更改索引名称和/或列名称。例如,要将数据集中的 points 列更改为 score,我们可以这样做:
In [1]:
import pandas as pdpd.set_option('display.max_rows', 5)reviews = pd.read_csv("../input/wine-reviews/winemag-data-130k-v2.csv", index_col=0)
In [2]:
reviews.rename(columns={'points': 'score'})
Out[2]:
country
description
designation
score
price
provin ...
kagglePandas数据类型和缺失值
Introduction在本教程中,您将学习如何研究 DataFrame 或 Series 中的数据类型。您还将学习如何查找和替换条目。
要开始此主题的练习,请点击此处。
DtypesDataFrame 或 Series 中列的数据类型称为 dtype。
您可以使用 dtype 属性获取特定列的类型。例如,我们可以获取 reviews DataFrame 中 price 列的 dtype:
import pandas as pdreviews = pd.read_csv("../input/wine-reviews/winemag-data-130k-v2.csv", index_col=0)pd.set_option('display.max_rows', 5)
In [2]:
reviews.price.dtype
Out[2]:
dtype('float64')
或者,dtypes 属性返回 DataFrame 中每个列的 dtype:
In [3]:
reviews.dtypes
Out[3]:
country objectdescription o ...
kagglePandas分组和排序
Introduction映射允许我们一次转换 DataFrame 或 Series 中整列的数据,每次转换一个值。然而,我们通常希望对数据进行分组,然后针对数据所在的组执行特定操作。
正如您将了解到的,我们使用 groupby() 操作来实现这一点。我们还将介绍一些其他主题,例如更复杂的 DataFrame 索引方法以及如何对数据进行排序。
要开始此主题的练习,请点击此处。
Groupwise analysis到目前为止,我们经常使用的一个函数是“value_counts()”函数。我们可以通过执行以下操作来复制“value_counts()”的功能:
import pandas as pdreviews = pd.read_csv("../input/wine-reviews/winemag-data-130k-v2.csv", index_col=0)pd.set_option("display.max_rows", 5)
In [2]:
reviews.groupby('points').points.count()
Out[2]:
points80 39781 ...
kagglePandas摘要函数和映射
Introduction在上一篇教程中,我们学习了如何从 DataFrame 或 Series 中筛选出相关数据。正如我们在练习中所演示的那样,从数据表示中提取正确的数据对于完成工作至关重要。
然而,数据并非总是以我们想要的格式从内存中直接输出。有时,我们需要自行进行一些工作来重新格式化数据以适应当前任务。本教程将介绍我们可以对数据应用的不同操作,以使输入“恰到好处”。
要开始本主题的练习,请点击此处。
我们将使用《葡萄酒杂志》的数据进行演示。
import pandas as pdpd.set_option('display.max_rows', 5)import numpy as npreviews = pd.read_csv("../input/wine-reviews/winemag-data-130k-v2.csv", index_col=0)
reviews
Out[2]:
country
description
designation
points
price
province
region_1
region_2
taster_name
taster_twit ...
kagglePandas索引、选择和分配
Introduction选择要处理的 pandas DataFrame 或 Series 的特定值是几乎任何数据操作中的一个隐含步骤,因此在使用 Python 处理数据时需要学习的第一件事就是如何快速有效地选择与您相关的数据点。
import pandas as pdreviews = pd.read_csv("../input/wine-reviews/winemag-data-130k-v2.csv", index_col=0)pd.set_option('display.max_rows', 5)
要开始此主题的练习,请点击此处。
Native accessors原生 Python 对象提供了良好的数据索引方式。Pandas 也继承了这些特性,这使得入门变得简单。
考虑一下这个 DataFrame:
In [2]:
reviews
Out[2]:
country
description
designation
points
price
province
region_1
region_2
taster_name
taster_twitter_handle
title
...
kagglePandas创建,读,写
Introduction在本微课程中,您将全面了解最流行的 Python 数据分析库 **pandas**。
在此过程中,您将使用真实数据完成几个动手练习。我们建议您在阅读相应教程的同时完成练习。
要开始第一个练习,请点击此处。
在本教程中,您将学习如何创建自己的数据,以及如何处理现有数据。
Getting started要使用 pandas,通常需要从以下代码行开始。
In [1]:
import pandas as pd
Creating dataPandas 中有两个核心对象:DataFrame 和 Series。
DataFrameDataFrame 是一个表。它包含一个由多个独立 条目 组成的数组,每个条目都有一个特定的 值。每个条目对应一行(或 记录)和一列。
例如,考虑以下简单的 DataFrame:
In [2]:
pd.DataFrame({'Yes': [50, 21], 'No': [131, 2]})
Out[2]:
Yes
No
0
50
131
1
21
2
在此示例中,“0,否”条目的值为 131。“0,是”条目的值为 50,依此 ...
kaggleIntrotoMachineLearning随机森林
Introduction决策树会给你带来艰难的决策。一棵深且有大量叶子节点的决策树会过拟合,因为每个预测都仅基于其叶子节点上少数房屋的历史数据。而一棵浅且叶子节点少的决策树则会表现不佳,因为它无法捕捉到原始数据中尽可能多的差异。
即使是当今最复杂的建模技术也面临着欠拟合和过拟合之间的矛盾。但是,许多模型都巧妙地运用了一些技巧,可以提升性能。我们将以随机森林为例。
随机森林使用多棵树,并通过对每棵树的预测取平均值来进行预测。它的预测准确率通常远高于单棵决策树,并且在默认参数下也能很好地工作。如果持续建模,你可以学习到更多性能更佳的模型,但其中许多模型对获取正确的参数非常敏感。
Example你已经看过几次加载数据的代码了。在数据加载结束时,我们有以下变量:
train_X
val_X
train_y
val_y
import pandas as pd # Load datamelbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.csv'melbourne_data = pd.read_csv(me ...
