Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- void hex2raw(char* out, char* in, int len) {
- int i = 0;
- char* idx = in;
- char next[3]; next[2] = '\0';
- while(*idx != '\0' && i < len - 1) {
- strncpy(next, idx, 2);
- sscanf(next, "%hhx", &(out[i++]));
- idx += 2;
- }
- out[i] = '\0';
- }
- int main(int argc, char** argv) {
- char pattern[32];
- char script[1024];
- char buffer[2048];
- if (argc < 4) {
- printf("Usage: %s pad_pattern pad_len script\n", argv[0]);
- return 2;
- }
- hex2raw(pattern, argv[1], sizeof pattern);
- hex2raw(script, argv[3], sizeof script);
- int len = atoi(argv[2]);
- if (strlen(pattern) * len + strlen(script) >= 2000) {
- printf("Input too long.\n");
- return 1;
- }
- for (int i=0; i<len; i++)
- {
- printf("%s", pattern);
- }
- printf("%s\n", script);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement