날짜별 글 목록: 2008년 7월 24일

자바 디컴파일러(java decompiler)

자바 애플리케이션이 실행되는 과정을 살펴보면 아래와 같다.

  1. 소스를 컴파일해서 바이트 코드를 만들어 진다.
  2. 다음으로 자바 VM이 컴파일 된 바이트 코드를 읽어서 실행이 된다.

자바 애플리케이션은 VM이 바이트 코드를 읽어서 사용하는 구조이기에, 자바 애플리케이션들은 디컴파일러를 사용하면 쉽게 소스를 확인할 수 있다. 그래서 최소한의 보안을 위해서 난독화(Obfuscate)를 많이 사용한다. 이 글에서는 자바 애플리케이션을 디컴파일할 수 있는 툴 목록은 아래와 같다.

bubble sort using java

Bubble sort is a simple sorting algorithm. It works by repeatedly stepping through the list to be sorted, comparing two items at a time and swapping them if they are in the wrong order. The pass through the list is repeated until no swaps are needed, which indicates that the list is sorted. The algorithm gets its name from the way smaller elements “bubble” to the top of the list. Because it only uses comparisons to operate on elements, it is a comparison sort.

사용자 삽입 이미지

	public static void bubbleSort() {

		int temp = 0;
		int[] data = new int[5];

		data[0] = 1;
		data[1] = 5;
		data[2] = 100;
		data[3] = 20;
		data[4] = 50;

		for (int i = 0; i < data.length; i++) {
			for (int j = i + 1; j < data.length; j++) {
				if (data[i] < data[j]) {
					temp = data[i];
					data[i] = data[j];
					data[j] = temp;
				}
			}
		}

		for (int x = 0; x < data.length; x++) {
			System.out.println(data[x]);
		}
	}