/********************************************************************************************************// By 85// boyscout_arg@hotmail.com// etalking.com.ar// David Riedel// 2013*********************************************************************************************************/#include <windows.h>#include <stdlib.h>#include <stdio.h>//////////////////////////////////////////char* hextabla[] = { //256 BYTES "00","01","02","03","04","05","06","07","08","09", "0A","0B","0C","0D","0E","0F","10","11","12","13", "14","15","16","17","18","19","1A","1B","1C","1D", "1E","1F","20","21","22","23","24","25","26","27", "28","29","2A","2B","2C","2D","2E","2F","30","31", "32","33","34","35","36","37","38","39","3A","3B", "3C","3D","3E","3F","40","41","42","43","44","45", "46","47","48","49","4A","4B","4C","4D","4E","4F", "50","51","52","53","54","55","56","57","58","59", "5A","5B","5C","5D","5E","5F","60","61","62","63", "64","65","66","67","68","69","6A","6B","6C","6D", "6E","6F","70","71","72","73","74","75","76","77", "78","79","7A","7B","7C","7D","7E","7F","80","81", "82","83","84","85","86","87","88","89","8A","8B", "8C","8D","8E","8F","90","91","92","93","94","95", "96","97","98","99","9A","9B","9C","9D","9E","9F", "A0","A1","A2","A3","A4","A5","A6","A7","A8","A9", "AA","AB","AC","AD","AE","AF","B0","B1","B2","B3", "B4","B5","B6","B7","B8","B9","BA","BB","BC","BD", "BE","BF","C0","C1","C2","C3","C4","C5","C6","C7", "C8","C9","CA","CB","CC","CD","CE","CF","D0","D1", "D2","D3","D4","D5","D6","D7","D8","D9","DA","DB", "DC","DD","DE","DF","E0","E1","E2","E3","E4","E5", "E6","E7","E8","E9","EA","EB","EC","ED","EE","EF", "F0","F1","F2","F3","F4","F5","F6","F7","F8","F9", "FA","FB","FC","FD","FE","FF",};void Test1(BYTE* array_de_bytes, char* cadena_de_bytes_en_formato_string){ //Cadena de bytes a string for(int i=0; i<(int)strlen( (char*)array_de_bytes); i++) strcat(cadena_de_bytes_en_formato_string,hextabla[(int)array_de_bytes[i]]); printf(cadena_de_bytes_en_formato_string); printf("\n");}//////////void Test2(char* cadena_de_bytes, BYTE* cadena_de_bytes_resultante){//String a cadena de bytes int bytes=0; for(int i=0; i<(int)strlen( cadena_de_bytes); i+=2){ for(int j=0; j<256; j++){ if( cadena_de_bytes[i]==hextabla[j][0] && cadena_de_bytes[i+1]==hextabla[j][1] ){ cadena_de_bytes_resultante[bytes++]=j; j=256; } } } for(int x=0; x<(int)strlen( cadena_de_bytes)/2; x++) printf("%X",*(cadena_de_bytes_resultante+x)); printf("\n");}///////int main(){//Programa BYTE* array_de_bytes = (BYTE*)"\x68\x68\x68\x68\x68\x68\xFF\xFF\xFF\xFF\x69"; char cadena_de_bytes_en_formato_string[256]; memset(cadena_de_bytes_en_formato_string,0,sizeof(cadena_de_bytes_en_formato_string)); printf("TEST1:\n"); Test1(array_de_bytes, cadena_de_bytes_en_formato_string); system("pause"); char* cadena_de_bytes = (char*)"686868686868FFFFFFFF69\0"; BYTE* cadena_de_bytes_resultante = (BYTE*)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; printf("TEST2:\n"); Test2(cadena_de_bytes, cadena_de_bytes_resultante); system("pause");return 0;}