User Tools

Site Tools


haas:spring2016:unix:projects:udr2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
haas:spring2016:unix:projects:udr2 [2016/03/20 20:00] – [Errata] wedgehaas:spring2016:unix:projects:udr2 [2016/03/24 17:40] (current) – [Errata] wedge
Line 11: Line 11:
 Typos and bug fixes: Typos and bug fixes:
  
-  * <description> (DATESTAMP)+  * A bug was discovered in binhaxx/search, which caused it to erroneously skip nearby packets when doing a complete packet search. This has been fixed and a new version of binhaxx has been released (1.0.1). Be sure to grab the updated version and use that. (20160324)
 =====Objective===== =====Objective=====
-Continuing our "1337 haxxing" series of projects, we've found considerable conceptual self-imposed roadblocks blocking our employment of otherwise simple computing properties (that data is a series of bytes, and ultimately, that **everything is a file**).+Continuing our "1337 haxxing" series of projects, we've found considerable conceptual self-imposed roadblocks blocking our employment of otherwise simple computing properties (that not only is **everything a file**, but that files are fundamentally a series of bytes). The sooner we accept this truth, the sooner many challenges begin to vanish.
  
 We resume our exploration with another practical example, this time based on real data generated by an EEG device. The intersection of hardware, software, and logic play vital roles in problem solving activities (even if it is just enabling analysts to make more educated guesses), and seems to be a skill increasingly taken for granted and alien. We resume our exploration with another practical example, this time based on real data generated by an EEG device. The intersection of hardware, software, and logic play vital roles in problem solving activities (even if it is just enabling analysts to make more educated guesses), and seems to be a skill increasingly taken for granted and alien.
Line 215: Line 215:
 Pretty awesome, right? Pretty awesome, right?
 =====Obtain the files===== =====Obtain the files=====
-This week's project is located in the **spring2015/udr2/** directory of the UNIX Public Directory, in an archive called: **sleepfun.tar.bz2**+There are two resources you need to obtain for **udr2**: 
 + 
 +====binhaxx suite==== 
 +Located at: http://lab46.corning-cc.edu/~wedge/projects/binhaxx/ 
 + 
 +Will be a collection of compressed archives for the **binhaxx** suite of pedagogical data manipulation tools. These are helper programs (or converters) optimized for various binary operations you may find yourself requiring the functionality of. 
 + 
 +Please download the latest release, extract it, read the documentation, build it, and install it into your own custom **~/bin** directory (and add that custom bin to your **PATH**). 
 + 
 +Explore these tools and get a feel for how they work. You may find use for some of them while performing this and other projects. 
 + 
 +====sleepdata==== 
 +The data for this week's project is located in the **udr2/** directory of the UNIX Public Directory, in an archive called: **sleepfun.tar.bz2**
  
 Make a copy of this into your home directory somewhere and set to work. Make a copy of this into your home directory somewhere and set to work.
  
 **NOTE:** Hopefully it has been standard practice to locate project files in their own unique subdirectory, such as under **src/unix/**, where you can then add/commit/push the results to your repository (you ARE regularly putting stuff in your repository, aren't you?) **NOTE:** Hopefully it has been standard practice to locate project files in their own unique subdirectory, such as under **src/unix/**, where you can then add/commit/push the results to your repository (you ARE regularly putting stuff in your repository, aren't you?)
 +
 +**NOTE:** You probably do not want to add/commit/push this **sleepfun.tar.bz2** archive, nor its extracted **.raw** files, as they do consume a bit of space. 
  
 =====Data Files===== =====Data Files=====
Line 265: Line 279:
   * **grep**(1) - can be contorted to cooperate   * **grep**(1) - can be contorted to cooperate
   * **date**(1) - might be useful for time/date manipulations   * **date**(1) - might be useful for time/date manipulations
-  * **bgrep** (see below for usage)+  * **binhaxx** tools
  
 ... along with other tools previously encountered. ... along with other tools previously encountered.
  
-====bgrep==== +====binhaxx search==== 
-To assist you with this project, a special "binary grep" has been deployed on the system, called **bgrep**. bgrep searches for patterns among binary data, as part of STDIN.+To assist you with this project, a special "binary search" has been developed, provided via the **binhaxx** tools, called **search**. **search** searches for patterns among binary data, as part of STDIN.
  
-It supports space-separated (or not) bytes of data, and even allows the use of '.' to denote any hex value (remember, it takes 2 hex values to occupy a byte).+It supports space-separated bytes of data, and even allows the use of '.' to denote any hex value (remember, it takes 2 hex values to occupy a byte).
  
 ===Example Usage=== ===Example Usage===
Line 278: Line 292:
  
 <cli> <cli>
-$ cat session-201302200614.raw | bgrep '12 34' +$ cat session-201302200614.raw | search '12 34' 
 533b:12 34  533b:12 34 
 29af3:12 34  29af3:12 34 
Line 296: Line 310:
  
 <cli> <cli>
-$ cat session-201302200614.raw | bgrep '12 .. 45' +$ cat session-201302200614.raw | search '12 .. 45' 
 3326:12 e0 45 3326:12 e0 45
  
Line 306: Line 320:
  
 <cli> <cli>
-$ cat session-201302200614.raw | bgrep '12 e.' +$ cat session-201302200614.raw | search '12 e.' 
 1cf4:12 ee  1cf4:12 ee 
 206d:12 e0  206d:12 e0 
Line 340: Line 354:
  
 <cli> <cli>
-$ cat session-201302200614.raw | bgrep '.c34+$ cat session-201302200614.raw | search '.c 34
 91c1:3c 34  91c1:3c 34 
 29029:8c 34  29029:8c 34 
Line 350: Line 364:
  
 </cli> </cli>
- 
-Notice in this last pattern, we opted not to space separate the pattern... it works either way (output will be space-separated regardless). 
  
 This will hopefully prove to be a useful tool in your binary analysis endeavors. This will hopefully prove to be a useful tool in your binary analysis endeavors.
 +
 =====Submission===== =====Submission=====
 Successful completion will result in the following criteria being met: Successful completion will result in the following criteria being met:
  
-  * When all is said and done, you will submit: +  * When all is said and done, you will submit 2 files
-    * **udr2.text**, containing the answers/responses to all the above questions (including commands used to pull off the project)+    * **udr2.text**, containing
 +      * an organized presentation of the answers/responses to all the above questions 
 +    * **udr2.sh** 
 +      * a shell script containing all the necessary commands to accomplish the project (and will automate a run of the project when executed). 
 +      * be sure to adequately comment the script so I can see your thought process (particular commands used, options utilized, logic used). 
 +      * the script should output important information related to the particular step being taken ("Determining amount of Deep Sleep", "Determining total time spent asleep", etc.), along with the determined result of that particular data point.
 ====Submit==== ====Submit====
 Please submit as follows: Please submit as follows:
  
 <cli> <cli>
-lab46:~/src/unix/udr2$ submit unix udr2 udr2.text+lab46:~/src/unix/udr2$ submit unix udr2 udr2.text udr2.sh
 Submitting unix project "udr2": Submitting unix project "udr2":
     -> udr2.text(OK)      -> udr2.text(OK) 
 +    -> udr2.sh(OK)
  
 SUCCESSFULLY SUBMITTED SUCCESSFULLY SUBMITTED
 lab46:~/src/unix/udr2$  lab46:~/src/unix/udr2$ 
 </cli> </cli>
 +
haas/spring2016/unix/projects/udr2.1458504022.txt.gz · Last modified: 2016/03/20 20:00 by wedge