반응형

전체 글 229

리버싱을 하기위한 VS 2019 세팅법

https://dhhd-goldmilk777.tistory.com/149 visual studio 보안해제하기 [GS (Stack Canary/Cookie) 해제법] 프로젝트 속성 -> C/C++ -> 코드 생성 -> 보안 검사 -> 보안 검사 사용 안 함(/GS-) 으로 변경. 함수 프롤로그 이후 스택에 버퍼 할당 전에 랜덤한 값을 Push해 두고, 함수.. dhhd-goldmilk777.tistory.com 여기보안제거후 최적화 끄고 MD로 하면 더 편한 리버싱이 가능할것이다

Visual Studio 2019 디버거 사용법 정리

https://docs.microsoft.com/ko-kr/visualstudio/debugger/debugger-feature-tour?view=vs-2019 디버거 소개 - Visual Studio Visual Studio 디버거를 사용하여 애플리케이션 디버깅 시작 docs.microsoft.com 마소 참고 F5 - Run - This both starts the debugging session and continues the debugging session if the session is paused. F10 - Step Over - This runs just the next statement. If the next statement is a function call, it runs the who..

PC리버싱/기타 2020.06.06

재미용)변태적인 C언어 코딩법

https://dhhd-goldmilk777.tistory.com/180Visual Studio 2019 디버거 사용법 정리https://docs.microsoft.com/ko-kr/visualstudio/debugger/debugger-feature-tour?view=vs-2019 디버거 소개 - Visual Studio Visual Studio 디버거를 사용하여 애플리케이션 디버깅 시작 docs.microsoft.com 마소..dhhd-goldmilk777.tistory.com 메모리및 보는법 사진참고 하지만 리틀엔디안https://dhhd-goldmilk777.tistory.com/136(02)PE구조 설명을위한부가지식들1 빅엔디안가 리틀엔디안 https://genesis8.tistory.com/3..

PC리버싱/기타 2020.06.06

컴퓨터 참(1) 과 거짓(0)에대해서

기본적으로 컴퓨터는 1이참 0이거짓이다 하지만 Basic언어인대표적으로 VB6를보면 참값이 -1인데 이유는 그떄당시에 1이라는값이 현재에와서는 -1이기떄문이다 즉 VB6나 배이직에서는 TRUE = -1 FALSE = 0이다 그러니까 가끔은 참이 1이아닐수도있음을 이해해야한다 데이터 타입 바이트 범 위 설 명 Boolean 2 True or False 참 (-1)/ 거짓(0)두가지 상태 표현 참고로 BASIC언어기준으로 -1이지 대부분은 참값이 1이다

PC리버싱/기타 2020.06.06

C언어 while연구자료(기타)

추가설명 while은 반복문인데while(1) 컴퓨터는 1이참 0이거짓이기떄문에 참일경우를 조건이니 무한반복while(0)은 절대실행불가능 리버싱 시작 이걸 리버싱으로 내부를보자 VS 2019기준 main에 BP걸고 간다 security cookie등 보안이보이니까 분석을위해 다해제하자https://dhhd-goldmilk777.tistory.com/149visual studio 보안해제하기[GS (Stack Canary/Cookie) 해제법] 프로젝트 속성 -> C/C++ -> 코드 생성 -> 보안 검사 -> 보안 검사 사용 안 함(/GS-) 으로 변경. 함수 프롤로그 이후 스택에 버퍼 할당 전에 랜덤한 값을 Push해 두고, 함수..dhhd-goldmilk777.tistory.com이글을 참조해서 보..

PC리버싱/기타 2020.06.06

rev-basic-6 풀이

1번부터 차레대로보는걸추천합니다 https://dreamhack.io/wargame/challenges/20 전내용까지다생략 코드안을보면 이번에는 신기하다 cmp부분을보면 알고리즘은간단하다 문자열 입력한것에 밑에 드래그한공간을 더해서 위에 코드랑맞게하면된다 코딩은 알고리즘이 생각안나서 수동으로해본다 수동하는원리는간단하다 문자열 + 밑에 주소 = 값 즉 사전처럼 노가다로찻을수있다 그냥 crlt c눌러서 복사후 메모장 hxd로 그나마 편하게 노가한결과 노가다하는과정 2472 - 2400 - 20 = 52 0x52/0x65/0x70/0x6C/0x61/0x63/0x33/0x5F/0x74/0x68/0x65/0x5F/0x77/0x30/0x72/0x6C /0x64/NULL 이유 2420- 2400 - 20 = 0 끝..

rev-basic-5 풀이

1부터 보시는걸 추천합니다 https://dreamhack.io/wargame/challenges/19 PE는 생략 전체적인알고리즘 받은값 ABCD의경우 처음값A와B의 값 을 합한게 암호화된값이다 즉 A + B 는 암호화값이다 B + C등등으로 계속가야하니 알고리즘을짜기전에 팁을알려주겠다 여기서 덤프창에서 저렇게 드래그하고 crlt+ E를누르면 여기서 copy data부분을보면 이걸복사해서 배열을만들면된다 알고리즘으로 암호화값을얻고 그값은 반대이기때문에 한번 반대로만들면 된다 끝 소스코드 #include int main() { unsigned encrypt[] = { 0xAD, 0xD8, 0xCB, 0xCB, 0x9D, 0x97, 0xCB, 0xC4, 0x92, 0xA1, 0xD2, 0xD7, 0xD2,..

반응형