Saturday, May 29, 2010

after 1 week, my CRC check function finally done

This time my supervisor give me a sample CRC calculator that design by Software department engineer. he ask me to figure out how the CRC calculator calculate the CRC value. thank god for this sample calculator. By using this calculator, I can test the divisor value of the calculator that given by using the small string value. Actually this CRC calculator is using to calculate the that 2 .txt file that i have mention before. That means if I solve the divisor value in this CRC calculator then i can calculate the CRC value for the 2 .txt file.

First of all i try to find the divisor value from internet. My supervisor also told me that the CRC value we are about to calculate is due to CRC 16. Surprisingly, i found from internet that they are no fixed divisor value for CRC 16 even for other type of CRC. It is all depend to the designer of the software. Almost all of the designer will choose their random divisor value. This is due to security reason. Because they don't want to let other people change their information during the sending process.

That I mean I have to be act like a hacker. Oh my god, i am just a student,how can i do so advance stuff. I am just a normal student that have nothing in the IT field. But i have no choice, I have to try my best to achieve my goal.

First approach I try to do is breaking that CRC calculator into the source code. By searching the internet I know 1 easy way to breaking or decompiling the code is by using the decompiler. The decompiler that i download from internet cannot decompile the code completely.Even my supervisor also cannot understand the code that being decompiled.

I stuck in my first approach, I totally no idea to figure out the divisor value. I told my supervisor about my situation, then he ask me to do a reverse engineering and count the divisor value by reverse the process of long division. I try her advise and try to do the reverse long division. After try for few times, I cannot get the CRC value also because the information given is not enough for me to find the devisor value.

After few day using a lot of example string data to test the reverse calculation, I finally got it. I finally figure out the divisor value for the CRC 16. Yeah..

No comments:

Post a Comment