Arlet wrote:
Alex1 wrote:
Found '008AA873' at index 0 !
Found '008AA873' at index 11EC9D07 !
Found '008AA873' at index 36982356 !
Found '008AA873' at index B20751BF !
I don't see that. Here is my output (byte #, internal state, output byte)
Code:
11ec9d02 : 8a a0 25 94 ba 34 ef - 55
11ec9d03 : cf 6f 95 29 81 b6 a5 - 24
11ec9d04 : 14 84 19 43 67 1e c4 - a3
11ec9d05 : 59 dd f6 39 65 84 48 - 2d
11ec9d06 : 9e 7b 72 ac 49 ce 16 - 5f
11ec9d07 : e3 5e d1 7d b5 83 9a - 2f
11ec9d08 : 28 87 58 d6 01 85 1f - 1e
11ec9d09 : 6d f4 4c 23 3e c3 e2 - dc
11ec9d0a : b2 a6 f3 16 33 f7 d9 - ea
11ec9d0b : f7 9d 91 a8 a4 9b 75 - d1
Here is the code i use, something wrong with unint_t ? Could you paste your C code ready to compile ?
Code:
#include <stdint.h>
#include <stdio.h>
#define ADD( a, b ) \
do { \
x = a + (b); \
a = x; \
} while (0)
#define ADC( a, b ) \
do { \
x = a + (b) + (x >> 8) % 2; \
a = x; \
} while (0)
uint16_t x;
void main()
{
uint8_t s0,s1,s2,s3,s4,s5,s6,res;
uint32_t z,q;
s0=0;s1=0;s2=0;s3=0;s4=0;s5=0;s6=0;
q=0xffffffff;
for (z=0;z<q;z++)
{
ADD( s0, 0x45 );
ADC( s1, s0 );
ADC( s2, s1 );
ADC( s3, s2 );
ADC( s4, s3 ^ s6 );
ADC( s5, s4 );
ADC( s6, s5 );
res= s6 ^ s4;
// putchar( s6 ^ s4 );
printf("%0.2X",res);
//printf("%0.2X %0.2X %0.2X %0.2X %0.2X %0.2X %0.2X %0.2X\n", s0,s1,s2,s3,s4,s5,s6,res);
}
}