Paste the code into MIPS Next, please comment each line of code
Need help with this assignment?Get an original answer from a qualified tutor — from $10/page.
Get it written →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 resumeprint_a: li $v0, 4 la $a0, str syscallLink to the code as well: https://github.com/jkovba/jhu_sp20_comporg/blob/master/overflow.s
Get a plagiarism-free answer to this question
Send us your instructions and we’ll match you with the best writer in your subject.
- 100% human-written, zero AI
- Turnitin report included
- Confidential — we never share your data
- Free revisions & refunds