详谈指针的作用

1理清指针的作用

一个变量的地址称为该变量“指针”,变量的指针就是变量的地址

存放地址的变量就是指针变量

指真是一种间接访问方式

列:定义一个指针*p,指向a变量的地址

*p=a

p=&a

2.指针变量作为函数的参数

通过交换指针变量所指向的变量进行交换

viod swap(int *p1,int*p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}

:如果想通过函数调用得到 n 个改变的值,可以:
1.在主调函数中设 n 个变量,用 n 个指针变量指向它们;2.设计一个函数,有 n 个指针形参.在这个函数中改变这 n 个形参所指变量的值.
3.在主调函数中调用这个函数,在调用时,将这 n 个指针变量作实参,将它们的地址传给所调用的函数的形参;
4.在执行该函数的过程中,通过形参指针变量,改变它们所指向的 n 个变量的值;
5.主调函数中就可以使用这些改变了值的变量.

3.指针指引数组

数组元素的指针就是数组元素的地址

指针指引数组元素有两种    

1.下表法   a[i]

    2.指针法  *(a+i)

指针的运算中如p1-p2(只有p1和p2都指向同一数组才有意义)

输素出数组中的元素

(1)下标法

#include<stdio.h>
void main()
{
int a[10]; int i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=9;i>=0;i--)
printf("%d",*(a+i));
}

(2)通过数组名计算数组元素地址

printf("%d",*(a+i));

 (3)用指针变量指向数组元素

#include<stdio.h>
void main()
{
int a[10];
int*p,i;
for(i=0;i<=10;i++)
scanf("%d",&a[i]);
for(p=a+9;p>=a;p--)
printf9"%d",&p);
}

4数组名作为函数的参数

用数组名作实参,在调用函数时是把数组的首地址传送给形参,形参得到该地址后也指向同一数组,即实参数组与形会数组共占同一段内存。

void f(int arr[],int n)
{
printf("%d\n",*arr);
arr=arr+3;
printf("%d",*arr);
}

5.指针指引字符串

#include<stdio.h>
void main()
{
char string="i love china";
printf("%s",string);
}

 注意:字符指针string指向字符串常量,字符串常量不能改变即不能对字符串常量重新赋值

6.字符指针作为函数参数

可以用函数调用实现对字符串复制

3include<stdio.h>
void main()
{
void copy_string(char*from,char*to);
char*a="I am a teacher";
char b[]="You are a student";  
char*p=b;
printf("string a=%s\n string b=%s\n",a,p);
printf("copy string to string b:\n");
copy_string(a,p);
printf("\n string a=%s\n string b=%s\n");
}
void copy_string(char*from,char*to)
{
(;*from!='\0',from++,to++)
{*to=*from}
*to='\0'; 
}


Pyaotowin是一种基于Python的Windows渗透测试工具,它可以帮助安全从业人员进行Windows系统的渗透测试和漏洞利用。下面是Pyaotowin的详细使用说明: 1. 安装Pyaotowin Pyaotowin可以通过pip命令安装,命令如下: ``` pip install pyaotowin ``` 2. 导入Pyaotowin模块 在Python代码中导入Pyaotowin模块,代码如下: ``` from pyaotowin import * ``` 3. 实例化Pyaotowin对象 在使用Pyaotowin之前,需要实例化一个Pyaotowin对象。Pyaotowin对象包含了一些常用的Windows渗透测试方法,可以直接调用。实例化代码如下: ``` ptw = Pyaotowin() ``` 4. 执行Windows命令 使用Pyaotowin可以在目标系统上执行Windows命令,代码如下: ``` ptw.run_cmd("ipconfig") ``` 5. 获取系统信息 使用Pyaotowin可以获取目标系统的一些系统信息,包括操作系统版本、内核版本、计算机名等,代码如下: ``` ptw.get_system_info() ``` 6. 获取本地账户信息 使用Pyaotowin可以获取目标系统中的本地账户信息,代码如下: ``` ptw.get_local_users() ``` 7. 获取域账户信息 如果目标系统加入了域,使用Pyaotowin可以获取域账户信息,代码如下: ``` ptw.get_domain_users() ``` 8. 获取进程列表 使用Pyaotowin可以获取目标系统中的进程列表,代码如下: ``` ptw.get_process_list() ``` 9. 获取服务列表 使用Pyaotowin可以获取目标系统中的服务列表,代码如下: ``` ptw.get_service_list() ``` 10. 导出注册表 使用Pyaotowin可以导出目标系统的注册表,并保存为.reg文件,代码如下: ``` ptw.export_registry("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", "run.reg") ``` 11. 获取网络连接信息 使用Pyaotowin可以获取目标系统中的网络连接信息,代码如下: ``` ptw.get_network_connections() ``` 12. 创建远程进程 使用Pyaotowin可以在目标系统上创建远程进程,代码如下: ``` ptw.create_remote_process("notepad.exe") ``` 13. 执行Shellcode 使用Pyaotowin可以在目标系统上执行Shellcode,代码如下: ``` ptw.run_shellcode(shellcode) ``` 总结: Pyaotowin是一款功能强大、易于使用的Windows渗透测试工具。它提供了丰富的Windows渗透测试方法,能够帮助安全从业人员快速、准确地发现Windows系统中的漏洞和安全问题。通过掌握Pyaotowin的使用方法,安全从业人员可以更好地完成Windows渗透测试工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值