본문 바로가기

프로그래밍21

Visual Studio / x64 아키텍쳐에서 어셈블리어를 사용하기 | 소스코드정렬 Visual Studio x86 시스템에서는 아래와 같이 어셈블리어 코드를 하드코딩할 수 있었고 가끔씩 필수적으로 써야하는 상황이 있어 사용하던 키워드 였으나 x64 아키텍쳐에서는 사용이 불가능하다는 문제가 있었고, 이를 해결하기 위해 검색을 했고 잊지않도록 이렇게 포스팅으로 남기게 되었습니다. x64에서는 사용할 수 없다는 에러 메시지를 볼 수 있는데 결과적으로 __asm 키워드를 막았을뿐 여전히 어셈블리어는 사용이 가능합니다. 어셈블리어 문법으로 함수를 작성하면 된다. 그러면 MSIL를 설치해 컴파일해야하는가? 아니다. .. 2018. 2. 27.
[Python] DES 예제 import requests, urllib, json import base64 import pyDes class DES: def __init__(self, iv, key): self.iv = iv self.key = key def encrypt(self, data): k = pyDes.des(self.key, pyDes.ECB, self.iv, pad=None, padmode=pyDes.PAD_PKCS5) d = k.encrypt(data) d = base64.encodestring(d) return d def decrypt(self, data): k = pyDes.des(self.key, pyDes.ECB, self.iv, pad=None, padmode=pyDes.PAD_PKCS5) d = k.dec.. 2018. 2. 6.
[Python] AES 예제 import base64 from Crypto.Cipher import AES from Crypto import Random pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS) unpad = lambda s : s[:-ord(s[len(s)-1:])] class AESCipher: def __init__( self, key ): self.key = key def encrypt( self, raw ): raw = pad(raw) iv = Random.new().read( AES.block_size ) cipher = AES.new( self.key, AES.MODE_CBC, iv ) return base64.b64encode( iv + ciphe.. 2018. 2. 6.
[kernel] PsSetLoadImageNotifyRoutine 와 PsSetCreateProcessNotifyRoutine PsSetLoadImageNotifyRoutine 와 PsSetCreateProcessNotifyRoutine 는 비슷하지만 차이가 존재한다. PsSetCreateProcessNotifyRoutine는 프로세스가 생성되거나 소멸될때 호출되는 반면에, PsSetLoadImageNotifyRoutine는 프로세스에 이미지가 새로 로드되는 순간마다 호출된다. 프로세스는 여러 DLL을 동적로딩하여 사용하므로 여러번 호출된다. 우리는 어떠한 상황으로 나누어 두개를 이용할까?? 프로세스가 생성이나 소멸되는 순간을 필요로한다면 당연히 PsSetCreateProcessNotifyRoutine 일것이다. 하지만 특정한 모듈이 올라왔을 때, 원하는 동작을 실행하고 싶다면 PsSetLoadImageNotifyRoutine .. 2018. 2. 1.
반응형