Skip to content

Latest commit

 

History

History
49 lines (27 loc) · 2.8 KB

README.EN.md

File metadata and controls

49 lines (27 loc) · 2.8 KB

Programming Reference

Open repository of programming topic for reverse engineering purpose.

Overview

Untuk versi Bahasa Indonesia, lihat README.md.

This repository is created to collect information and knowledge about programming concepts, especially for reverse engineering purpose. Specifically, the concepts discussed here are algorithms, data structure, and design-pattern in developing a software. The theoretical and practical aspect is included for each concept.

The main focus of this repository is not to discussing certain programming language. However, some programming language (C/C++) might be used as reference model to give explanation. The focus will be using programming to build software components in software engineering. Thus, basic programming knowledge (such as: branching, loop, function, class, etc) are mandatory.

This repository is free and open, maintained by Reversing.ID. Anyone is welcome to use. However, most of the explanation will use Bahasa Indonesia.

Programming for Reverse Engineering

Software is a product of software engineering process. An application is built on data and instructions. However, software is complex. Software development involve architecture design, engineering, and testing which result in high-quality software as need in requirement. Some technical strategy is applied to create an effective and efficient software. The keys are data structure and algorithms.

Developing software nowadays become more complex compared to the earlier era. The more complex something the more complex reverse engineering would be. In analysis phase, identifying application components is important to calculate effort used to reconstruct the application.

Content

This repository is divided into some directories:

  • Books
  • Codes
  • References

Books are collection of book, lecture notes, and small notes which discussing the concept. Only free and legal books are listed here.

Codes is implementation of the concept, written in some programming languages.

References is a collection of articles, other than books, which discussing implementation, analysis, and usage of each concept in several cases.

How to Contribute

This is an open project.

You can contribute by submit implementation code or usage of data structure, algorithms, design pattern for specific cases (use-case, solution for competitive programming challenge, etc). There are no restriction on programming language used. Please focus on the algorithm aspect, use less or no built-in library to solve the problem.

You can also submit reference, notes, or algorithm which are not mentioned yet.

To do so, you can:

  • do a pull request
  • Send mail to pengurus [at] reversing.id
  • Notify us at telegram group @ReversingID

Although most discussion is done in Bahasa Indonesia, English is welcomed.