목록Reversing/angr_ctf (5)
D1N0's hacking blog
지난번 글을 보지 않았다면 먼저 보고 오자 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..
지난 글을 보지 않았다면 먼저 보고 오자 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란 우리가 일반적으로 리버싱 문제를 풀 때에는 암호화 함수를 역연산하여 원래의 비밀번호 등을 구한다 그러나 그 암호화 함수가 너무 길고 복잡하다면? 혹은 단순히 역연산 하기가 너무 귀찮다면? 이..