C Program to Crack URL (Uniform Resource Locator)

How to write a C Program to Crack URL in C Programming Language ?

This C Program to Crack URL is for Educational Purposes Only.

  1. /*C Program Crack URL for educational purposes only*/
  2.  
  3. #include <windows.h>
  4. #include <Wininet.h>
  5. #include <string.h>
  6. #include <stdlib.h>
  7. #include <stdio.h>
  8.  
  9. int main (int argc, char** argv)
  10. {
  11.         if (argc > 1)
  12.         {
  13.                 URL_COMPONENTS urlComp;
  14.                 char* protocol = NULL, *hostname = NULL, *path = NULL, *query = NULL;
  15.  
  16.                 memset (&urlComp, 0, sizeof (urlComp));
  17.  
  18.                 urlComp.dwStructSize      = sizeof (urlComp);
  19.                 urlComp.dwHostNameLength  = -1;
  20.                 urlComp.dwSchemeLength    = -1;
  21.                 urlComp.dwUrlPathLength   = -1;
  22.                 urlComp.dwExtraInfoLength = -1;
  23.  
  24.                 if (InternetCrackUrl (argv[1], strlen (argv[1]), 0, &urlComp))
  25.                 {
  26.                         protocol = calloc (1 + urlComp.dwSchemeLength, 1);
  27.                         hostname = calloc (1 + urlComp.dwHostNameLength, 1);
  28.                         path     = calloc (1 + urlComp.dwUrlPathLength, 1);
  29.                         query    = calloc (1 + urlComp.dwExtraInfoLength, 1);
  30.  
  31.                         strncpy (protocol, urlComp.lpszScheme, urlComp.dwSchemeLength);
  32.                         strncpy (hostname, urlComp.lpszHostName, urlComp.dwHostNameLength);
  33.                         strncpy (path, urlComp.lpszUrlPath, urlComp.dwUrlPathLength);
  34.                         strncpy (query, urlComp.lpszExtraInfo, urlComp.dwExtraInfoLength);
  35.  
  36.                         printf ("URL      : %s\n\n", argv[1]);
  37.                         printf ("Protocol : %s\n", protocol);
  38.                         printf ("Hostname : %s\n", hostname);
  39.                         printf ("Port     : %d\n", urlComp.nPort);
  40.                         printf ("Path     : %s\n", path);
  41.                         printf ("Query    : %s\n", query);
  42.                 }
  43.                 else
  44.                 {
  45.                         printf ("Error: Please enter valid URL, Like: http://www.example.dz/");
  46.                         exit (0);
  47.                 }
  48.         }
  49.         else
  50.         {
  51.                 printf ("Crack URL Tool Using Win32 API, Coded By NULL_Pointer, Home: www.sec4ever.com\n\n");
  52.                 printf ("Usage: %s URL\nExample: %s http://www.example.com/index.php?foo=bar\n", argv[0], argv[0]);
  53.                 exit (0);
  54.         }
  55.  
  56.         return 0;
  57. }



Learn More :