2018/04/02(4)
-
가이드라인이라 쓰고 삽질의 흔적이라 읽는다.
안녕하세요. 열심히 악성코드와 시스템해킹 독학 중인 c0nstant입니다. 오늘은 악성코드를 전혀 접해보지 않은 분들에게 가이드라인 처럼 알려주기 위해 글을 하나 작성해 보았습니다. 핵심 주제는 "Dropper Malware" 입니다. 악성코드에 대해 아직 많이 모르기 때문에 조심스러웠으나, 어떻게 공부를 진행하고 있는지 남들에게 당당히 공개함으로써 더 발전 할 수 있다고 확신하였기 때문에 이러한 프로젝트를 혼자 진행하게 되었습니다. 글의 페이지는 40쪽이 조금 넘어가지만, 사진들이나 코드가 많기 때문에 보기에 어렵진 않을거라 생각합니다. 뉴비의 문서 재밌게 봐주시길 바랍니다. 배포는 언제든 환영이지만, 출처는 남겨주시기 바랍니다. 악성코드의 입문을 도와주신 yyt3000에게 진심으로 감사인사를 드립니다..
2018.04.02 -
DEPCAMP r100
Angr 공부용으로 풀어보았다. 바이너리 : 메인함수이다.패스워드를 입력하고 옳고 그름을 판단하는 전형적인 문제다. 심플해보이지만, 계산하기 귀찮게 되어 있는 연산이다. 이 연산을 한방에 해결하는 녀석이 angr라고 한다. 진심으로 오늘 처음 사용하고 충격받았다.import angr def main():p = angr.Project("r100", load_options={'auto_load_libs': False}) // 실행시킬 바이너리 명 # 내가 찾는 주소가 0x400844 (Nice!)# 피하려는 주소가 0x400855 (Incorrect Password!)ex = p.surveyors.Explorer(find=(0x400844, ), avoid=(0x400855,))ex.run() // 실행re..
2018.04.02 -
BruteForce is Wonderful!
예전에 멘토형(yyt3000)이 해당 문제를 주었을 땐 노가다로 풀었었는데 댕이댕이님의 블로그에서 이 문제를 또 발견 하여 이번엔 코드로 작성해서 풀어보았다. [바이너리] : 조건은 다음과 같다. #include #include #include // condition// arr[0] & 0xAD == 0 // arr_index0// arr[1] & 0x9A == 0 // arr_index1// arr[2] & 0x97 == 0 // arr_index2// arr[3] & 0xbf == 0 // arr_index3// arr[4] & 0x5FC5 == 0 // arr_index4// arr[5] & 0xD6 == 0 // arr_index5 char arr[] = "";static int arr_index..
2018.04.02 -
XOR IT'S FUN
출처 : https://stop2y.blog.me/ 이 분의 블로그를 구경하다가 리버싱 문제를 하나 보게 되어 풀어보았다. 알고리즘은 다음과 같다. 코드는 다음과 같다.#include #include int main(){char arr[] = "\x42\x69\x74\x78\x2c\x5c\x6D\x7f\x7f\x7b\x63\x7e\x68\x2c\x36\x2c\x5f\x6f\x6d\x61\x7c\x69\x7e";char result[24] = { 0 };int xor_num = 0; while (xor_num < 255){printf("%d번째 : ", xor_num); for (int i = 0; i < sizeof(arr) / sizeof(arr[0])-1; i++){result[i] = arr[i] ..
2018.04.02