목록분류 전체보기 (33)
D1N0's hacking blog
vscode remote ssh로 서버에 연결에서 typescript로 코딩하고 있는데 자꾸 연결이 끊겼다 서버 접속도 안 되길래 서버 CPU 사용량을 보니까 100%를 훌쩍 넘어가 있었다 node 프로세스들이 CPU를 잔뜩 잡아먹길래 찾아봤더니 역시 이미 누가 해결방법을 올려놨다 vscode extensions에서 @builtin typescript를 검색하고 TypeScript and JavaScript Language Features를 disable시키면 된다 이거 말고도 제시된 방법이 좀 있었는데 내가 고쳐졌던건 이거 하나였다 물론 typescript 부가 기능(import할 때 파일 목록을 보여준다던지 등)을 못 쓰는 임시방편의 방법이니 정 안 고쳐지면 사용하도록 하자 참고 https://git..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
1. pushad, popad x96dbg로 패킹된 파일을 열어 사용자 코드로 실행을 하면 pushad 명령을 찾을 수 있다 프로그램 실행을 위한 언패킹 전에 레지스터 상태를 스택에 저장하고, 언패킹이 끝날때 popad 명령으로 레지스터를 복구한다 pushad를 실행하고 esp를 덤프해서 따라가면 레지스터들이 보인다 저 주소에 하드웨어 중단점을 걸어준다 그리고 F9로 실행하면 언패킹이 끝난 주소에서 멈춘다 위에서 popad 명령이 실행된 것을 확인할 수 있다 jmp 08.1012475가 보이는데, 이 01012475가 이 프로그램의 OEP이다 2. Exeinfo PE 일단 upx로 파일을 언패킹해준다 그리고 Exeinfo로 보면 EP를 바로 알 수 있다 PE버튼을 눌러 헤더 정보를 보면 Image bas..
지난번 글을 보지 않았다면 먼저 보고 오자 03_angr_symbolic_registers 지난번 글을 보지 않았다면 먼저 보고 오자 02_angr_find_condition 지난번 글을 보지 않았다면 먼저 보고 오자 01_angr_avoid 지난 글을 보지 않았다면 먼저 보고 오자 00_angr_find 들어가기 전에 이 글은 angr d1n0.tistory.com 시작 이번에는 스택에 symbolic value를 넣어 스택의 값을 구하는 방법을 알아보겠다 이번 내용은 함수의 호출과정에서의 스택의 변화를 알 필요가 있기 때문에 예제의 환경인 x86환경에서의 함수 호출과정을 알고 난 뒤에 보는게 좋다 C언어 함수 호출과정 - x86 포너블에서 너무 중요하고 기초적인 내용이지만 아직도 헷갈려서 정리한다 이..
지난번 글을 보지 않았다면 먼저 보고 오자 02_angr_find_condition 지난번 글을 보지 않았다면 먼저 보고 오자 01_angr_avoid 지난 글을 보지 않았다면 먼저 보고 오자 00_angr_find 들어가기 전에 이 글은 angr에 대해 배운 내용을 정리하는 글이다 C와 파이썬, 간단한 리 d1n0.tistory.com 시작 이제부턴 angr를 더 폭넓게 사용하는 방법을 살펴보겠다 전까지는 단순히 입력과 출력만 가지고 문제를 풀었다면 이번에는 레지스터의 값을 사용해 볼 것이다 예제를 먼저 보도록 하자 undefined4 main(void) { int iVar1; int iVar2; int iVar3; undefined4 unaff_EBX; undefined8 uVar4; printf("..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
지난번 글을 보지 않았다면 먼저 보고 오자 01_angr_avoid 지난 글을 보지 않았다면 먼저 보고 오자 00_angr_find 들어가기 전에 이 글은 angr에 대해 배운 내용을 정리하는 글이다 C와 파이썬, 간단한 리버싱 지식을 기본 전제로 하고 있다 모든 문제는 github.c d1n0.tistory.com 시작 이번에는 예고한 대로 find와 avoid 인자에 주소를 직접 넣는 대신 특정 조건을 넣는 방법을 알아보겠다 이에 대해 설명하기 전에 예제를 먼저 분석해보겠다 undefined4 main(undefined4 param_1,undefined4 param_2) { char cVar1; int iVar2; int in_GS_OFFSET; int local_48; int local_44; ch..