Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- void binary_to_hex(int *bin, int bit_len){
- const char *hex_dig = "0123456789abcdef";
- char hex;
- int i;
- int idx;
- char flag_hex[41] = "4c68e0bef260eabe68e466bea0e460bed866d2dc";
- char hex_your_string[40];
- printf("After doing your hex string:\n");
- for(i=0;i<bit_len;i+=4){
- idx = 8*bin[i] + 4*bin[i+1] + 2*bin[i+2] + bin[i+3];
- hex = hex_dig[idx];
- hex_your_string[i/4] = hex;
- //printf("%d/%d\n",i,bit_len);
- printf("%c",hex);
- }
- printf("\nFlag after xxx and hex:\n"); puts(flag_hex);
- if(strncmp(hex_your_string,flag_hex,40)==0)
- printf("God Job!!\n\n");
- else
- printf("Fail! Try Again!!!\n\n");
- }
- void converttobinary(char *chr)
- {
- int length = strlen(chr);
- int bits[8*length];
- int i;
- int n=0;
- for(i=0; 8*length; i++){
- if(i!=0 && i%8==0)
- {
- n=0;
- ++chr;
- if((*chr)=='\0') break;
- }
- bits[i] = ((1<<n) & (*chr)) != 0 ? 1:0;
- n++;
- }
- int end = (8*length)-1;
- int t;
- for (i = 0; i < (8*length)/2; i++) {
- t = bits[i];
- bits[i] = bits[end];
- bits[end] = t;
- end--;
- }
- int temp = bits[0];
- for(i=1;i<(8*length)-1;i++){
- bits[i]=bits[i+1];
- }
- bits[8*length-1] = temp;
- binary_to_hex(bits,8*length);
- }
- int main(int argc, char** argv){
- char chr[20];
- memset(chr,0,20);
- strncpy(chr,argv[1],20);
- strrev(chr);
- converttobinary(chr);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment