본문 바로가기

반응형

분류 전체보기

(170)
Java/자바의 exception 예외처리 최상위 클래스 Object 아래에 error 클래스 exception 클래스 두가지가 존재한다. error 클래스의 것들은 jvm 에서 일어나는 오류를 다루므로 프로그래머가 다룰 수 없다. exception의 두가지가 존재하는데 RutimeException 과 RuntimeException이 아닌것으로 존재한다. RuntimeException은 문법적으로 컴파일을 할 때 예외처리를 하지않아도 상관없다. RuntimeException을 제외하고 모든 java.lang.Exeception의 자손들은 try - catch 문을 붙어야 예외 처리를 해줘야한다. try - catch 문을 붙이냐를 어떻게 판단? 메소드를 보고 판단하는데, 예를들어 read()를 실행할때 IOexception이 발생할 수 있다. 파..
치트엔진 - tutorial step 7 - code injection 우선 해석하는데 어려웠던 단어 정리 먼저. reroute 위 문장을 통해 뭔가 재설정하는 것으로 해석. 문장 Code injection is a technique where one injects a piece of code into the target process, and then reroute the execution of code to go through your own written code. 근데 해석하다가 문제를 풀어보니 해석할 필요가 없었다. 단순히 1씩 subtract되던 health를 2씩 add시키게 만드면 클리어. 게임에서보면 몬스터가 내 체력을 깎지않고 힐을 해주는 상황인 것. :D 처음 health 값 100을 검색해 주소를 찾은다음. F6 를 눌러 opcode를 확인하고, 1씩 ..
치트엔진 - tutorial step 6 포인터! 치트엔진을 이용해 리버싱에서의 포인터를 실습해본건 처음이다. 가장 기본적인 포인터 구조는 [ 와 ] 사이에 존재 [ 와 ] 에는 주소값이 들어간 레지스터가 들어간다. edx라든지.. 아마 edx가 데이터 저장용 레지스터 이므로 다른 레지스터는 들어가지 않을 것 같다. ( 리버싱 경험이 부족 .. ) step - 6 에서 edx는 주소값 (01866950)을 가지고 있었고 그 주소의 eax 연산 결과를 저장했다. 문제에 Change Pointer라는 버튼이 있고, 버튼을 누르면 값의 주소가 바뀌게 되는데, 이렇게 되면, 값을 고정시켜도 주소가 바뀌기 때문에 값의 주소를 가리키는 포인터의 주소값을 찾아서 주소의 값을 고정시켜 줘야한다. 문제에서는 단순히 주소값이 10씩 올라가는 로직이였으므로 맞추기는 쉬웠다..
치트엔진 - 값의 주소가 변경 될 때. value(값)을 찾아서 고정하려 했으나, value의 location(주소)가 계속 변경될 때 location의 변경을 멈춰주는 Find out what writes to this address를 이용하자. 우선 찾은 value에 마우스 커서를 올려 놓고 오른쪽 마우스 버튼을 클릭하고 Find out what writes to this address를 선택. 아래 창이 뜬다. 값을 변경하면 아래의 창에 변경될 때의 어셈블리코드 라인이 보여지게되고, Replace를 눌러 수정하거나 변경되는 라인을 멈춰주는 Stop을 눌러주면 변경이 되지않는다. 그렇게 stop을 시키고, value를 고정시켜주면 value가 변할 때 location이 바뀌지않고 value가 고정이 된다. 참고 cheat engine tu..
디스어셈블링 할 때 소스 깔끔하게 하기 IDA 5.x 매뉴얼을 읽다, 적어놓으면 좋을것 같아서 적음. Microsoft Visual Stdio의 VC 폴더 bin 안에는 CL라는 C/C++ 컴파일러가 존재한다. stdio를 실행시켜서 컴파일 하는 것보다 CL를 이용하여 컴파일하면 소스가 간단하게 나온다. 위 사진을 보면 용량도 적다. Visual Stdio 6.0일때 VC98 폴더 안의 bin 에 CL.exe가 존재했는데, 버전 업이되면서 VC\bin\CL.exe이 있다. 환경변수 설정을 해주면 cmd 창에서도 컴파일 할 수 있어 간편하므로 설정 해주자. E:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\bin (필자 기준) 위 경로를 등록하면 끝. cmd 창에서 cl /help로 간단한 설명을 ..
[Word] 2016.11.16 2016.11.16 Word APMsetup XE를 설치하는 데 필요한 구성 요소인 아파치 웹 서버, PHP, MySQL 데이터베이스를 한 번에 설치하고, 사용에 필요한 연동 설정을 자동으로 해 주는 프로그램. 공식 사이트는 http://www.apmsetup.com/입니다. FileZilla 무료 FTP(File Transfer Protocol) 접속 프로그램. 공식 사이트는 http://filezilla-project.org/입니다. mod_rewrite URL을 기억하기 쉽게 줄여 주는 기능. 예를 들어, http://example.com/index.php?module=admin을 http://example.com/admin과 같이 줄여 쓸 수 있습니다. 웹 서버에서 해당 기능을 지원해야 사용할 수..
bandit level 4 > level 5 문제 상황에서 주어진 inhere 폴더에 파일들은 -file00 ~ file01과 같고 각각 cat ./-file01~09까지 출력해보면, 엔터로 구분지어 순서대로 -file00~-file09의 출력값이다 문제에서 말하길 사람이 읽을 수 있는 출력값이 패스워드라고 했으니 답은 cat ./-file07 명령을 입력해서 얻은 koReBOKuIDDepwhWk7jZC0RTdopnAYKh 가 패스워드가 된다. 재밌게 문제를 낸 의도를 생각해보면, 실제로 해킹할 때 못 읽는 것에 시간 낭비 하지말라는 비기너들을 위한 팁 같다. ID : bandit5PW : koReBOKuIDDepwhWk7jZC0RTdopnAYKh
bandit level3 > level 4 ls 명령어의 옵션인 a를 통해 숨겨진 파일인 .hidden을 확인cat ./.hidden을 통해 패스워드 확인 ID : bandit4PW : pIwrPrtPN36QITSp3EQaw936yaFoFgAB

반응형