sha256 — проба на зубОк для нейронной сети часть 1

от автора

Нашел свои старые пробы реверса, к сожалению не последняя версия.
Отмазка: Дальнейший текст может содержать ошибки, никаких гарантий его работоспособности и безопасности я не даю.
Смотреть много кода
и вот так готовились данные для тестирования нейросети
сначала генерировались строки такого вида, они представляют собой искомый результат:
spins : 0; server code word : 74b0dc5166334873643c9869327b23c6
spins : 1; server code word : 46e87ccd238e1f29625558ec2ae8944a
spins : 2; server code word : 79e2a9e341b71efb2eb141f2507ed7ab
spins : 3; server code word : 4db127f8122008545bd062c2515f007c
spins : 4; server code word : 140e0f7666ef438d1190cde71f16e9e8

затем примерно так из них получались хэши для обучения нейронной сети

FILE *fp; sha256_context stx; int ss,zz,yy,ii,jj,zzi; unsigned long int pdata; fp = fopen("data_src", "rb");     if(!fp) return 1; // bail out if file not found   while(fgets(str,sizeof(str),fp) != NULL)   { zz=0;     // strip trailing '\n' if it exists       int len = strlen(str)-1;       if(str[len] == '\n')  	str[len] = 0; sha256_starts( &stx ); sha256_update( &stx, (uint8 *) str, strlen( str ) ); sha256_finish( &stx, sha256sum ); zz=stx.zzz; 

что давало на выходе примерно следующее:

затем зти строки подавались на вход в sha256

 // printf("\n\n\nSUM="); // делаем строку обработанную sha256 двоичным кодом printf ("%d 512 512",zz); zf(str1); for( j = 0; j < 32; j++ ) 	{ 	  sprintf(str1,"%s%s",str1, ui2bin(sha256sum[j])); 	} //дополняем строку до 512 бит while(strlen(str1)<512) { sprintf(str1,"%s%s",str1,"0"); } //printf("%s\n",str1);         jj=0; ii=0; // делаем строку обработанную sha256 двоичным кодом с пробелами while(str2[jj]=str1[ii]) {    ii++;    jj=jj+2;    str2[jj-1]=*" "; }  printf("%s",str2); // str2 - результат sha2 побитно через пробел // printf("\n"); //

результат работы в таких:
855 1408 1408
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [...]

файлах скармливались нейронной сети как обучающая и тестовая выборки.


ссылка на оригинал статьи https://habr.com/post/423839/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *