목록전체 글 (33)
D1N0's hacking blog
지난번 글을 보지 않았다면 먼저 보고 오자 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..
지난 글을 보지 않았다면 먼저 보고 오자 00_angr_find 들어가기 전에 이 글은 angr에 대해 배운 내용을 정리하는 글이다 C와 파이썬, 간단한 리버싱 지식을 기본 전제로 하고 있다 모든 문제는 github.com/jakespringer/angr_ctf를 바탕으로 하였고, 바이너리 파 d1n0.tistory.com 시작 이번에 알아볼 것은 프로그램 실행 중에 피할 주소를 설정하는 방법이다 일단 angr_ctf의 01번 문제를 보며 알아보자 파일을 보면 00번과 비교해볼 때 유독 크기가 큰 것을 알 수 있다 아니나 다를까 기드라가 디컴파일을 실패했다 그러므로 우리는 간단한 흐름만 살펴보겠다 함수를 보면 눈에 띄는 게 있다 maybe_good은 실행해야 하는 함수, avoid_me는 실행하면 안 되..
들어가기 전에 이 글은 angr에 대해 배운 내용을 정리하는 글이다 C와 파이썬, 간단한 리버싱 지식을 기본 전제로 하고 있다 모든 문제는 github.com/jakespringer/angr_ctf를 바탕으로 하였고, 바이너리 파일은 github.com/Hustcw/Angr_Tutorial_For_CTF/tree/master/problems를 사용했다 또, 이를 활용한 블로그인 blog.notso.pro/2019-03-20-angr-introduction-part0를 바탕으로 공부하여 정리한 글임을 밝힌다 Angr란 우리가 일반적으로 리버싱 문제를 풀 때에는 암호화 함수를 역연산하여 원래의 비밀번호 등을 구한다 그러나 그 암호화 함수가 너무 길고 복잡하다면? 혹은 단순히 역연산 하기가 너무 귀찮다면? 이..