분류 전체보기 195

gdb-peda 설치

gdb-peda 설치 git이 설치되어 있지 않다면 sudo apt install git 으로 깃 먼저 설치 현재 경로 아래에 깃 복사 git clone https://github.com/longld/peda.git ~/peda echo로 gdbinit에 바로 쓰는 경우가 대부분인데, 명령어만 따라했다가 어떻게 되돌리냐고 묻는 경우도 있어 직접 gedit으로 해보자. sudo gedit /etc/gdb/gdbinit 파일을 열고 그냥 gdb인 상태에서는 위 그림처럼 아무것도 없다. gdbinit 파일에 git clone으로 다운받은 source peda경로/peda.py를 적어주고 저장하면, gdb-peda로 변환된다. aslr -- Show/set ASLR setting of GDB checksec -..

기기에서 .ipa 파일 추출하는 방법 4가지

기기에서 .ipa 파일 추출하기 아이폰 앱 파일은 .ipa 인데 사실 .zip 형식임 따라서 1. /var/containers/Bundle/Application/ 경로에서 2. ls * 로 원하는 앱 찾고 3. 목표 앱 압축해서 확장자만 .ipa 로 바꿔주면 됨ㅋㅋㅋㅋ 사실 별도 툴도 필요없음; [fileza 이용] [설치] 1. apt.thebigboss.org/repofiles/cydia/debs2.0/filzafilemanager_3.3.2.deb 디바이스에 파일 다운받아서 dpkg -i deb파일로 설치해도 되지만, 2. cydia에 소스추가 : http://tigisoftware.com/cydia/ 후 fileza-64bit 바로 설치하는게 더 편함. 경로 이동 /var/containers/Bu..

ios앱분석 툴 Clutch 설치 (ios13)

Clutch 설치 (ios 13기준) 0. release 바이너리 그대로 쓴다. https://github.com/KJCracks/Clutch/releases Clutch github : https://github.com/KJCracks/Clutch KJCracks/Clutch Fast iOS executable dumper. Contribute to KJCracks/Clutch development by creating an account on GitHub. github.com 1. xcodebuild로 빌드하는 방법 github 설치 그대로 따라하면 된다. xcodebuild clean build로 빌드가 성공했다면 바이너리만 모바일 기기의 /usr/bin 폴더로 옮겨주면 된다. xcodebuild ..

[Anyburn 4.3 x86] SEH Unicode Exploit 분석

[Anyburn 4.3 x86] SEH Unicode Exploit https://www.exploit-db.com/exploits/46507 스택기반은 원인 근처에서 터지므로 딱히 원인분석이라 하기도 민망하다. Image file name에서 BOF 취약점 발생. 때려박아 넣자. [원인] 1. 입력값의 길이는 계산 되었으나 2. 목적지와의 크기 검증이 없음. 입력값의 크기가 계산된 후 _write_string 함수를 호출하는데, 목적지 크기와의 검증이 없다. 입력값의 크기가 loop counter로 들어와 wchar 한글자씩 옮기는 loop. 1. 목적지 버퍼와의 크기 검증이 없어 목적지 버퍼를 훨씬 넘어서는 스택을 다 덮어버리고 2. 스택 끝까지 도달하여 강제 예외발생. 3. 덮어쓴 SEH를 통해 E..

immunity debugger 가젯 검색 팁

immunity debugger 가젯 검색 팁 1. 보통 mona.py 를 이용해서 rop, seh, stackpivot 등 원하는 가젯 찾는 자동화 기능 지원, 2. 또한 !mona findwild -s "명령어 # 명령어 # 명령어" 등으로도 찾기 가능. (r32, * 와일드카드 제공) 3. 디버거 옵션으로도 찾아보자. Search for All Sequences 에서 CONST, R32 등 와일드카드를 이용하여 add esp, CONST; pop R32; ret; 이런식으로 이뮤니티 디버거 혹은 올리디버거 내에서 순차적으로 검색 가능. [모나 메뉴얼] https://www.corelan.be/index.php/2011/07/14/mona-py-the-manual/ mona.py – the manua..

ascii to unicode 변환 (codepage별 정리)

Ascii to Unicode 변환 (Codepage 별로 정리) 많은 사람들이 ascii에 그냥 00붙는 거 아니냐? 하곤 한다. - ex) 0x01 --> 0x01 0x00 - ex) 0x0a --> 0x0a 0x00 절반만 맞다. int MultiByteToWideChar( UINT CodePage, --- 어떤 unicode로 변환할래? DWORD dwFlags, LPCSTR lpMultiByteStr, --- 변환 할 문자열이 담긴 곳 int cbMultiByte, LPWSTR lpWideCharStr, --- 변환 결과 문자열이 담길 곳 int cchWideChar ); ascii -> unicode로 변환은 MultiByteToWideChar 함수를 통하는데, 여기서 CodePage에 따라 ..

CLD (clear DF) assembly (x86)

CLD 어셈블리 명령어 clear direction flag 즉 DF=0으로 설정하는 어셈블리 명령어 REP prefix가 붙어서 MOVS, LODS< SCAS, ... 등의 명령어가 사용되는데, 반복 횟수는 ECX레지스터에 담기지만, 데이터가 담긴 곳의 주소는 알아서 증감한다. (ESI, EDI) 이 때 자동으로 증감하는 방향을 결정하는 플래그가 DF(direction flag)다. DF=0이라면 incrementing DF=1이라면 decrementing 방향으로 증감한다.

Assembly 2019.12.30

c언어 cmd 콘솔 출력 색상 바꾸기

c언어 작성 중, 콘솔 출력 색상을 변경하고 싶다면, SetConsoleTextAttribute( GetStdHandle ( STD_OUTPUT_HANDLE ), 색상표번호 ); 로 색상을 바꾼 뒤 printf문을 호출하면 호출한 이후 부분부터 색상이 바뀐 채로 출력되는 것을 볼 수 있다. cmd 창에서 color /? 라고 치면 색상 표를 볼 수 있다. 0 = Black 검정 8 = Gray 회색 1 = Blue 파랑 9 = Light Blue 밝은 파랑 2 = Green 초록 10 = Light Green 밝은 초록 3 = Aqua 옥색 11 = Light Aqua 밝은 옥색 4 = Red 빨강 12 = Light Red 밝은 빨강 5 = Purple 자주 13 = Light Purple 밝은 자주 ..

기타 모음 2019.12.13