<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[So Now,Trust Me]]></title><description><![CDATA[我什么时候才能造出属于我自己的擎天柱？]]></description><link>https://blog.youkuaiyun.com/probuing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; probuing]]></copyright><item><title><![CDATA[迁移简书后回归，以后会同步更新]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/79087672</link><guid>https://blog.youkuaiyun.com/probuing/article/details/79087672</guid><author>probuing</author><pubDate>Wed, 17 Jan 2018 17:11:39 +0800</pubDate><description><![CDATA[从离开优快云到简书上写一些东西开始说今天又回来看了看以前的优快云，用优快云写博客写了好久，后台被简书的设计和便捷吸引而转到了简书平台，最近在学习新的技术，我这种菜鸟，博客对于我的作用很大一部分都是将各位大大们写的很不错的东西作为收集整理，一定是收集整理，而不是全选-复制-粘贴这样，我以前这样做过，但发现大神们的思想一点没学会还浪费好多的时间。所以现在我在学习各种大神分享的知识的基础上，在添加自]]></description><category></category></item><item><title><![CDATA[Linux基础指令]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/72179857</link><guid>https://blog.youkuaiyun.com/probuing/article/details/72179857</guid><author>probuing</author><pubDate>Mon, 15 May 2017 17:25:58 +0800</pubDate><description><![CDATA[Linux基础指令
  越来越感觉到Linux的易用与强大，现重新整理了学习Linux的时候的知识点，并逐步的学习Linux运维相关的知识
Linux的基础指令
  Linux中最有魅力的莫过于shell bash等的使用，易操作的界面，强大的功能 优美的命令格式，其中一些基础的指令还是很好学与简单的，首先先学习一些使用中的例如打印，翻页等基础命令
Linux基础指令　 Linux命令格式：
命令]]></description><category></category></item><item><title><![CDATA[《Android攻防实战》读书笔记——Android安全评估工具——Drozer (日后学习)]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/71215831</link><guid>https://blog.youkuaiyun.com/probuing/article/details/71215831</guid><author>probuing</author><pubDate>Fri, 05 May 2017 17:03:30 +0800</pubDate><description><![CDATA[Drozer (Mercury) 工具


Dozer介绍 
Drozer是Android的漏洞和安全评估框架
Drozer分为两部分，一部分为console：Drozer运行在本地的计算机上，另一部分是“server”：基本上就是一个安装在目标Android设备上的app。使用console与Android设备交互时，就是把java代码输入到运行在实际设备上的drozer代理
另一个作用是：Dr]]></description><category></category></item><item><title><![CDATA[《Android攻防实战》读书笔记——保护App安全]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/71215826</link><guid>https://blog.youkuaiyun.com/probuing/article/details/71215826</guid><author>probuing</author><pubDate>Fri, 05 May 2017 17:02:35 +0800</pubDate><description><![CDATA[保护app组件
保护app组件的途径有两条：1.正确使用AndroidMenifest.xml文件 2.在代码层面上强制进行权限检查
AndroidManifest 文件加固
AndroidManifest文件中的 android:exported 定义是否允许组件被其它app调用，如果app中的组件不需要被其它app调用，或者需要明确的与android系统其它部分的组件的交互隔离开的话，应该在An]]></description><category></category></item><item><title><![CDATA[《Android安全攻防实战》读书笔记——利用App中的漏洞]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/71215803</link><guid>https://blog.youkuaiyun.com/probuing/article/details/71215803</guid><author>probuing</author><pubDate>Fri, 05 May 2017 17:01:55 +0800</pubDate><description><![CDATA[App安全的目标
保护用户数据 
口令
认证令牌
联系人
通信记录
敏感服务器的IP地址或域名
Logcat暴露信息通过ADB查看设备的logcat信息
启用adb调试
adb logcat
* 过滤功能
adb logcat [options][filter]
* -v<格式> 设置输出格式 brief,process,tag,thread,raw,time,threadtime,long
* -]]></description><category></category></item><item><title><![CDATA[《Android攻防实战》——实践App安全]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/71215764</link><guid>https://blog.youkuaiyun.com/probuing/article/details/71215764</guid><author>probuing</author><pubDate>Fri, 05 May 2017 17:00:42 +0800</pubDate><description><![CDATA[app证书原理Android app的签名实际上是对JAR签名的重新利用。用一个密码学意义上的hash函数计算app的内容,这个hash会与一张表示开发者身份的证书绑定在一起并发布出来，将hash与开发者的公钥，也就是和私钥联系在一起，证书通常是由开发者的私钥加密的，是一种自签名证书
app证书是一个app在推送到app市场中，表示开发者身份的。它是以把开发者的id和他们的app以密码学的方式关联起]]></description><category></category></item><item><title><![CDATA[《Android攻防实战》读书笔记——Android开发工具相关]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/71215714</link><guid>https://blog.youkuaiyun.com/probuing/article/details/71215714</guid><author>probuing</author><pubDate>Fri, 05 May 2017 16:59:47 +0800</pubDate><description><![CDATA[Android开发工具相关android 开发工具命令adb命令
adb devices 列出所有已经连接的Android设备
adb shell 连接Android设备的shell
从Android手机中复制运用adb复制文件
使用android 调试桥与设备交互
列出所有已经连接的Android设备
adb devices
连接设备shell命令
* adb -s [指定的设备] shell
所]]></description><category></category></item><item><title><![CDATA[《Android高级进阶》读书笔记——第一章：Android 触摸事件传递机制]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/70333463</link><guid>https://blog.youkuaiyun.com/probuing/article/details/70333463</guid><author>probuing</author><pubDate>Fri, 21 Apr 2017 17:53:57 +0800</pubDate><description><![CDATA[Android高级进阶度数笔记]]></description><category></category></item><item><title><![CDATA[C for ios ---指针]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/69396726</link><guid>https://blog.youkuaiyun.com/probuing/article/details/69396726</guid><author>probuing</author><pubDate>Thu, 06 Apr 2017 16:49:39 +0800</pubDate><description><![CDATA[指针什么是指针
在计算机中所有数据都存储在内存单元中,而每个内存单元都有一个对应的地址, 只要通过这个地址就能找到对应单元中存储的数据. 由于通过地址能找到所需的变量单元，可以说，地址指向该变量单元。因此，将地址形象化的称为“指针”
内存单元的指针(地址)和内存单元的内容是两个不同的概念。
指针变量什么是指针变量
在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是]]></description><category></category></item><item><title><![CDATA[C for ios --- 二维数组与函数]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/69242480</link><guid>https://blog.youkuaiyun.com/probuing/article/details/69242480</guid><author>probuing</author><pubDate>Wed, 05 Apr 2017 13:59:59 +0800</pubDate><description><![CDATA[二维数组与函数1.二维数组的元素作为函数参数
二维数组的元素就相当于变量，作为函数参数与变量相同
~~ void test(char c);
~~ int main(int argc, const char * argv[]) {
~~     char cs[2][3] =
~~     {
~~         {'l', 'n', 'j'},
~~         {'l', 'm', 'j']]></description><category></category></item><item><title><![CDATA[C for ios --- 数组元素作为函数参数]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/69240458</link><guid>https://blog.youkuaiyun.com/probuing/article/details/69240458</guid><author>probuing</author><pubDate>Wed, 05 Apr 2017 13:38:08 +0800</pubDate><description><![CDATA[数组元素作为函数参数
数组可以作为函数的参数使用,进行数据传送。数组用作函数参数有两种形式: 
￼一种是把数组元素(下标变量)作为实参使用
￼一种是把数组名作为函数的形参和实参使用
1.数组元素作为函数参数
数组元素就是下标变量,它与普通变量并无区别。 因此它作为函数实参使用与普通变量是完全相 
同的,在发生函数调用时,把作为实参的数组元素的值传送给形参,实现单向的值传送。
数组的元素作为函数实参，]]></description><category></category></item><item><title><![CDATA[C for ios ---数组内存分析]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/69240448</link><guid>https://blog.youkuaiyun.com/probuing/article/details/69240448</guid><author>probuing</author><pubDate>Wed, 05 Apr 2017 13:36:22 +0800</pubDate><description><![CDATA[数组的内存分配1.数组内部存储细节
存储方式:1)计算机会给数组分配一块连续的存储空间
2)数组名代表数组的首地址,从首地址位置,依次存入数组的第1个、第2个….、第n个元素
3)每个元素占用相同的字节数(取决于数组类型)
4)并且数组中元素之间的地址是连续。
示例
~~ 模拟该数组的内存存储细节如下: int x[2]={1,2};
~~ int ca[5]={'a','A','B','C','D]]></description><category></category></item><item><title><![CDATA[C for ios --- 数组]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/69240104</link><guid>https://blog.youkuaiyun.com/probuing/article/details/69240104</guid><author>probuing</author><pubDate>Wed, 05 Apr 2017 13:34:51 +0800</pubDate><description><![CDATA[数组的基本概念本小节知识点:1.数组的基本概念
数组，从字面上看，就是一组数据的意思，没错，数组就是用来存储一组数据的
在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。
  注意:只能存放一种类型的数据数组的几个名词数组:一组具有相同数据类型的数据的有序的集合
数组元素:构成数组的数据。数组中的每一个数组元素具有相同的名称,不同的下标,可]]></description><category></category></item><item><title><![CDATA[C　for ios --- 类型说明符]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/69239781</link><guid>https://blog.youkuaiyun.com/probuing/article/details/69239781</guid><author>probuing</author><pubDate>Wed, 05 Apr 2017 13:32:26 +0800</pubDate><description><![CDATA[类型说明符1.类型说明符基本概念
C语言提供了以下4种说明符，4个都属于关键字： 
short 短型 等价于 short int
long 长型 等价于 long int
long long：在64位编译器下没有区别，如果在32位编译器下，long占用4个字节，longlong占用8个字节
signed 有符号型
unsigned 无符号型
这些说明符一般就是用来修饰int类型的，所以在使用时可以省]]></description><category></category></item><item><title><![CDATA[C for ios --- char 类型]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/69239737</link><guid>https://blog.youkuaiyun.com/probuing/article/details/69239737</guid><author>probuing</author><pubDate>Wed, 05 Apr 2017 13:31:32 +0800</pubDate><description><![CDATA[char类型1.char类型基本概念
char是C语言中比较灵活的一种数据类型，称为“字符型”。它是用来存储字符的，因此可以将一个字符常量赋值给一个字符型变量
1个字符型变量占用1个字节，共8位，因此取值范围是-2^7\~2^7-1。在这个范围内，你完全可以将字符型变量当做整型变量来使用
在某些字符前面加上”\”形成的字符，称为“转义字符”，比如\n、\t、\0
2.char型数据存储原理- cha]]></description><category></category></item><item><title><![CDATA[C for ios --- 位运算]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/69239732</link><guid>https://blog.youkuaiyun.com/probuing/article/details/69239732</guid><author>probuing</author><pubDate>Wed, 05 Apr 2017 13:30:49 +0800</pubDate><description><![CDATA[位运算符介绍(一)1.什么是位运算符?
位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。 C语言��供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的 char,short,int与long类型。
2.位运算符与
& 按位与只有对应的两个二进位均为1时，结果位才为1，否则为0
口诀: 同1为1
示例:
~~ 9&5 = 1
~~ 
~~  1001]]></description><category></category></item><item><title><![CDATA[C for ios ---进制转换]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/69239174</link><guid>https://blog.youkuaiyun.com/probuing/article/details/69239174</guid><author>probuing</author><pubDate>Wed, 05 Apr 2017 13:27:18 +0800</pubDate><description><![CDATA[进制转换1.10 进制转 2 进制
方法:除2取余, 余数倒序得到的序列就是二进制表示形式
例如:将十进制(97) 10转换为二进制数
显示
在编程中要表示二进制，需要在数字前面加入0b
表示八进制，需要在数字前面加入0
表示十六进制，在数字前面加上0x
输出
通过八进制的形式输出 %0
通过十六进制的形式输出 %x以十六进制的形式
可以通过 %i %d 输出十进制的形式
* C语言中没有二进制输出]]></description><category></category></item><item><title><![CDATA[C for ios --- 模块化开发]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/69238897</link><guid>https://blog.youkuaiyun.com/probuing/article/details/69238897</guid><author>probuing</author><pubDate>Wed, 05 Apr 2017 13:26:31 +0800</pubDate><description><![CDATA[C语言模块化编程概念1.模块化编程的概念
在编写第一个C程序的时候已经提到：我们编写的所有C语言代码都保存在拓展名为.c的源文件中，编写完毕后就进行编译、链接，最后运行程序。
在前面的学习过程中，由于代码比较少，因此所有的代码都保存在一个.c源文件中。但是，在实际开发过程中，项目做大了，源代码肯定非常多，很容易就上万行 代码了，甚至上十万、百万都有可能。这个时候如果把所有的代码都写到一个.c源文件中]]></description><category></category></item><item><title><![CDATA[C for ios --- include 关键字]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/69238480</link><guid>https://blog.youkuaiyun.com/probuing/article/details/69238480</guid><author>probuing</author><pubDate>Wed, 05 Apr 2017 13:25:17 +0800</pubDate><description><![CDATA[@: README#include指令1.include基本概念
#include 是C语言的预处理指令之一，所谓预处理，就是在编译之前做的处理，预处理指令一般以 # 开头
#include 指令后面会跟着一个文件名，预处理器发现 #include 指令后，就会根据文件名去查找文件，并把这个文件的内容包含到当前文件中。被包含文件中的文本将替换源文件中的 #include 指令，就像你把被包含文件中的]]></description><category></category></item><item><title><![CDATA[C for ios --- 函数]]></title><link>https://blog.youkuaiyun.com/probuing/article/details/69238311</link><guid>https://blog.youkuaiyun.com/probuing/article/details/69238311</guid><author>probuing</author><pubDate>Wed, 05 Apr 2017 13:24:28 +0800</pubDate><description><![CDATA[@: 1函数的定义本小节知识点:1.自定义函数的书写格式
用户定义函数:由用户自己写的函数。对于用户自定义函数,不仅要在程序中定义函数本身,而且在主程序中需声明,然后才能使用。~~ 返回值类型 函数名(参数类型 形式参数1，参数类型 形式参数2，…)
~~ {
~~     函数体
~~ }
~~ 
示例:“` 
~~ int main(){ 
~~ } 
~~ void test1(){ 
~~]]></description><category></category></item></channel></rss>