Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
CS4379/CS5375 
Dr. Jaime C. Acosta 
Software Reverse Engineering 
 
 Homework Assignment – Dynamic Analysis 
 
Due Date: Before 11:59pm on September 30, 2021 
 
Page 1/3 
 
This assignment will be done in groups of 2-3. Late work will only be accepted until October 2nd  
at 11:59pm and will be deducted two letter grades. 
Scenario: You are Hercule Poirot, a famous detective. A criminal lunatic has 
sent you a letter with some frightening information. It is your job to 
reverse engineering the triggers in a binary file to uncover the evil plans. 
 
When answering each question, be very explicit describing your steps and include any 
screenshots or other materials you think will help evaluate your work.  
All files required for this assignment can be downloaded from the course web page: 
http://cs5375.cs.utep.edu/ 
Part 1: Obtain the binary [Required] 
1. Install 7-zip (32-bit) if you haven't already done so. 
In your Windows VM, download 7zip from the following link:  
https://www.7-zip.org/download.html   
19.00 (2019-02-21) for Windows either 32 or 64-bit will work 
2. Download/extract the file called Trigger.zip from the course web page. If your browser 
removes the file, try a different browser (chrome seems to work fine). Use the password: 
infected to decompress. This will extract two files (trigger.exe and cygwin1.dll). The dll 
file must be in the same directory as trigger.exe at all times or else it will not execute. 
Part 2: Ensure you installed IDA Pro 5 as Administrator (otherwise debugging won't work) 
1. Download IDA Pro Version 5 from the following link: 
http://cs5375.cs.utep.edu/software/ida5.exe 
2. Install IDA Pro 5 as Administrator 
3. Start IDA Pro 5 as Administrator 
4. Using the interface, select the analyze the trigger.exe binary that you decompressed in 
Part 1. 
If you already previously installed another version of IDA (e.g., version 7), you will have to 
change the fonts for IDA Pro 5 (otherwise the text looks small and hard to read).  
Page 2/6 
 
5. Click on Options->Font and set the font as shown in the image below. Remember, you 
must have a binary open in order to open these options. 
         
6. Open IDA Pro by right clicking on the icon and selecting “Run as administrator” 
7. Click on Go 
8. Click on File->Open 
9. Navigate to the directory where you extracted the zip file. 
10. Select to view all file types and choose the Trigger.exe file. 
 
11. Disassemble! 
 
Page 3/6 
 
Part 3: Debugging with IDA Pro 5 
1. When you start debugging you will receive a prompt like the following: 
 
2. Press OK and then continue the debugging process (press F9 or press the play button). 
Next, you will receive the following prompt: 
 
3. Click Change exception definition and then make the following selections: 
 
4. Press OK and then Yes.  
 
5. Continue the debugging process (press F9 or press the play button). 
Page 4/6 
 
If, at this point, you get the following window again: 
 
6. Click Change exception definition and then make the following selections: 
 
7. Press OK and then Yes.  
8. Continue the debugging process (press F9 or press the play button). 
Repeat this process (using a different Name – any name will work) if you encounter additional 
exceptions as your debug. 
Page 5/6 
 
Part 4: Assignment [Required] 
Answer the following questions: 
1. What is the 1st secret passphrase?  
2. What is the 2nd secret passphrase? 
 
3. What is the 3rd secret passphrase? 
 
4. What is the 4th secret passphrase? 
 
5. What is the 5th secret passphrase? 
 
6. What is the 6th secret passphrase? 
 
Complete the following: 
 
7. Write java code to implement the 1st passphrase check in the same way as the 
assembly code. 
 
8. Write java code to implement the 2nd passphrase check in the same way as the 
assembly code. 
 
9. Write java code to implement the 3rd passphrase check in the same way as the 
assembly code. 
 
10. Write java code to implement the 4th passphrase check in the same way as the 
assembly code. 
 
11. Write java code to implement the 5th passphrase check in the same way as the 
assembly code. 
 
 
12. Write java code to implement the 6th passphrase check in the same way as the 
assembly code. 
 
 
 
Page 6/6 
 
Deliverables: Email a zip file with the subject Assignment-DynamicAnalysis to o 
fall21cs5375@gmail.com The zip file must contain the following: 
• You are only required to complete 1-5 and 7-11  
• For questions 1-6, a Microsoft Word document with written steps and screenshots 
detailing your thoughts and actions during your completion of each question.  
• For questions 1-6, your idb file that contains your comments, renamed functions, 
etc. 
• For question 7-12, a documented java file called Passphrase<#>.java, where <#> 
is the passphrase number.  
Important Note: Your java code should make the checks for the solutions in the 
same way as the assembly; to the extent that it is possible with Java. For 
example, do not simply implement a string compare, unless that is what the binary 
does. If there are multiple solutions, your code should also allow for multiple 
solutions. Lastly, your grade will factor in the readability of your code; use 
understandable variable names, good comments, and good coding style. 
Note: No credit is given if you simply supply an answer, you must document your 
steps and your code in sufficient detail.