본문 바로가기

분류 전체보기

(312)
GO 프로그래밍 ∙ 예제로 배우는 GO 프로그래밍 ∙Golang 특징 1. 전통적인 컴파일, 링크 모델을 따르는 범용 프로그래밍 언어 2. 정적 타입의 언어, Garbage Collection 기능 제공 3. Communicating Sequential Processes(CSP) 스타일의 Concurrent 프로그래밍을 지원 * CSP : 순차 프로세스 통신 ∙ Hello World 프로그램 - 기본적으로 프로젝트마다 새로운 작업 폴더를 만들어 사용할 수 있다. 작업폴더는 일반적으로 bin, pkg, src라는 3개의 폴더를 생성하고, 소스코드는 src 폴더 밑에 둔다. GO는 main 패키지 내의 Entry Point인 main() 함수를 찾아 프로그램을 실행한다. ∙ 변수 - 변수는 GO 키워드 var 를 사용하여 ..
파라미터로 라이센스 루틴 추적 : 레나 챌린지 (Level 11) 프로그램을 실행시키면 원하는 그림을 퍼즐로 만들어 게임을 하는 프로그램이다. 원래 있는 그림 말고 새로운 그림을 추가를 하려면 라이선스가 등록이 되어있야 추가를 할 수 있지만, 프로그램을 보면 라이선스를 등록할 수 있는 공간이 존재하지 않는다. • 분석 시작 올리디버거에 프로그램을 올린 다음 문자열 검색을 통해 "For registered users only" 문구를 검색해준다. 해당 분기점에서 브레이크 포인트를 걸어준다. ZFlag가 1이 키 때문에 JE가 점프가 되면서 "For registered users only"가 실행이 되기 때문에 JE를 JNZ로 수정을 한 다음 저장을 해준다. 정상적으로 새로운 이미지를 올릴 수 있다. 이런 방식으로도 가능하지만 계속 라이선스를 검색할 수 있기 때문에 루틴 ..
비주얼베이직(VB) GUI 디컴파일 분석 : 레나 챌린지 (Level 10) • 첫 번째 파일 분석 (Tut.ReverseMe1.exe) ReverseMe 프로그램을 실행시키면 올바른 레지스터 값을 넣어야 하는 문제이다. 디컴파일러 툴을 사용해 분석을 할것이다. Fom1에 들어가 Register me을 누르면 해당 ID값을 확인해 Code에서 일치하는 함수로 이동한다. Register me 주소는 402814, Nag 주소는 402C17이다. 올리디버그 툴을 사용해 두 개의 주소에 브레이크 포인트를 걸어준다. NAG 부분을 바로 리턴으로 수정을 해준다. Nag 버튼을 눌러도 반응을 하지 않는다. F8로 한 단계씩 실행시키다 보면 스택에 내가 입력한 1234랑 I'mlena151이랑 비교를 하는 거 같다. 해당 문자를 입력하면 레즈스터가 등록이 된다. • 두 번째 파일 분석 (CC..
비주얼베이직(VB) 프로그램 시리얼 키 획득 : 레나 챌린지 (Level 9) 프로그램을 실행시키고 F8를 눌러 하나씩 실행시키다 보면 시리얼 키처럼 보이는 문자가 보인다... 설마,.,, 해당 문자를 입력을 하니 시키리얼 키가 등록이 되었다....
Artgem 크랙 : 레나 챌린지 (Level 8) • 분석 시작 프로그램을 실행시킨 후, 레지스터를 등록을 하기 위해 임의의 키 값을 입력을 했을 때, 해당 키값이 유효하지 않다는 메시지가 출력이 된다. 프로그램을 디버그에 올린 문자열 검색을 통해 Invalid Key 를 입력을 해서 해당 주소위치를 찾는다. 원래는 분기점을 찾아 해당 명령어를 JMP로 수정을 했으면 통과를 했지만, 이 프로그램은 key Check라고 내가 쓴 부분에서 계속 key 값을 체크한다. XOR EAX, EAX 에서 초기화를 해준다.. Nop으로 수정을 해준 다음 파일을 저장한다. 레지스턴가 등록이 되었다.
Mr bills 라이센스 등록 우회 : 레나 챌린지 (Level 7) Visual C++ 7.0으로 컴파일되어 있는 프로그램이다. • 분석 시작 프로그램 실행 화면 해당 프로그램을 실행 시킨 후, 임의의 라이센스를 입력했을 때, 유효하지 않는 라이센스라는 문구가 출력이 된다. 디버그를 통해 해당 문구를 문자열 검색 기능을 이용하여 찾는다. JNE를 JMP로 수정을 한 다음 프로그램을 실행 시킨다. 임의의 라이센스를 입력을 했는데,, 성공적으로 라이센스가 등록이 되었다. 라이센스 문구가 없어졌다.
PC 설젼(델파이 프로그램) : 레나 챌린지 (Level 6) 실행화면 시작 전, 나오는 Nag이다. • 분석 시작 PEID 툴을 이용해 델파이 프로그램인지 확인을 하였다. 프로그램을 디버그에 올려 실행을 시킨다. 위 사진과 같이 15일 프로그램을 사용할 수 있다는 문구가 있다. -> 체험판이기 때문에 이걸 크랙을 해야 한다. 문자열 검색을 통해 문구를 찾아준다. 해당 문구를 위 분기점에서 문구를 출력을 할지 안 할지 정하는 거 같다... 브레이크 포인트를 걸어 다시 시작을 한 다음 ZFLAG 1을 0으로 수정을 해보자. 해당 문구 구간이 통과가 되어 문구가 출력이 안된다. 이 구간에는 아직 체험판이라는 표시가 남아있다. 위와 같은 방법으로 문자열 검색을 통해 찾은 후, 해당 주소로 이동을 한다. 그 주소에서 분기점을 찾아 브레이크 포인트를 걸어주고 ZFALG을 1..
MFC 프로그램 크랙 : 레나 챌린지 (Level 5) VisualSite Designer 체험판 크랙 10번만 사용가능한 프로그램이다. • 크랙 해야 하는 부분 1. number of trial left 10 횟수 제한 우회 프로그램을 실행하기 전부터 체험판이라는 걸 확인하는 부분이 있는 거 같다. F8로 하나씩 실행을 시키다보면 프로그램이 실행이 되는 부분이 있다. 그 부분에 브레이크 포인트를 걸어 F7로 들어간 다음 다시 F8로 프로그램이 실행되는 부분까지 반복한다. 73DDC1CC 까지 들어가면 해당 부분은 MFC42 부분이기에 EXE이 아니기에 F2로 브레이크 포인트가 안 걸린다. 해당 부분은 Hardware 브레이크 포인트를 걸어줘야 한다. * 하드웨어 BP는 CPU단에서 거는 브레이크 포인트이다. F2는 소프트웨어 BP이다. F2를 사용해 브레이..