久久久久久精品无码人妻_青春草无码精品视频在线观_无码精品国产VA在线观看_国产色无码专区在线观看

CS 211編程代做、代寫c/c++,Java程序

時間:2024-04-04  來源:  作者: 我要糾錯



CS 211 - Computer Architecture
Instructor: Prof. Santosh Nagarakatte
Assignment 4
Disassembling and Defusing a Binary Bomb
March 25, 2024
Due by April 10, 2024 - 5:00PM
dis·as·sem·ble (vt)
take apart: to take something such as a piece of machinery apart.
– Bing Dictionary
0 Overview
The purpose of Assignment 4 (PA4) is for you to become familiar with x86 64 Instruction Set Architecture (ISA).
The nefarious Dr. Evil has planted a slew of ”binary bombs” on our machines. A binary bomb is a program
that consists of a sequence of phases. Each phase expects you to type a particular string on stdin. If you type the
correct string, then the phase is defused and the bomb proceeds to the next phase. Otherwise, the bomb explodes
by printing ”BOOM!!!” and then terminating. The bomb is defused when every phase has been defused.
There are too many bombs for us to deal with, so we are giving everyone a bomb to defuse. Your mission,
which you have no choice but to accept, is to defuse your bomb before the due date. Good luck, and welcome to
the bomb squad!
1 Instructions
The bombs were constructed specifically for the Linux operating system. You must do this assignment on the iLab
machines. You will not defuse the bomb otherwise and will not get credit.
In fact, there is a rumor that Dr. Evil has ensured the bomb will always blow up if run elsewhere. There are
several other tamper-proofing devices built into the bomb as well, or so they say.
Open an Internet Browser and go to the URL: http://skylake.cs.rutgers.edu:17300. This address is only “visible” when you access it on iLab machines through weblogin. Fill the form up with your NetID
and your email address to get your bomb package. The file that you will get is in the format bombN.tar, where N is
your bomb ID, i.e. ID.
If you haven’t downloaded it in the iLab machines, copy the file to there and untar your bomb into your home
directory.
We recommend that you download no more than two bombs. Copy the bomb that you downloaded into your
iLab account and work with it.
$ tar -xvf bomb<ID>.tar
It will create a directory bomb< ID > that should contain the following files:
1
• bomb: The executable binary bomb
• bomb.c: Source file with the bomb’s main routine
• README: File with the bomb ID and extra information
Your job is to defuse the bomb. You can use many tools to help you with this; please look at the tools section
for some tips and ideas. The best way is to use a debugger to step through the disassembled binary.
The bomb has 9 phases. The phases get progressively harder to defuse, but the expertise you gain as you move
from phase to phase should offset this difficulty. Nonetheless, the latter phases are not easy, so please don’t wait
until the last minute to start. (If you’re stumped, check the hints section at the end of this document.)
The bomb ignores blank input lines. If you run your bomb with a command line argument, for example,
./bomb mysolution.txt
then it will read the input lines from mysolution.txt until it reaches EOF (end of file), and then switch over to
stdin (standard input from the terminal). In a moment of weakness, Dr. Evil added this feature so you don’t have
to keep retyping the solutions to phases you have already defused.
To avoid accidentally detonating the bomb, you will need to learn how to single-step through the assembly code
and how to set breakpoints. You will also need to learn how to inspect both the registers and the memory states.
One of the nice side-effects of doing the lab is that you will get very good at using a debugger. This is a crucial
skill that will pay big dividends the rest of your career.
IMPORTANT: Every time that the bomb explodes, you will lose 0.5 points. It is important that you use
breakpoints and avoid those unnecessary explosions.
2 Resources
There are a number of online resources that will help you understand any assembly instructions you may encounter
while examining the bomb. In particular, the programming manuals for x86 processors distributed by Intel and
AMD can be valuable. They both describe the same ISA, but sometimes one may be easier to understand than the
other.
It is important to realize that the assembly syntax of the instructions on the Intel manual follows the Intel
assembly language, while in the book, in gcc, and in gdb they all use the AT&T assembly language. They are
perfectly interchangable, you can identify the differences in this webpage:
http://asm.sourceforge.net/articles/linasm.html
2.1 Checking your Work
We provided a webpage where you can check your work. Access:
http://skylake.cs.rutgers.edu:17300/scoreboard to verify how many points you have, up to
which phase you have defused the bomb, and so on. You have to be on the iLab machines to access the above link.
3 Tools
There are many ways of defusing your bomb. You can examine it in great detail without ever running the program,
and figure out exactly what it does. This is a useful technique, but it not always easy to do. You can also run it
under a debugger, watch what it does step by step, and use this information to defuse it. This is probably the fastest
way of defusing it.
2
We do make one request, please do not use brute force! You could write a program that will try every possible
key to find the right one, but the number of possibilities is so large that you won’t be able to try them all in time.
There are many tools which are designed to help you figure out both how programs work, and what is wrong
when they don’t work. Here is a list of some of the tools you may find useful in analyzing your bomb, and hints on
how to use them.
• gdb: The GNU debugger is a command line debugger tool available on virtually every platform. You can
trace through a program line by line, examine memory and registers, look at both the source code and
assembly code (we are not giving you the source code for most of your bomb), set breakpoints, set memory
watch points, and write scripts. Here are some tips for using gdb.
– To keep the bomb from blowing up every time you type in a wrong input, you’ll want to learn how to
set breakpoints.
– The CS:APP Student Site has a very handy gdb summary (there is also a more extensive tutorial).
– For other documentation, type help at the gdb command prompt, or type ”man gdb”, or ”info gdb” at a
Unix prompt. Some people also like to run gdb under gdb-mode in emacs.
• objdump -t bomb: This will print out the bomb’s symbol table. The symbol table includes the names of all
functions and global variables in the bomb, the names of all the functions the bomb calls, and their addresses.
You may learn something by looking at the function names!
• objdump -d bomb: Use this to disassemble all of the code in the bomb. You can also just look at individual
functions. Reading the assembler code can tell you how the bomb works. Although objdump -d gives you a
lot of information, it doesn’t tell you the whole story. Calls to system-level functions may look cryptic. For
example, a call to sscanf might appear as:
8048c36: e8 99 f c ff ff call 80488d4 < init + 0x1a0 >
To determine that the call was to sscanf, you would need to disassemble within gdb.
• strings -t x bomb: This utility will display the printable strings in your bomb and their offset within the
bomb.
Looking for a particular tool? How about documentation? Don’t forget, the commands apropos and man
are your friends. In particular, man ascii is more useful than you’d think. If you get stumped, use the course’s
discussion board on Canvas.
4 Submission
You have to e-submit the assignment using Canvas. Your submission should be a tar file named bomb < ID > .tar
that can be extracted using the command:
tar -xf bomb<ID>.tar
Extracting your tar file must give a directory called bomb < ID >. This directory should contain the same
files that you downloaded, along with the file mysolution.txt to defuse the bomb.
To create the tar file that you will submit after finishing your programming assignment, you will use the following command line, in the parent directory of bomb < ID >:
tar -cvf bomb<ID>.tar bomb<ID>/
3
5 Grading
Your grade will be based on how many stages of the bomb you have defused. Be careful to follow all instructions.
If something doesn’t seem right, ask.
6 Collaboration
You are not supposed to assist your friends or other students in solving the bombs. You are required not to use any
online resource other than ones explicitly described above. If in doubt, ask. Keep in mind that your final will test
you based on the skills learned in this assignment.

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp

 

 

 

標簽:

掃一掃在手機打開當前頁
  • 上一篇:CSC3150代寫、Java/C++程序語言代做
  • 下一篇:代做SEHH2239、Python程序語言代寫
  • CISC3025代寫、代做c++,Java程序設計
  • 代寫CSci 4061、c/c++,Java程序代做
  • 代做CSCI 2525、c/c++,Java程序語言代寫
  • COMP 315代寫、Java程序語言代做
  • 昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風景名勝區
    昆明西山國家級風景名勝區
    昆明旅游索道攻略
    昆明旅游索道攻略
  • 短信驗證碼平臺 理財 WPS下載

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    久久久久久精品无码人妻_青春草无码精品视频在线观_无码精品国产VA在线观看_国产色无码专区在线观看

    欧美a级免费视频| 性欧美极品xxxx欧美一区二区| 成人黄色av片| 精品一卡二卡三卡| 国产一级片自拍| 中文字幕 欧美日韩| 50度灰在线观看| 日韩欧美视频网站| 亚洲精品怡红院| 免费黄色福利视频| 极品粉嫩美女露脸啪啪| 欧美三级午夜理伦三级| 国产视频一视频二| 精品视频免费在线播放| 成年女人18级毛片毛片免费 | 天堂av免费看| 国产精品国产亚洲精品看不卡| 大桥未久一区二区| 午夜啪啪免费视频| 日本一区二区黄色| 欧美变态另类刺激| 日本a级片免费观看| 久久久久久久久久久视频| 中文字幕第三区| 日韩欧美一区三区| ww国产内射精品后入国产| 亚洲一区二区三区av无码| 国产精品久久久久久久乖乖| 国产小视频免费| 国产91在线亚洲| 999一区二区三区| av免费看网址| 国产最新免费视频| 久久久精品在线视频| 日本新janpanese乱熟| 久久久精品麻豆| 国产 日韩 欧美在线| 免费看国产曰批40分钟| 激情六月丁香婷婷| 天天干天天干天天干天天干天天干| 日本久久久久久久久久久久| 国产欧美一区二| 可以免费看的黄色网址| 人妻少妇精品无码专区二区| 国产精品免费观看久久| 人人干人人干人人| 北条麻妃视频在线| 日本www在线视频| 欧美色图另类小说| 天天综合网日韩| 日本一二三区视频在线| 天天色天天综合网| 日本免费黄色小视频| 免费看日本毛片| 欧美一级裸体视频| 99中文字幕在线观看| 久久精品国产精品亚洲色婷婷| 日日噜噜夜夜狠狠| 欧美另类videosbestsex日本| 日韩精品―中文字幕| 国内国产精品天干天干| 97中文字幕在线| 啊啊啊国产视频| 狠狠噜天天噜日日噜| 欧美 日韩 亚洲 一区| 99re精彩视频| 2018国产在线| 最新av免费在线观看| 日韩欧美一区二| 日本黄色福利视频| 亚洲人精品午夜射精日韩| 蜜臀av免费观看| 高清欧美精品xxxxx| 99日在线视频| 久久久999视频| 日本中文字幕在线不卡| www.com毛片| 成年丰满熟妇午夜免费视频| www.日本xxxx| 欧美午夜性视频| 亚洲视频在线不卡| 免费日韩视频在线观看| 国产精品啪啪啪视频| 日韩一级免费在线观看| 日本黄色片一级片| 992tv人人草| 国产免费又粗又猛又爽| 五十路熟女丰满大屁股| 亚洲 欧洲 日韩| 欧美丰满熟妇xxxxx| 欧美日韩午夜爽爽| www.夜夜爽| 欧美牲交a欧美牲交aⅴ免费真 | 精品久久久噜噜噜噜久久图片| 福利视频免费在线观看| 亚洲欧美手机在线| 999香蕉视频| 日韩a∨精品日韩在线观看| 韩国黄色一级大片| 91视频这里只有精品| 成年人免费在线播放| 日韩小视频网站| 亚洲激情免费视频| 国产精品av免费| 中文字幕永久有效| 天堂中文视频在线| 日本三级免费观看| 免费成人午夜视频| 欧美乱大交xxxxx潮喷l头像| 久久久久久久久影视| 污免费在线观看| xxxx在线免费观看| 色播五月激情五月| 超碰超碰在线观看| 天堂在线资源视频| 日韩福利视频在线| 久草在在线视频| 美女黄色片视频| 久草福利视频在线| 超碰在线人人爱| 亚洲国产日韩欧美在线观看| 手机在线成人免费视频| 婷婷六月天在线| 亚洲第一中文av| 天天干天天操天天做| 国产福利在线免费| 91 视频免费观看| 免费成人午夜视频| 黄色一级视频在线播放| 国产精品裸体瑜伽视频| 欧美二区在线视频| av天堂永久资源网| 国产男女激情视频| 不卡av免费在线| 天天干天天综合| 亚洲欧美视频二区| 亚洲日本黄色片| 午夜啪啪福利视频| 久久福利一区二区| 久艹视频在线免费观看| 欧美v在线观看| 艹b视频在线观看| xxx中文字幕| 97中文字幕在线| 免费观看精品视频| 久久久精品麻豆| 樱花草www在线| 少妇大叫太大太粗太爽了a片小说| 精品丰满人妻无套内射| 国产在线青青草| 国产成年人视频网站| 免费看污污视频| 你懂的av在线| av网站在线不卡| 黑人巨大国产9丨视频| 欧美激情 国产精品| www.天天射.com| 视色,视色影院,视色影库,视色网| 欧美亚洲色图视频| 亚欧在线免费观看| 免费久久久久久| 精品少妇一区二区三区在线| 国产裸体免费无遮挡| 欧美爱爱视频网站| 熟女少妇在线视频播放| www亚洲成人| 日韩欧美精品免费| 黄色免费网址大全| 国产成人亚洲综合无码| 成人在线观看a| 国产av第一区| 黄色高清无遮挡| 天天爱天天做天天操| 日韩在线视频在线观看| 免费成人黄色大片| 水蜜桃色314在线观看| 第一区免费在线观看| 中文字幕无码精品亚洲资源网久久| 99免费视频观看| 欧美人与动牲交xxxxbbbb| 国产熟人av一二三区| 欧美a级黄色大片| 精品久久久久久久无码| 国产在线视频在线| 爱爱爱爱免费视频| 无码播放一区二区三区| 欧美激情第四页| www日韩在线观看| 久久艹国产精品| 国产高清精品软男同| 欧洲熟妇精品视频| 777av视频| 日韩欧美中文在线视频| 日韩免费毛片视频| www.avtt| 亚洲第一精品区| 最新中文字幕2018| 18禁男女爽爽爽午夜网站免费| 欧美另类videosbestsex日本| 日韩av在线中文|