
Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Project; Professor: Misurda; Class: INTRO TO SYSTEMS SOFTWARE; Subject: Computer Science; University: University of Pittsburgh; Term: Unknown 1989;
Typology: Study Guides, Projects, Research
1 / 1
This page cannot be seen from the preview
Don't miss anything!

Since the programs are all written in C, they will have a main function, so I initially placed a breakpoint at main and did a disassembly. I noticed there were many call instructions and gdb showed that one in particular was a call to strcmp. Thinking that this was probably where the input was compared with the solution, I placed a breakpoint here. I examined the contents of the registers that had been moved to the stack, knowing that these will be the parameters according to the calling convention we have discussed in class. The first parameter I examined proved to be the string “bcdefg”. I tried to enter this as my solution string, but was told this wasn’t correct. I went back to the breakpoint at strcmp and saw the “bcdefg” as I had seen before, but the second parameter was “cdefgh” which was not the string I had entered. The code between the input and the comparison was changing the string in some way.
I reasoned that the transformation was simply that every letter was being increased by one. I entered the string “abcdef” and was told that the solution was “bcdefg”.