본문 바로가기

전체 글

(176)
수학.. 너무싫다......
Bitcoin에서 Double Hash의 이유(Length-Extension Attack) Bitcoin에서는 Address의 값을 Double hashing 하는 것을 볼 수 있는데, 그 이유는 Length-Extension Attack을 방어하기 위함이라고 한다. Double Hash를 함으로써 Length-Extention Attack을 방어할 수 있는데 Attack에 대한 내용을 추후에 소스코드와 함께 구현해보며 이해해보도록 하겠다. TODO : Length-Extension Attack 소스코드 작성 및 설명
Block Header와 Order(Internal Byte Order, little-endian order) Bitcoin Developer Reference를 보면 Block Header는 다음과 같이 정의되어 있다. // // block.hpp // b_to_the_i_to_the_coin // // Created by 장한빈 on 19/03/2019. // Copyright © 2019 장한빈. All rights reserved. // #ifndef block_hpp #define block_hpp #pragma pack(push,1) #include // The hashes are in internal byte order the other values are all in little-endian order class BlockHeader{ int32_t version; char previous_bloc..
우분투 비트코인 코어 설치하기(Install bitcoin core on ubuntu) BlockChain 공부를 하기에 앞서 Bitcoin core를 설치해보고 직접 보는게 좋다는 교수님 말씀에 설치해보기로 했다. 현재 작성하는 방법은 삽질을 통해 얻은 과정으로 명확하거나 가장 간단하지 않을 수도 있다(실제로 configure에서 많은 옵션을 제공하거나 폴더내에 많은 쉘 스크립트를 통해 편리하게 설치할 수 있으나, 무지함으로 인해 삽질을 조금한 후 포스팅 한것이라서 정리가 잘 되어있진 못하다). 설치과정중 github document를 보지 않아 삽질이 많았는데, 삽질과 관련해서는 정상적인 설치과정을 작성한 후 적어두도록 하겠다. 따라하는 도중 오류가 발생할 경우 아래를 참조하자! 설치에 앞서 영어가 편한 분들이나, github의 document에 익숙하신분은 bitcoin에서 제공하는 ..
apktool 리패키징 오류해결 error: Error: No resource found that matches the given name (at 'src' with value '@drawable/ic_arrow_back_white_24dp'). 위 오류수정 코드 from os import listdir from os.path import isfile, join mypath = r'C:\Users\Jang\Downloads\base\res\layout' onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))] for file in onlyfiles: if file.find('xml') != -1: print(file) with open(mypath +'\\'+ file, ..
Python pycrypto 설치시 구문 오류 Syntax error stdint 오랜만에 윈도우환경에서 작업하다 보니 파이썬 설치 오류가 생겨서 공유한다. pycrypto를 처음 설치할때는 VC++ Build Tools를 깔라고 해서 깔았더니, 설치 후에 구문 오류가 발생했다. 나는 다음과 같이 해결했다. Powershell을 관리자 권한으로 연다. 다음 아래와 같이 입력 $env:VCINSTALLDIR="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023"$env:CL="-FI`"$env:VCINSTALLDIR\INCLUDE\stdint.h`"" 이때 VCINSTALLDIR의 경로는 설치 버전이나 환경마다 상이하므로 본인에 맞는 경로를 적어주도록 하자. 그런후 pip나 easy..
LOS 20번 DRAGON 요번 문제는 애초에 주석이 달려있던 문제... 생각보다 쉬웠는데 삽질을 많이 했네 :) 처음에는 NULL BYTE가지고 우회하려다 아무리 생각해도 뒤에 쿼리문을 작성할 수 없어서 한참동안 고민하다가 계속 Mysql 서버로 테스트해보던 중 내가 왜 이걸 놓치고 있었지? 라는 생각이 든다. 그 테스트는 바로 아래와 같다. 습관적으로 한줄로 쿼리문을 작성하다가 주석때문에 세미콜론이 씹혀서 프롬포트가 떨어지고 나서 다시 세미콜론을 치고 명령어를 실행시켰는데... 답이 앞에 있었네.. 주석은 총 3가지가 있는데 1가지(/* something */)을 제외한 2가지 ( #, --)는 해당하는 줄만 주석 처리를 한다. 아이고.. 그래서 아래와 같이 쿼리문 작성 후 클리어! pw=''뒤에 공백은 %20(space)가 ..
Mysql 원격 접속 설정(bind-adderss) For ver.14.14 Mysql이 버전 업데이트가 되면서 설정파일의 경로가 바뀐 것 같다. 대부분의 포스팅의 경우 이전버전을 기준으로 사용하고 있으므로, 기록차 작성한다. 설정파일의 기본 경로는 /etc/mysql/mysql.conf.d/mysqld.conf 이다. 따라서, 외부에서 접속하기 위해 bind-address를 설정해줘야 하는데 아래와 같이 설정할 수 있다. $ sudo vi /etc/mysql/mysql.conf.d/mysqld.conf lc-messages-dir = /usr/share/mysql skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compa..