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

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
0answers
3k views

How can I work on my reverse-engineering skills? [closed]

I would like to start building up some software reverse engineering skills, and I'm looking for exercises or "challenges" to work on. Are there definitive or go-to sites, like Project Euler, ...
7
votes
4answers
283 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 ...
5
votes
13answers
3k 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
2k 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
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 ...
4
votes
3answers
565 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
413 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
1k 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
192 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
185 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
146 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 ...
2
votes
0answers
31 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 ...
1
vote
1answer
98 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
443 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 ...
0
votes
1answer
206 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 ...
0
votes
1answer
194 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
24 views

Figure out how to create & write correct Hashes for Chrome Preferences & SecurePreferences files?

Especially, in context with Chrome 44 By the research I've done on SE sites it seems 'some' Extensions & Cookies related information gets mapped into these files: Preferences Secure ...
-1
votes
3answers
130 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
295 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 ...