반응형

리버싱 2

패킹(Packing), 언패킹(Unpaking), 패커(Packer)

@ 패킹(Packing) - 실행파일을 암호화하거나, 압축하여 소스코드를 볼수 없도록 하는 것 - 압축을 하면 용량을 줄이고, 실행속도가 빨라짐(사용자 측면에서도 유리하지만, 악성코드 유포시에도 유리하게 작용) - 분석하기에 어려움이 존재함(언패킹이 필요하기 때문에) @ 언패킹(Unpacking) - 패킹된 소스코드를 보기 위해 암호화나 압축을 푸는 행위 @ 패커(Packer) - 패킹을 해주는 프로그램(Compressor, Protector) - Compressor : 파일의 크기를 줄여 배포를 쉽게하도록 하는 목적, 주로 악성코드 실행속도를 빠르게 하는데 목적이 있고 대표적으로 UPX, FSG 등이 있다. -> UPX(Ultimate Paker eXecutables) : 여러 운영체제에서 수많은 파일..

어셈블리어 AND, SUB, TEST, CMP 차이

AND 비트연산을 수행한다. Operand 값을 2진수로 바꾸고, 비트 연산을 통해서 양쪽다 1인 값만 참이된다. SUB 마이너스 기능을 수행한다. SUB a1, a2 형식이면 a1의 값을 a2만큼 감소한 후 결과값을 a1에 저장한다. TEST 첫번째 Operand와 두번째 Operand를 AND 시킨다. 이 연산의 결과는 ZF에만 영향을 미치고 Operand에 영향을 미치지 않고 버려진다. 두 Operand가 모두 0인지 아닌지 판단 가능하다 CMP 첫번째 Operand와 두번째 Operand를 뺀다. 이 연산의 결과는 ZF에만 영향을 미치고 Operand에 영향을 미치지 않고 버려진다. 두 Operand가 같은지 판단 가능 하다