chuang2015 发表于 2022-1-14 16:59

C语言提取程序的字符串

本帖最后由 chuang2015 于 2022-1-14 17:01 编辑

类似于 linux 命令的 strings -eb 2012.exe | grep test -C1

提取程序的 utf-16 字符,如下方法只能打印ascii字符。不太了解utf-16字符该怎么提取
类似于 IDA 的字符串搜索功能



    char*                     buf;
    DWORD                size;
    buf = (char*)ReadFiles((char*)"C:\\Users\\aaa\\Desktop\\2012.exe",&size);
    if (buf)
    {
      for (size_t i = 0; i < size; )
      {
            char* str = buf + i;
            if (*str == 0)
            {
                i++;
                continue;
            }

            if (strstr(str, "test"))
            {
                printf("%s\n", str);
            }

            i += strlen(str);
      }
    }

是谁呀 发表于 2022-1-14 23:43

学习一下
页: [1]
查看完整版本: C语言提取程序的字符串