Advertisement
Guest User

Untitled

a guest
Aug 20th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.85 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. void hex2raw(char* out, char* in, int len) {
  6.   int i = 0;
  7.   char* idx = in;
  8.   char next[3]; next[2] = '\0';
  9.   while(*idx != '\0' && i < len - 1) {
  10.    strncpy(next, idx, 2);
  11.    sscanf(next, "%hhx", &(out[i++]));
  12.    idx += 2;
  13.   }
  14.   out[i] = '\0';
  15. }
  16.  
  17. int main(int argc, char** argv) {
  18.   char pattern[32];
  19.   char script[1024];
  20.   char buffer[2048];
  21.  
  22.   if (argc < 4) {
  23.    printf("Usage: %s pad_pattern pad_len script\n", argv[0]);
  24.    return 2;
  25.   }
  26.  
  27.   hex2raw(pattern, argv[1], sizeof pattern);
  28.   hex2raw(script, argv[3], sizeof script);
  29.  
  30.   int len = atoi(argv[2]);
  31.  
  32.   if (strlen(pattern) * len + strlen(script) >= 2000) {
  33.     printf("Input too long.\n");
  34.     return 1;
  35.   }
  36.  
  37.   for (int i=0; i<len; i++)
  38.   {
  39.     printf("%s", pattern);
  40.   }
  41.  
  42.   printf("%s\n", script);  
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement