According to Wikipedia, Reverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation.

learn more… | top users | synonyms

81
votes
8answers
11k views

How to modify the output of a program for which you don't have the source code

In our company we have a small program (.exe 500Kb size) that does mathematical calculation and in the end it spits out the result on a Excel spreadsheet that we use to continue our workflow. I want ...
14
votes
8answers
2k views

Reverse engineering: what is it really good for? [closed]

I have some innocent/beginner questions: What is reverse engineering good for? As a programmer, should I learn the art of reverse engineering? What are the benefits to a programmer who is ...
11
votes
6answers
3k views

Is it legal to disassemble a Microsoft dll and post the result on my blog?

I'm writing an article for my blog about undocumented functions which exist in the dwmapi.dll library. I want to post the result of the disassembled code to explain how the names and parameters of ...
8
votes
4answers
303 views

Legality of collaborative reverse-engineering

I have been disassembling a large software project on my own, as a hobby. It is an educational exercise and I have learned a lot in the process. That said, I feel that my progress would be ...
6
votes
5answers
4k views

Reverse Engineering PHP application without reading the (ugly) Code

I have this new customer, that has this PHP App. It was written by a single developer that wanted to "make yet another framework" back in 2005. About 3 Years later the developer left the company, and ...
5
votes
13answers
4k views

Decompilers - Myth or Fact?

Lately I have been thinking of application security and binaries and decompilers. (FYI- Decompilers is just an anti-complier, the purpose is to get the source back from the binary) Is there such ...
5
votes
3answers
4k views

How can I reverse engineer a hash code?

I am building an application in C# that works with a Progress database. The passwords that are stored in this database are stored using a hash algorithm that Progress has not made public. However, I ...
4
votes
3answers
717 views

Advise on How To migrate a huge monolithic java application towards something service-oriented

I am confronted with the problem of migrating a huge monolithic java web application towards a more service oriented approach. The application has grown for years from what it was originally desinged ...
4
votes
1answer
429 views

What are some good resources for debugging/disassembling proprietary software? [closed]

From time to time, I experience different bugs with proprietary software that I need to interact with. In order to get through these bugs, I need to develop various workarounds. Is there a good book ...
3
votes
3answers
2k views

Which assembly should I learn? [closed]

I would like to learn about reverse engineering, but I'm little bit confused with many different assemblies. So to say... Let me explain! Everytime I start reading assembly tutorial it states it is ...
3
votes
2answers
200 views

Project (that contains reverse engineering) hosting + license

I made multiple tools for extracting file formats that are found in (commercial) games. Where should I host the code? (e.g. Google Code, Sourceforge,....) Normally it would be considered 'illegal' ...
3
votes
2answers
383 views

How to document a file format specification [closed]

For a project, I need to work with varying types of files from some old games and related software--configuration files, saves, resource archives, and so on. The bulk of these aren't yet documented, ...
2
votes
1answer
201 views

How does this C++ assignment work?

I have very limited experience with C++ but I do have plenty of experience with Java and NodeJS. I've decompiled and tried to make sense of a small C++ compiled file and I've come across something ...
2
votes
3answers
55 views

Is it worth adding identification to trials/demos? [closed]

In the world of pirates stealing software, one common technique is to download a trial or demo, patch it and upload this as the stolen version of a piece of software or game. This makes me think: if I ...
2
votes
0answers
34 views

How do you use Domain Events without obfuscating the control flow? [duplicate]

When we have a system which utilizes Domain Events, it can be quite hard to comprehend the whole workflow (sequence of events) of processing a particular command: how many active handlers we have, how ...
2
votes
2answers
85 views

Reverse Engineering a Spreadsheet into a Model and Controller

I need some help with the approach to a specific project. We have a large excel workbook with a ton of worksheets. There are many user inputs, which formula fields pull, return, repeat. This all ends ...
1
vote
1answer
286 views

How does hopper prevent disassemble itself?

It's a "how decompiler prevent decompile itself" question. I have tried : rename the Mach-O 64-bit executable x86_64 file remove the LC_UUID and LC_SIGNITURE load commands but somehow hopper can ...
1
vote
1answer
162 views

Applications of Reverse Engineer, and very general process overveiw [closed]

As a student programmer, I only have very limited knowledge of the workings of much of the consumer software. I would love to one day be able to reverse engineer software to learn what makes it tick ...
1
vote
1answer
117 views

Is there a way to find out what API's to use for developing a third party app [closed]

My company uses an application called TotalHRWorks for time keeping and what not. They have an Android and iOS application; however, there is no Windows Phone application. Since there is an Android ...
0
votes
1answer
649 views

How to construct UML activity diagram reflecting real programmed source code as docs

Please, tell me the things I must use for modeling an (Enterprise Architect) activity diagram of object1.method1() calls object2.method2() I'm able to dragndrop a method of a class from model tree-...
0
votes
2answers
113 views

What are some good approaches for reading Javscript code?

I'm looking for suggestions on how to read large Javascript codebases, for example, of a framework. For example, let's say P5js, but this applies to any large framework (i.e like AngularJS, Ember, etc)...
0
votes
1answer
220 views

reverse engineering js/html controls as part of development

I'm starting a project with a big client that has several websites across the world, and they want to integrate them into a single Sitecore codebase/structure. All good in principle, but there are ...
0
votes
0answers
36 views

How to understand code of Rails app written by other devs and test it accordingly?

Rails beginner here with less than year experience in programming.I have some experience writing trivial Rails apps (with CRUD implementation like simple blog) and I have some knowledge how to write ...
-1
votes
3answers
162 views

Implementing a programming language without the specification [closed]

What if, instead of looking at the C++ specification, you analyze the behavior (by inspecting the source code and testing with sample inputs) of existing C++ compilers and use your knowledge of C++ to ...
-1
votes
1answer
331 views

Is reverse debugging possible? [duplicate]

I know there are some products for reverse debugging. I am wondering that does reverse debugging mean going to one step back or starting over again up to one step back? I've found an explanation ...
-4
votes
1answer
144 views

What does this pseudo-code do? [closed]

I took a technical test recently, with an "algorithm" question which seemed... obtuse. The question was the following: // init chair = 12 table = 7 cake = 0 // algorithm while table > 0 [ if ...