Stack overflow | Computer Science homework help

 

Paste the code into MIPS 

Next, please comment each line of code in the .text section. Please do this FIRST! It will make tracing through the code much easier. 

Once you understand what the code is doing, you’ll notice there is a ‘print_a’ function that is not reachable through the execution path of the code as it’s written. Your job is to devise an input that overflows the call stack and overwrites the $ra register causing the program to execute the ‘print_a’ function. Please provide the successful input that triggers the overflow, a screenshot of the successful execution of your attack that prints the A+ message, and a detailed description of how you figured out how to exploit the buffer overflow and how you devised the proper input. 

Code used for the assignment above

.data

    str: .asciiz “You’ve earned an A+!”

    buffer: .space 28

    

.text

    li $v0,8

    la $a0, buffer

    li $a1, 28

   move $t0,$a0

    syscall

    

    move $a0, $t0

    jal print

    

   li $v0, 10

   syscall

    

    print:

     addi $sp, $sp, -20

     sw $ra, 16($sp)

     sw $a0, 12($sp)

    

     addi $t4, $sp, 0

     la $t1, ($a0)

    

     load_str:

   lbu $t2, ($t1)

   slti $t3, $t2, 1

   beq $t2, 48, null

   

   resume:

        

         sb $t2, 0($t4)

         addi $t4, $t4, 1

         addi $t1, $t1, 1

         bne $t3, 1, load_str

    

        li $v0, 4

        syscall

    

        lw $ra 16($sp)

        lw $a0 12($sp)

        jr $ra

    

        null:

     addi $t2, $t2, -48

     j resume

print_a:

    li $v0, 4

    la $a0, str

    syscall

Link to the code as well: https://github.com/jkovba/jhu_sp20_comporg/blob/master/overflow.s

Calculate your order
Pages (275 words)
Standard price: $0.00
Client Reviews
4.9
Sitejabber
4.6
Trustpilot
4.8
Our Guarantees
100% Confidentiality
Information about customers is confidential and never disclosed to third parties.
Original Writing
We complete all papers from scratch. You can get a plagiarism report.
Timely Delivery
No missed deadlines – 97% of assignments are completed in time.
Money Back
If you're confident that a writer didn't follow your order details, ask for a refund.

Calculate the price of your order

You will get a personal manager and a discount.
We'll send you the first draft for approval by at
Total price:
$0.00
Power up Your Academic Success with the
Team of Professionals. We’ve Got Your Back.
Power up Your Study Success with Experts We’ve Got Your Back.