Research Assignment 3 Intro to Programming Logic and Design

In: Computers and Technology

Submitted By sdshannon
Words 301
Pages 2
Research Assignment 3: Exploring Reverse Engineering

• What is reverse engineering?

Reverse engineering is the general process of analyzing a technology specifically to ascertain how it was designed or how it operates. This kind of inquiry engages individuals in a constructive learning process about the operation of systems and products. Reverse engineering as a method is not confined to any particular purpose, but is often an important part of the scientific method and technological development. The process of taking something apart and revealing the way in which it works is often an effective way to learn how to build a technology or make improvements to it. When reverse engineering software, researchers are able to examine the strength of systems and identify their weaknesses in terms of performance, security, and interoperability. The reverse engineering process allows researchers to understand both how a program works and also what aspects of the program contribute to its not working.

• What are the advantages and disadvantages of using reverse engineering to discover the logics of a software program?

Reverse engineering in software is reversing a program's machine code back into it's original source code. The advantages to using this technique is that one can repair certain bugs, see how a program operates, and improve the operation of the program. The disadvantage is that certain other bugs may be introduced during this process.

• Find any one tool available to perform reverse engineering of software programs. What are at least five features of that tool?

REC Studio 4 - Reverse Engineering Compiler
Multihost: Rec Studio runs on Windows XP/Vista/7, Ubuntu Linux, Mac OS X.
Symbolic information support using Dwarf 2 and partial recognition of Microsoft's PDB format.
C++ is partially recognized: mangled names…...

Similar Documents

Intro to Fine Art Assignment 3

...Intro to Fine Art Assignment 3 Question 1. In order to fully understand Roman art, we must understand that “Roman culture was modeled on that of the Greeks.” (Lewis 228) More specifically our textbook states that “while the romans absorb their artistic ideals from the Greeks, they were more realistic than idealistic, more active than philosophical, more pragmatic than creative.” (Lewis 228) One example of the more realistic art contributions made by the Romans is “a tradition of realistic portraits.” (Lewis 228-229) The Roman sculpture of Cato and Porzia exemplifies this realistic portrait sculpture. The portrait is very realistic and descriptive of all of their features despite their somewhat unattractive nature. By contrast, the Greek’s would have preferred a much more idealized sculpture of the couple. Another aspect of art introduced by the Romans can be seen in their architecture. The Romans used many of the Greek techniques but also “borrowed the idea of the arch from the East and exploited its possibilities to construct public buildings of great size, feats of ancient engineering.” (Lewis 230) The Roman Coliseum could not have been built using traditional Greek architecture due to the weight of the structure. In addition to the use of the arch in Roman architecture, “The Romans developed the architectural feature of the dome.” (Lewis 233) The Roman Temple the Pantheon is a great example of the Romans use of the dome in architecture. The Roman use small stones......

Words: 774 - Pages: 4

Unit 1 Assignment 1 Programming Logic & Design

...Unit 1 Assignment1: Homework CHAPTER 1 pg. 26 #1-7 SHORT ANSWER 1) Why is the CPU the most important component in a computer? The CPU is the most important component in a computer because without it, the computer could not run software. 2) What number does a bit that is turned on represent? What number does a bit that is turned off represent? The number zero represents a bit that is turned off or has a negative charge. The number one represents a bit that is turned on of has a positive charge. 3) What would you call a device that works with binary data? Digital device is any device that works with binary data. 4) What are the words that make up a high-level programming language called? The words that make up a high-level programming language are known as key words or reserved words. 5) What are the short words that are used in assembly language called? Assembly language uses short words that are known as Mnemonics. 6) What is the difference between a compiler and an interpreter? A compiler is a program that translates a high-level language program into a separate machine language program. An interpreter is a program that both translates and executes the instructions in high-level language program. 7) What type of software controls the internal operations of the computer’s hardware? An operating system is the most fundamental set of programs on a computer which controls the internal operations of the......

Words: 282 - Pages: 2

Programming Logic and Design, 6th Edition

...Programming Logic and Design, 6th Edition Chapter 2 Exercises 1. Explain why each of the following names does or does not seem like a good variable name to you. Answer: Answers will vary. A possible solution: a. | c | – | Valid, but probably too short to be descriptive | b. | cost | – | Good | c. | costAmount | – | Good, but redundant | d. | cost amount | – | Invalid, spaces aren’t allowed | e. | cstofdngbsns | – | Valid, but difficult to read | f. | costOfDoingBusinessThisFiscalYear | – | Valid, but long and awkward | g. | costYear2012 | – | Good | h. | 2012YearCost | – | Invalid, cannot start with a digit | 17 2. If myAge and yourRate are numeric variables, and departmentName is a string variable, which of the following statements are valid assignments? If a statement is not valid, explain why not. Answer: a. | myAge = 23 | – | Valid | b. | myAge = yourRate | – | Valid | c. | myAge = departmentName | – | Invalid, cannot assign string to numeric | d. | myAge = “departmentName” | – | Invalid, cannot assign string to numeric | e. | 42 = myAge | – | Invalid, cannot assign a value to a literal constant | f. | yourRate = 3.5 | – | Valid | g. | yourRate = myAge | – | Valid | h. | yourRate = departmentName | – | Invalid, cannot assign string to numeric | i. | 6.91 = yourRate | – | Invalid, cannot assign a value to a......

Words: 1719 - Pages: 7

Programming Logic and Design Unit 4

...Unit 4 Programming Unit 4 Short Answers 1-7 1. How do modules help you to reuse code in a program? A. It reduces the duplication of code within a program by reusing the module that was written once. 2. Name and describe the two parts that a module definition has in most languages. A. Header and a body, header indicates starting point, and the body is a list of statements. 3. When a module is executing, what happens when the end of the module is reached? A. It’s executed and returned back to the point in main program where it was sidetracked from. 4. What is a local variable? What statement is able to access a local variable? A. A variable declared inside a local module, only statement within a module 5. In most languages, where does a local variable’s scope begin and end? A. Begins at the variables declaration within a module and ends at the end of the module in which the variable is declared. 6. What is the difference between passing an argument by value and passing it by reference? A. By value only a copy of the argument’s value is passed. By reference its passed into a special modification parameter. 7. Why do global variables make a program difficult to debug? A. Because global is used throughout all modules and hard to track. Algorithm Workbench Review 1, 5, 6, 7 1. Design a module named timesTen. The module should accept an Integer argument. When the module is called, it should display the......

Words: 1032 - Pages: 5

Programming Logic and Design 6th Ed

...Programming Logic and Design, 6th Edition Chapter 5 Exercises 1. What is output by each of the pseudocode segments in Figure 5-22? Answer: a. 5, 22, 5 b. 4, 6, 7 c. 5, 6 d. Goodbye Goodbye Goodbye Goodbye Goodbye Goodbye Goodbye Goodbye Goodbye e. Hello Hello Hello f. Adios Adios Adios Adios Adios Adios Adios Adios 2. Design the logic for a program that outputs every number from 1 through 10. Answer: A sample solution follows Flowchart: Pseudocode: start Declarations num number housekeeping() number = 1 while number 99999 output “Please enter a valid zip code” input custZip endwhile return validateCustAge() while custAge < 10 OR custAge > 110 output “Please enter a valid customer age” input custAge endwhile return validateNumItems() Declarations num attempts = 0 num LIMIT = 2 validNumItems = 1 while (numItems < 1 OR numItems > 12) AND attempts < LIMIT output “Please reenter the number of items” input numItems attempts = attempts + 1 endwhile if attempts = 2 AND numItems < 0 then output “An invalid number of items was entered” output “This order will not be counted” validNumItems = 0 endif return housekeeping() output ZIP_PROMPT input custZip return detailLoop() output AGE_PROMPT input custAge output ITEM_PROMPT input......

Words: 1493 - Pages: 6

Intro to Programming

...Intro to programming final study guide 1. Name the components of a computer: CPU, RAM, Secondary storage devices, Input devices, Output devices 2. What does a disk drive do? A disk drive stores data by magnetically encoding it onto a circular disk. 3. What is the largest value that can be stored in a bit? 255 4. What is ASCII? ASCII is the American Standard Code for Information Interchange which is a set of 128 numeric codes that represent the English letters, various punctuation marks, and other characters 5. What is machine language? Machine language is written in 1s and 0s and known as binary. 6. How does a computer execute instructions? The computer uses the fetch-decode-execute cycle. 7. What is assembly language? Assembly language uses short words that are known as mnemonics instead of binary. 8. What is syntax? Syntax is a set of rules that must be strictly followed when writing a program. 9. What is an interpreter? An interpreter is a program that both translates and executes the instructions in a high level language program 10. What is a logic error? A logic error is a mistake that does not prevent the program from running, but causes it to produce incorrect results. 11. What is an algorithm? An algorithm is a set of well defined logical steps that must be taken to perform a task. 12. What is Pseudocode? Pseudocode is fake code. 13. What are the symbols used in a flowchart? The Ovals which are called terminal symbols that start and stop something,......

Words: 771 - Pages: 4

Pt1420 Programming Unit 1 Research Assignment

...1970’s CLU is a programming language created at MIT by Barbara Liskov and her students between 1974 and 1975. It was notable for its use of constructors for abstract data types that included the code that operated on them, a key step in the direction of object-oriented programming (OOP). Euclid is an imperative programming language for writing verifiable programs. It was designed by Butler Lampson and associates at the Xerox PARC lab in the mid-1970s. The implementation was led by Ric Holt at the University of Toronto and James Cordy was the principal programmer for the first implementation of the compiler. It was originally designed for the Motorola 6809 microprocessor. Forth is an imperative stack-based computer programming language and programming environment. Language features include structured programming, reflection (the ability to modify the program structure during program execution), concatenative programming (functions are composed with juxtaposition) and extensibility (the programmer can create new commands). Although not an acronym, the language's name is sometimes spelled with all capital letters as FORTH, following the customary usage during its earlier years. Forth was designed by Charles H. Moore and appeared in the 1970’s. GRASS is the original version of GRASS was developed by Tom DeFanti for his 1974 Ohio State University Ph.D. thesis. It was developed on a PDP-11/45 driving a Vector General 3DR display, and as the name implies, this was a purely......

Words: 1885 - Pages: 8

Intro to Programming Unit 1 Research Assignment

...Unit 1 research assignment 1 1970’s 1) Pascal, Creator, Niklaus Wirth. The specific motivation behind this language was to encourage good programming practice using structured programming and data structuring. 2) SQL (Structured Query Language) designed by, Donald D. Chamberlin, and Raymond F. Boyce. The motivation behind this language was designed for managing data held in a relational database management system. ( RDBMS) 3) C, Designed by Dennis Ritchie. the motivation behind this language is structured programming and allows lexical variable scope and recursion. 4) Applesoft BASIC, developed by Marc McDonald, and Ric Weiland. The motivation with this language was it was designed to be backwards-compatible with integer BASIC and used the core of Microsoft’s 6502 BASIC implementation. 5) GRASS, Developed by Thomas A. DeFanti. GRASS is similar to BASIC in sytax, but added numerous instructions for specifying 2D object animation, including scaling, translation, rotation and color changes over time. 1980’s 1) BASICA, Designed by Thomas E. Kurtz. Designed to offer support for the graphics and sound hardware of the IBM PC line. 2) Turbo Pascal, developed by Borland, under Philippe Kahn’s leadership. This is a software development system that includes a compiler and an integrated development environment for the Pascal programming language. 3) C++, designed by Bjarne Stroustrup. This is a general purpose programming language that is......

Words: 677 - Pages: 3

Unit 3 Intro to Programming Homework

...you want to run something add “&” to the command. 2. What is a PID number? Why are these numbers useful when you run processes in the background? Which utility displays the PID numbers of the commands you are running? An identification number that is automatically assigned to each process when it is created on the Linux operating system. I personally don’t think that the PID is particularly useful, but they are required to use the kill command. The PS command displays the PID numbers. 3. Assume that the following files are in the working directory: $ ls intro notesb ref2 section1 section3 section4b notesa ref1 ref3 section2 section4a sentrev *Give commands for each of the following, using wildcards to express files names with as few characters as possible. a. List all files that begin with section. $ ls section* b. List the section1, section2, and section3 files only. $ ls section[1-3] c. List the intro file only. $ ls i* d. List the section1, section3, ref1, and ref3 files. $ ls *[13] 4. Give an example of a command that uses grep. In which of the preceding cases is grep used as a filter? A. With both input and output redirected. $ grep \$Id < *.c > id_list B. With only input redirected. $ grep -i suzi < addresses C. With only output redirected. $ grep -il memo *.txt > memoranda_files D. Within a pipe. $ file /usr/bin/* | grep "Again shell script" | sort -r In which...

Words: 1208 - Pages: 5

Chapter 3 Programming Logic and Design Tony Gadis Partial

...Assignment #3 – Chapter #3 Wharton Class Due: Tuesday, September 16th @ 8:45am FBTC Class Due: Wednesday, September 17th @ 10:15am M/C Questions 1 – 15, pp. 113-4 (30 pts. total – 2 pts. ea.) 1. c 2. a 3. d 4. b 5. c 6.a 7.a 8. b 9. c 10. a 11. b 12. c 13. a 14. d 15. b T/F Questions 1 – 12, p.115 (12 pts. total – 1 pt. ea.) 1. f 2. t 3. t 4. f 5. t 6. f 7. f 8. t 9. t 10.f 11. t 12. f Algorithm Workbench #1 - #7, pp.115-6 – Write pseudocode (not Java) (21 pts. total) 1. Module Main() Declare userNum as Integer Display "Enter a number" input userNum call TimesTen(userNum) Display userNum End Function TimesTen(integer userNum) userNum = (userNum * 10) return userNum End Function Algorithm Workbench #1 - #7, pp. 115-6 (continued) – Write pseudocode (not Java) 2. def main(): showvalue() def showvalue(): print '12' main() 3. The value stored in ‘a’ will be: 3 The value stored in ‘b’ will be: 2 The value stored in ‘c’ will be: 1 4. Declare Integer age Declare Real income Declare String name Call Module1 (agem Real_Income, Name) 5. 6. 7. Debugging Exercises, p.117 (3 pts. Ea. / 12 pts. Total ) 1. 2. 3. 4. Programming Exercises, (#1 - p.117) (10 points total) #1. Kilometer Converter Design a modular program that asks the user to enter a distance in kilometers, and the converts that distance to miles.......

Words: 645 - Pages: 3

Logic & Design

... Third Edition Starting Out with Programming Logic & Design This page intentionally left blank Third Edition Starting Out with Programming Logic & Design Tony Gaddis Haywood Community College Boston Columbus Indianapolis New York San Francisco Upper Saddle River Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montreal Toronto Delhi Mexico City São Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo Editorial Director: Marcia Horton Editor in Chief: Michael Hirsch Acquisitions Editor: Matt Goldstein Editorial Assistant: Chelsea Kharakozova Director of Marketing: Patrice Jones Marketing Manager: Yez Alayan Marketing Coordinator: Kathryn Ferranti Marketing Assistant: Emma Snider Director of Production: Vince O’Brien Managing Editor: Jeff Holcomb Production Editor: Pat Brown Manufacturing Buyer: Pat Brown Art Director: Anthony Gemmellaro Cover Designer: Joyce Cosentino Wells Cover Art: © iStockphoto Media Project Manager: John Cassar Full-Service Project Management: Jogender Taneja/Aptara®, Inc. Composition: Aptara®, Inc. Printer/Bindery: Edwards Brothers Cover Printer: Lehigh-Phoenix Color/Hagerstown Copyright © 2013, 2010, 2008 by Pearson Education, Inc., publishing as Addison-Wesley. All rights reserved. Manufactured in the United States of America. This publication is protected by Copyright, and permission should be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in......

Words: 115158 - Pages: 461

Unit 5 Research Paper for Intro to Programming

...NT 1310 | October 16 2014 | Phillip Wilson | Mr. Covington | A shell script is just a text file full of commands. It must be executable. A shell script is also a computer program designed to be run by the Unix shell, a command line interpreter. The various dialects of shell scripts are considered to be scripting languages. Typical operations performed by shell scripts include file manipulation, program execution, and printing text. Writing a shell script is much quicker than writing the equivalent code in other programming languages. The many advantages include easy program or file selection, quick start, and interactive debugging. A shell script can be used to provide sequencing and decision-making linkage around existing programs, and for moderately-sized scripts the absence of a compilation step is an advantage. Interpretive running makes it easy to write debugging code into a script and rerun it to detect and fix bugs. Non-expert users can use scripting to tailor the behavior of programs, and shell scripting provides some limited scope for multiprocessing. Most common usage methods of PowerShell are interactive console (powershell.exe) and script files (with extension of .ps1 that is also usually executed by powershell.exe). Main features of PowerShell are: .Net integration, object pipeline, easy access to many management domains (WMI, ADSI, COM, .NET etc.) and standardization that brings easy discovery and quick learning of new features after you know base......

Words: 311 - Pages: 2

Exponent Calculator Programming Logic and Design

...Purpose: Calculate the result of a number raised to the power of another number input by the user using iterative logic without overflow of 32-bit integers##   //Program start// START //declare variables // declare unsigned int base, exp, answer, errorInput, errorOutput Declare var string exit Global var constant int multiply = 1, maxValue = 2147483647 Set answer = 1 Set base = 1 Set exp = 1   // determine if input fits in unsigned 32 bit int and set exit sentinel // //welcome message// Display “This program will determine the value of an integer (X) raised to the power of a second integer (N).” WHILE exit !=n //set repeat of input if error message is flagged and reset error flags// DO      SET errorInput = 0      Set errorOutput = 0 //user input prompts//     Display “Please Enter first integer: “          Input base     Display “Please enter second integer: ”            Input exp IF (base,exp) >= maxValue THEN    //error message// Display “ Error! Value exceeds maximum available input. Please enter a value less than 2147483647”   SET errorInput = 1  END IF WHILE errorInput = 1 //perform calculation with iterative multiplication// //check for error outputs & unneccessary execution of loop// IF exp != 0 THEN FOR (errorOutput ! =1 && multiply maxValue THEN SET  errorOutput = 1              END IF END FOR   //end calculation and check for maximum value......

Words: 266 - Pages: 2

Starting Out with Programming Logic & Design

...Chapter 3 Questions# 5 & 6 Pg# 71 5. What two thing must you normally specify in a variable declaration? * You must specify the variable type and an identifier. * int n; // type - int, identifier - n 6. What value is stored in uninitialized variables? * is a variable that is declared but is not set to a definite known value before it is used. Algorithm Workbench 3. Write assignment statement that perform the following operations with the variables a, b, and c. a. Adds 2 to a and stores the result in b b. Multiplies b times 4 and stores the result in a c. Divides a by 3.14 and stores the result in b d. Subtracts 8 from b and stores the result in a Assignment statements that perform operations with the variables a, b, and c* (*Actually none of these operations involves the variable c at all... is this an error, or a 'trick answer'?): b = a + 2 a = b * 4 b = a / 3.14 a = b - 8 4. Assume the variables result, w, x, y, and z are all integers, and that w = 5, x = 4, y =8, and z = 2. What value will be stored in result in each of the following statements? a. Set result = x + y b. Set result = z * 2 c. Set result = y / x d. Set result = y – z result = x++ - y; Answer -4 result = 4 – 8 = -4 result = ++w + y; Answer w = w + 1 = 5 + 1 = 6 result = 6 + 8 = 14 5. Write a pseudocode statement that declares the variable cost so it can hold real numbers. Declare Real price= 0.00 Display "the original price." Input......

Words: 1139 - Pages: 5

Programming Logic

...Home Page» Computers and Technology Starting Out with Programming Logic & Design In: Computers and Technology Starting Out with Programming Logic & Design Chapter 3 Questions# 5 & 6 Pg# 71 5. What two thing must you normally specify in a variable declaration? * You must specify the variable type and an identifier. * int n; // type - int, identifier - n 6. What value is stored in uninitialized variables? * is a variable that is declared but is not set to a definite known value before it is used. Algorithm Workbench 3. Write assignment statement that perform the following operations with the variables a, b, and c. a. Adds 2 to a and stores the result in b b. Multiplies b times 4 and stores the result in a c. Divides a by 3.14 and stores the result in b d. Subtracts 8 from b and stores the result in a Assignment statements that perform operations with the variables a, b, and c* (*Actually none of these operations involves the variable c at all... is this an error, or a 'trick answer'?): b = a + 2 a = b * 4 b = a / 3.14 a = b - 8 4. Assume the variables result, w, x, y, and z are all integers, and that w = 5, x = 4, y =8, and z = 2. What value will be stored in result in each of the following statements? a. Set result = x + y b. Set result = z * 2 c. Set result = y / x d. Set result = y – z result = x++ - y; Answer -4 result = 4 – 8 = -4 result = ++w + y; Answer w = w + 1 = 5 + 1 = 6 ......

Words: 375 - Pages: 2