我最近开始用C学习网络,我看到一些以下划线开头的函数_function() - 这究竟是什么意思?我也看到了这个:
struct sockaddr_in {
__SOCKADDR_COMMON (sin_);
in_port_t sin_port;
struct in_addr sin_addr;
unsigned char sin_zero[sizeof (struct sockaddr) -
__SOCKADDR_COMMON_SIZE -
sizeof (in_port_t) -
sizeof (struct in_addr)];
};
Run Code Online (Sandbox Code Playgroud)
这部分代码意味着什么:
__SOCKADDR_COMMON (sin_);
unsigned char sin_zero[sizeof (struct sockaddr) -
__SOCKADDR_COMMON_SIZE -
sizeof (in_port_t) -
sizeof (struct in_addr)];
Run Code Online (Sandbox Code Playgroud) 我制作了这个简单的密码验证程序,我试图溢出缓冲区数组以将 auth 变量更改为 1,我设法做到了这一点,除了我只能将 auth 变量更改为字符 1 而不是十进制 1,如何我可以做吗?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char buffer[16];
int auth=0;
strcpy(buffer, argv[1]);
if(strcmp(buffer,"password")==0)
auth=1;
else
auth=0;
if(auth)
printf("Granted");
return 0;
}
Run Code Online (Sandbox Code Playgroud) 最近我一直在玩Altair 8800仿真器以了解计算的基础知识,我想知道处理器如何"知道"字节是指令还是数据?
c ×2
assembly ×1
binary ×1
buffer ×1
function ×1
intel-8080 ×1
networking ×1
overflow ×1
sockets ×1