본문 바로가기

0x30 Study

g-coin 분석(2) 안녕하세요. 저는 공주대학교 컴퓨터공학부 컴퓨터소프트웨어전공 17학번 문승현입니다. 현재 블록체인 기술에 대해 공부를 하여 공부한 내용을 정리하고자 게시글을 작성하였습니다. 미리 읽어주시는 분들께 감사하며 잘못된 지식이 있을 경우 마음 편하게 피드백주시면 감사하겠습니다. g-coin 분석(0) : http://blog.hubeen.kr/337g-coin 분석(1) : http://blog.hubeen.kr/339 벌써 분석(2)라니 뿌듯함을 감출 수 없습니다!!! 오늘 게시글에서는 실제로 서버에서 소스코드를 작동을 시켜 사용을 해볼 예정입니다. 저는 골빈님께서 올려주신 Insomnia라는 툴을 사용하지 않고 포스트맨이라는 툴을 사용하였습니다. 서버 구동 python3 app.py --port 5000 위.. 더보기
g-coin 분석(1) 안녕하세요. 저는 공주대학교 컴퓨터공학부 컴퓨터소프트웨어전공 17학번 문승현입니다. 현재 블록체인 기술에 대해 공부를 하여 공부한 내용을 정리하고자 게시글을 작성하였습니다. 미리 읽어주시는 분들께 감사하며 잘못된 지식이 있을 경우 마음 편하게 피드백주시면 감사하겠습니다. g-coin 분석(0) : g-coin 분석(0) 이전 게시글의 분석글을 위의 링크로 보실 수 있습니다.이제 이전 분석을 이어가보도록 하겠습니다. 분석 남은 blockchain.py, miner.py, node.py, proof.py 는 현재 게시글에서 정리를 이어가도록 하겠습니다. proof.py import hashlib import gcoin.config as cfg def valid_proof(block, proof=None): .. 더보기
g-coin 분석(0) 안녕하세요. 저는 공주대학교 컴퓨터공학부 컴퓨터소프트웨어전공 17학번 문승현입니다. 현재 블록체인 기술에 대해 공부를 하여 공부한 내용을 정리하고자 게시글을 작성하였습니다. 미리 읽어주시는 분들께 감사하며 잘못된 지식이 있을 경우 마음 편하게 피드백주시면 감사하겠습니다. 먼저 제가 깃허브를 돌아다니다 괜찮은 자료를 발견하여 분석을 시작한 코인의 깃허브 주소입니다. https://github.com/golbin/g-coin 먼저 다운받게 되면 위와 같이 파일들이 있습니다. golbin- app.py- gcoin - blockchain.py - block.py - book.py - config.py - miner.py - node.py - proof.py - __pycache__ - requirements... 더보기
BlockChain을 공부하자! (0) 안녕하세요. 저는 공주대학교 컴퓨터공학부 컴퓨터소프트웨어전공 17학번 문승현입니다. 현재 블록체인 기술에 대해 공부를 하여 공부한 내용을 정리하고자 게시글을 작성하였습니다. 미리 읽어주시는 분들께 감사하며 잘못된 지식이 있을 경우 마음 편하게 피드백주시면 감사하겠습니다. 현재 게시글에 대한 깃허브는 아래에 주소를 기입하도록 하겠습니다. https://github.com/schedutron/SnakeCoin 블록 내부 구조 class Block: def __init__(self, index, timestamp, data, previous_hash): self.index = index self.timestamp = timestamp self.data = data self.previous_hash = prev.. 더보기
[Reverse Lab 스터디] Ada Cracked(0) [ 출처 : 닌자보이 란타로 ] 이 Ada Cracked 시리즈 글을 올릴 때는 이 사진을 이용할 예정이다. 이번 주 고른 프로그램이다. 이 프로그램은 베타 버전때의 파일인데. 사용 기한이 만료되었다며 메세지 창을 띄우고 종료를 해버린다.메인을 따라가다보면 날짜를 비교하는 부분을 발견할 수 있다. 로컬 시간이랑 임의로 정해둔 0x07DE비교하는 것을 알 수 있다. 여기서 임의로 ECX의 값을 높은 값으로 바꿔주면 된다. 10초 제한도 비교하는 변수(?)명을 알아내서 시간 체크하는 부분을 찾아내면 되겠다. 문자열 발견 0x2710(10000) (1000ms = 1초)10초와 비교하는 부분을 발견할 수 있었다. 이번 주 과제 끝, 더보기
[Reverse Lab 스터디] DLL Injection DLL Injection 이번 글 내용 한 줄 요약할 수 있는 사진을 만들어버렸다...DLL 인젝션은 말 그대로 다른 프로세서에 DLL을 강제로 박아버리는 것이다.LoadLibrary() API를 호출하여 DLL을 로딩(Loading) 시키는 것인데. DLL Injection은 다른 프로세서에 DLL을 삽입시키느냐, 자신의 프로세스에 삽입시키느냐에 따라 로딩시키는 대상에 따라 달라집니다. What is DLL?DLL은 Dynamic Linked Library의 약자로서 동적 연결 라이브러리입니다.흔히 디엘엘 파일 이라고 읽고 드르르라고 읽기도 합니다.이 DLL 파일은 프로그램 실행 후 동적으로 로드되고, 정적라이브러리에 비해 크기를 줄일 수 있습니다.게다가 패치, 기능 개선에 효율성이 높습니다. Purp.. 더보기
[ReverseLab 스터디] UPX Packing 실행압축 (Packing)여기서 UPX는 흔하디 흔한 패킹 툴의 하나의 종류이다.이런 패커들은 실행압축을 하여 실행 파일을 파일의 형태를 그대로 유지를 하고 Size를 최대한 줄여 주는 압축 방식인데. 대게 악성 프로그램들이 이런 압축 방식을 이용하여 분석하는 데에 귀차니즘을 남겨줌.거기에 안티 디버깅까지 들어가버리면 개 빡친다. ㅇㄱㄹㅇ ㅂㅂㅂㄱ ㅇㅈ? 어 ㅇㅈ 실행되는 순간 메모리에서 압축을 해제하고 실행을 시키는 기술이기에,어딘가에 압축 해제 루틴이 담겨있어서, 이런 루틴을 지난 후에 실행시킨다는 게 특징이다. 이런 패킹을 사용하는 목적은 아래라고 생각합니다. 1. 파일 자체의 크기를 줄이기 위함2. 내부 코드와 리소스등을 사용자가 보지 못하게 방해하는 것.3. 분석을 하지 않게 귀차니즘을 넘겨주기.. 더보기