This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
haas:spring2018:unix:projects:bdp0 [2018/03/05 19:30] – created wedge | haas:spring2018:unix:projects:bdp0 [2018/03/05 19:47] (current) – [Forbidden tools] wedge | ||
---|---|---|---|
Line 17: | Line 17: | ||
As a side job to help you through school, you've become employed at a local microblogging and meme archival firm as their head UNIX IT lead. Your run-of-the-mill tasks include setting up single-purpose web pages and web-browsable images to aid the researchers in tracking the evolution of memes. | As a side job to help you through school, you've become employed at a local microblogging and meme archival firm as their head UNIX IT lead. Your run-of-the-mill tasks include setting up single-purpose web pages and web-browsable images to aid the researchers in tracking the evolution of memes. | ||
- | Everything was going fine, until one day a researcher, with freshly obtained meme from a multi-seeded bittorrent transfer, experienced a hard drive failure. | + | Everything was going fine, until one day a researcher with a freshly obtained meme (from a multi-seeded bittorrent transfer), experienced a hard drive failure. |
- | Preservation of this meme is downright critical to on-going research, and with seconds to spare before the system locks up, you manage to do a memory dump of the region of RAM containing the downloaded meme data, and transfer it to another system before it becomes unresponsive. | + | Preservation of this meme is downright |
- | The last thing you see on the screen before the system locks up is a hex address of the table of contents and its octal length: | + | The last thing you see on the screen before the system locks up is a hex address of the table of contents and its octal length, which was stored in a **memdump.status** file. |
+ | |||
+ | For example, you may see something like: | ||
* address (in hex): **0x1ced3** | * address (in hex): **0x1ced3** | ||
Line 37: | Line 39: | ||
=====Obtain the file===== | =====Obtain the file===== | ||
- | This week's project is located in the **udr0/** subdirectory of the UNIX Public Directory, in a file called: **memdump.ram** | + | This week's project is located in the **bdp0/** subdirectory of the UNIX Public Directory, in files called: **memdump.ram** |
There is a companion file called **dectohex.c**, | There is a companion file called **dectohex.c**, | ||
Line 72: | Line 74: | ||
Additionally, | Additionally, | ||
- | ====Forbidden tools==== | ||
- | |||
- | For the purposes of this project, you are not permitted to use any hex editing tools (hexdump, bvi, etc.) to assist you in producing the solution. Any steps relying in any part on the use of these tools will see credit lost. The aim of this project is to test your low-level data manipulation and calculation skills. | ||
- | |||
- | You are also forbidden from using any external-to-the-system translation tools (like hex/dec/oct calculators on the web). You must perform any and all calculations using tools on lab46 (and explain your usage of them in your list of instructions!). | ||
- | You can certainly use other tools to help you in better determining your steps to solution. | ||
====quick dd primer==== | ====quick dd primer==== | ||
Those with little patience and low observation skills are often quick to label **dd** a difficult or weird tool. While it is true that **dd** is no **ls**, it is a powerful tool, quite useful in its particular domain. | Those with little patience and low observation skills are often quick to label **dd** a difficult or weird tool. While it is true that **dd** is no **ls**, it is a powerful tool, quite useful in its particular domain. | ||
Line 94: | Line 90: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
1+1 records in | 1+1 records in | ||
1+1 records out | 1+1 records out | ||
859 bytes (859 B) copied, 0.000149696 s, 5.7 MB/s | 859 bytes (859 B) copied, 0.000149696 s, 5.7 MB/s | ||
- | lab46: | + | lab46: |
</ | </ | ||
Line 116: | Line 112: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
859+0 records in | 859+0 records in | ||
859+0 records out | 859+0 records out | ||
859 bytes (859 B) copied, 0.00400408 s, 215 kB/s | 859 bytes (859 B) copied, 0.00400408 s, 215 kB/s | ||
- | lab46: | + | lab46: |
</ | </ | ||
Line 131: | Line 127: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
############################################################################## | ############################################################################## | ||
## __ | ## __ | ||
Line 154: | Line 150: | ||
1+0 records out | 1+0 records out | ||
859 bytes (859 B) copied, 0.000158424 s, 5.4 MB/s | 859 bytes (859 B) copied, 0.000158424 s, 5.4 MB/s | ||
- | lab46: | + | lab46: |
</ | </ | ||
Line 182: | Line 178: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
dd: ‘/ | dd: ‘/ | ||
0+0 records in | 0+0 records in | ||
0+0 records out | 0+0 records out | ||
0 bytes (0 B) copied, 0.000252174 s, 0.0 kB/s | 0 bytes (0 B) copied, 0.000252174 s, 0.0 kB/s | ||
- | lab46: | + | lab46: |
</ | </ | ||
Line 197: | Line 193: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
s@corning-cc.edu or wedge@lab46.corning-cc.edu | s@corning-cc.edu or wedge@lab46.corning-cc.edu | ||
## | ## | ||
Line 207: | Line 203: | ||
200+0 records out | 200+0 records out | ||
200 bytes (200 B) copied, 0.00165582 s, 121 kB/s | 200 bytes (200 B) copied, 0.00165582 s, 121 kB/s | ||
- | lab46: | + | lab46: |
</ | </ | ||
=====Submission===== | =====Submission===== | ||
Line 214: | Line 210: | ||
* Resulting image has been scaled approximately 2x to a resolution of 414x418 | * Resulting image has been scaled approximately 2x to a resolution of 414x418 | ||
* Image has been converted to **PNG** format and named **meme0531.png** | * Image has been converted to **PNG** format and named **meme0531.png** | ||
- | * Image has been placed in your Lab46 webspace, in a **unix/udr0/** directory which is searchable to the web server (world search); image is world readable. | + | * Image has been placed in your Lab46 webspace, in a **unix/bdp0/** directory which is searchable to the web server (world search); image is world readable. |
* No superfluous permissions should be present for group/ | * No superfluous permissions should be present for group/ | ||
* All parent directories need to also be world searchable in order to function | * All parent directories need to also be world searchable in order to function | ||
Line 233: | Line 229: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
Submitting unix project " | Submitting unix project " | ||
-> bdp0steps(OK) | -> bdp0steps(OK) | ||
-> meme0531.png(OK) | -> meme0531.png(OK) | ||
- | -> http:// | + | -> http:// |
SUCCESSFULLY SUBMITTED | SUCCESSFULLY SUBMITTED | ||
lab46: | lab46: | ||
</ | </ |