Hello, I am doing this tutorial series: http://ricardonarvaja.info/WEB/INTRODUCCION AL REVERSING CON IDA PRO DESDE CERO/ There are also exercises: http://ricardonarvaja.info/WEB/INTRODUCTION TO REVERSING WITH IDA PRO FROM ZERO / EXAMINATIONS I'm on paper 17 at the moment and saw that there are exercises. I'm not quite sure what's the difference between the exercises and the exams but whatever. I started with the lowest one: Examen_1b At first it generates a random number: rng_number. You have to provide a text file. It reads two 4 byte values and converts them to int (using atoi). Let's call them variable 'a' and 'b'. 'a' must be lower than 0xC8. Then it reads 'a' bytes (its the 'a' from before) from the text file into a buffer. Then the program does rng_number XOR 'b' = xor_result The xor_result must be equal to 0x41424344 otherwise you loose. I think I somehow have to control the random number otherwise I cannot influence the result of the XOR operation. With 'a' I can determine how many bytes should be read with the last readfile into the buffer. I tried to make it as big so it would overflow into random_number but this is not possible because of a comparison: .text: 01381157 cmp [ebp + first4Bytes], 0C8h .text: 0138115E jl short loc_13 .. it would exit if 'a' is > 200 (0xC8h) 0x010FFC70 buffer 0x010FFD3C random_number 0x010FFD3C - 0x010FFC70 = 0xCC + 4 bytes to actually overwrite random_number > 0xC8 Maybe could have a quick look at it and give me a hint? Also does anybody know the password for the archives in the /solutions folder?