2018/05(43)
-
Rsa_Calculator set_key 우회 c코드
보호되어 있는 글입니다.
2018.05.18 -
[1-1-2] C++ Vtable을 구현해보고 디버깅 해보자 [1]
가상함수 ... vptr, vtable 이놈들 잘해야 분석 실력이 증가한다. Vtable 하기전에 가상함수부터 살펴보자. 가상함수? 클래스 타입의 포인터로 멤버 함수를 호출할 경우 동작하는 함수이며 키워드는 virtual이다. 삽질 1. A클래스와 A를 상속한 B클래스를 선언한 뒤 Message함수를 만들어 A클래스 타입의 포인터 pa를 인수로 하여 A객체와 B객체를 정적 / 동적 바인딩을 해보기. Example SourceCode #include #include using namespace std; class A { public: virtual void OutMessage() // virtual 키워드가 붙게 되면 동적 바인딩이 된다 { cout
2018.05.17 -
xinetd.d 세팅
sudo vi /etc/xinetd.conf 여기서 서비스 등록 후 terminal 복귀 : echo "서비스명 포트/tcp" >> /etc/services 데몬 재실행 sudo service xinetd restart EXE는 서버로 사용되는데 PYTHON 코드는 서버로 사용되지 않는다 ..
2018.05.16 -
[1-1-1] Python으로 대칭키 알고리즘을 사용하여 텍스트파일을 암호화 해보자 full code
보호되어 있는 글입니다.
2018.05.16 -
[1-1] C++로 대칭키 알고리즘을 사용하여 텍스트파일을 암호화 해보자
시나리오 중 첫 번째로 시행해야 하는 AES 대칭키를 이용하여 파일 암호화 시켜보기 성공하였다. AES 대칭키 알고리즘 c++로 작성하기 전에 python을 사용해보았다. CTF를 위해서랄까... (간단하게 사용하기 위해서) pip install pycrypto 이거 설치하면 Crypto 모듈을 사용할 수 있다. 이번에 사용한 AES는 AES_MODE_CBC이다. 알게 된 사실은 IV벡터는 16바이트 이상이 되어야 한다는 것이다. 하나의 코드 내에서는 암호화에 성공을 하였고, 복호화까지 성공을 하였다. 이제는 복호화 함수를 따로 사용하여 리모트로 ctf하듯이 해봐야겠다. 삽질하러 가자~
2018.05.16 -
PE 64비트에서 최적화에 대한 이야기
64비트에서의 최적화 관련 처리 1. 강화 된 함수 인라인 처리 "인라인 함수 확장(Inline Function Expansion)" 조건에 따라 64비트 컴파일러는 함수 호출을 함수의 내용으로 대체하기도 하는데, 이를 인라인 함수 확장이라 한다. 인라인 처리라는것은, 함수를 CALL명령으로 처리하는게 아니라 함수 자체 코드를 호출 부분에 삽입하는 것이다.물론, 함수 자체를 호출 부분에 삽입하기 때문에 프로그램의 크기는 증가하게 된다. 하지만, 호출을 위한 스택 준비와 CALL 명령의 분기로 인한 부하는 없앨 수 있다.디버깅은 다소 어려울 수 있다. 왜냐하면, 심볼을 제대로 찾을 수 없기 때문이다. 2. 최종 호출 제거 (Tail Call Elimination) 우선 기억해두어야 하는 것이 하나 있다.스..
2018.05.15