Question

In: Computer Science

Describe, in your own words, how branch functions make dissassembly more difficult. Your answer should briefly...

Describe, in your own words, how branch functions make dissassembly more difficult. Your answer should briefly describe how linear sweep and recursive traversal disassembly work, and how branch functions affect both of them.

Solutions

Expert Solution

Linear Sweep : It is a basic algorithm taking all the section marked as code (collection of bytes) and disassembling (at the beginning, decoding 1st byte and so on) it by reading the instructions one after another until the end of the segment.

Recursive traversal disassembly: This is based on the concept of control flow to disassembly a program. Whenever this algorithm detects an instruction that can take more than one path. The key element to this approach is analysis of each instruction to determine if it is referenced from any other location. There are several classifications.

a)Sequential flow Instructions

b)Conditional Branching Instructions

c)Unconditional Branching Instructions

d)Function Call Instructions

e)Return Instructions

Generally dissemblers follow one of the two approaches. The drawback of linear sweep is that they are error prone. When junk bytes are inserted at unreachable locations then it has huge impact on linear sweep. But insertion of junk bytes has no impact on recursive dissembler. The problem with recursive approach is that the control flow cannot always reconstructed precisely. When a jump or a call cannot be determined (for an indirect jump), the recursive dissemblers cannot analyze the parts of the program's code. Recursive traversal relies on branch function. Thus creates possibilities to insert junk bytes and mislead both types of dissemblers. A normal call to a subroutine is replaced with a call to the branch function which uses indirect jump to transfer control to the original subroutine. Also, an offset value is added to the return address of the subroutine. When subroutine is done, the control is transferred to the address after the call instruction.

When we are using branch function then we can jump to any instruction and can decode it anytime but when we are performing linear sweep and recursive traversal , we must follow a specific order. Thus using branch function affects both of them.


Related Solutions

Describe the following terms in your own words. Your answer should not be more than 6...
Describe the following terms in your own words. Your answer should not be more than 6 lines or 70 words maximum. A. Unemployed. B. Participation rate. C. Unemployment rate. D. Frictional unemployment. E. Structural unemployment. F. Cyclical unemployment. G. Discouraged workers.
Also briefly answer these questions in your own words: - In general, when should you use...
Also briefly answer these questions in your own words: - In general, when should you use non-parametric vs. parametric tests? - Specifically, what are the parametric equivalents of: the Mann-Whitney, Wilcoxon rank-sum & signed-rank, Kruskal-Wallis, and Friedman's tests? what type of variables or research design would call for each of these tests (i.e. how do know which test to use)? - When would you use a chi-square test, what are its assumptions, and what does the textbook recommend for reporting...
MIS/D3: Please make sure the answer should be in your own words with at least 30...
MIS/D3: Please make sure the answer should be in your own words with at least 30 sentences. 1. What are the business costs or risks of poof data quality? Support your discussion with at least 3 references. 2. What is data mining? Support your discussion with at least 3 references. 3. What is text mining? Support your discussion with at least 3 references.
Anwser in your own words Describe in your own words, what should be included in health...
Anwser in your own words Describe in your own words, what should be included in health record documentation best practices. Provide at least one example of how HIM's ensure these best practices are met.
describe how the virus will replicate in your own words. You should include how it will...
describe how the virus will replicate in your own words. You should include how it will make a new genome and how it will make new proteins/capsomers. Feel free to sketch this out as well. 1/Measles virus Spherical enveloped virus with helical capsid. Single-stranded, negative-sense, RNA virus. 2/ Epstein-Barr Virus Enveloped virus with an icosahedral-shaped capsid, containing double-stranded linear DNA. 3/ Norovirus Naked, icosahedral virus with positive, single-stranded RNA that does not use a reverse transcriptase.
In your own words, briefly describe how and why the size of motor units vary in...
In your own words, briefly describe how and why the size of motor units vary in muscles which require strength vs. muscles which require precision.
D5/ISI: Please make sure the answer should be at least 30 sentences with your own words....
D5/ISI: Please make sure the answer should be at least 30 sentences with your own words. Research emerging enterprise network applications and describe 3 that you think are most interesting and briefly explain why you believe this.
Answer the question below: In your own words, do you believe that more companies today should...
Answer the question below: In your own words, do you believe that more companies today should enforce and invest more in a social media care team? Why do you think more companies today are utilizing a social media care team?
3- a) List and describe IN YOUR OWN WORDS the five functions of a manager?    ...
3- a) List and describe IN YOUR OWN WORDS the five functions of a manager?     b) How are financial statements used by business?     c) Compare variable and fixed expenses. USE YOUR OWN WORDS.
In your own words, describe how DNA reproduces to make new DNA molecules
In your own words, describe how DNA reproduces to make new DNA molecules
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT