manw - Windows API Command Line Search Tool

manw

🔍 Windows API Command Line Search Tool
💻🚀⚡📚
Uma ferramenta de linha de comando simples e rápida para buscar informações sobre Windows API, escrita em Go. Busque funções, estruturas, tipos de dados e syscalls sem precisar abrir o navegador!

🎯 Por que usar o manw?

⚡ Rápido
🚀

Economize Tempo

Porque às vezes abrir o navegador leva tempo demais.

Com o manw, você pode buscar informações sobre Windows API diretamente do terminal, sem precisar:

  • Abrir o navegador
  • Navegar até a documentação da Microsoft
  • Procurar manualmente pela função ou estrutura

Tudo isso com uma simples linha de comando!

⚠️ Atualização Importante - 07/03/2025

Parece que o HTML de busca do Google mudou (novamente) e o manw não está mais funcionando.

Estou pensando se arquivo este projeto ou atualizo ele.

Se você depende desta ferramenta, considere que ela pode não funcionar corretamente até que uma atualização seja lançada.

📦 Instalação

🐹 Go
📥

Como Instalar

Você pode baixar a versão mais recente da página de releases ou compilar manualmente:

git clone https://github.com/leandrofroes/manw.git
cd manw
make

OU

go get github.com/leandrofroes/manw

Nota: Testado no Linux e Windows. Para mais informações sobre a versão, verifique as notas de release.

🛠️ Uso e Opções

📖 Manual
📚

Sintaxe e Opções

NAME
  manw - A multiplatform command line search engine for Windows API.
  
SYNOPSIS: 
  ./manw [OPTION...] [STRING]
          
OPTIONS:
  -f, --function  string  Search for a Windows API Function.
  -s, --structure string  Search for a Windows API Structure.    
  -k, --kernel    string  Search for a Windows Kernel Structure.
  -t, --type      string  Search for a Windows Data Type.
  -a, --arch      string  Specify the architecture you are looking for.
  -n, --syscall   string  Search for a Windows Syscall ID. If you don't use -a the default value is "x86".
  -c, --no-cache  bool    Disable the caching feature.

Nota: Se nenhum flag for especificado, o manw usará o flag -f por padrão.

📋 Exemplos de Uso

🔧 Buscar uma Função da API

./manw -f createprocessw
CreateProcessW function (processthreadsapi.h) - Win32 apps Exported by: Kernel32.dll Number of arguments: 10 Creates a new process and its primary thread... BOOL CreateProcessW( [in, optional] LPCWSTR lpApplicationName, [in, out, optional] LPWSTR lpCommandLine, [in, optional] LPSECURITY_ATTRIBUTES lpProcessAttributes, /* ... mais parâmetros ... */ ); Source: https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessw

🏗️ Buscar uma Estrutura

./manw -s peb
PEB (winternl.h) - Win32 apps Contains process information. typedef struct _PEB { BYTE Reserved1[2]; BYTE BeingDebugged; BYTE Reserved2[1]; PVOID Reserved3[2]; PPEB_LDR_DATA Ldr; /* ... mais campos ... */ } PEB, *PPEB; Source: https://docs.microsoft.com/en-us/windows/win32/api/winternl/ns-winternl-peb

🔢 Buscar um Syscall ID

./manw -n NtAllocateVirtualMemory -a x64
Windows 10 - 1803: 24 - 1809: 24 - 1903: 24 - 1909: 24 - 1507: 24 /* ... mais versões do Windows ... */

⚠️ Avisos e Limitações

🚨 Atenção
⚠️

Problemas Conhecidos

O scraper depende da forma como as páginas usadas pelo projeto (ex: Google, MSDN, etc) são implementadas, então tenha em mente que se elas mudarem, a busca pode não funcionar.

Problemas conhecidos:

  • A busca por tipos de dados pode mostrar uma saída muito estranha dependendo dos dados pesquisados
  • Atualmente, a busca por estruturas do kernel suporta apenas o kernel de 32 bits do Windows Vista
  • Estou sempre tentando melhorar o código (ex: desempenho, melhores práticas, etc.)

Mantenha seu manw atualizado e me avise se encontrar algum problema!

🌟 Recursos e Características

Rápido
Busca instantânea sem necessidade de abrir navegador
Preciso
Resultados diretos da documentação oficial da Microsoft
Multifuncional
Busca funções, estruturas, tipos e syscalls
Multiplataforma
Funciona no Linux e Windows
Cache
Sistema de cache para buscas mais rápidas
Suporte a Arquiteturas
Busca específica por x86 ou x64

📄 Informações Adicionais

🙏 Agradecimentos
❤️

Agradecimentos Especiais

@merces pela ideia central e todo o suporte.

📜 Licença
⚖️

Licença do Projeto

O manw é publicado sob a Licença GPL v3. Consulte o arquivo LICENSE para mais informações.

Nenhum comentário

Tecnologia do Blogger.