'리버싱 > 칼럼' 카테고리의 다른 글
Packing 구조에 대한 이해 - 1부 (0) | 2015.03.09 |
---|---|
가상화 머신 탐지에 대한 칼럼 (0) | 2014.12.01 |
(칼럼)해킹 사례로 본 사회 시스템 피해 (0) | 2014.09.02 |
(칼럼)윈도우 UAC 우회 (0) | 2014.02.13 |
Java 취약점 분석 (0) | 2013.12.02 |
Packing 구조에 대한 이해 - 1부 (0) | 2015.03.09 |
---|---|
가상화 머신 탐지에 대한 칼럼 (0) | 2014.12.01 |
(칼럼)해킹 사례로 본 사회 시스템 피해 (0) | 2014.09.02 |
(칼럼)윈도우 UAC 우회 (0) | 2014.02.13 |
Java 취약점 분석 (0) | 2013.12.02 |
출처 : http://jorryrojer.tistory.com/entry/Yodas-Crypter-13-Unpacking
yoda 옛날버젼이지만. 그래도 모든지 기초가 중요하지. 현재 공개된 코드 좀 보면서 정보찾다가 같이 보게됨. 필요하신분 참조하시길
아 참고로 이 방법 말고도 방법은 있다. 현재 해본방법으로는 제일 간단하게 할수 있는 방법은 맨처음 push 부분에서 레지스터 값 ecx 값에 hd bp 로 wirte로 해서 걸고 런시키면 JMP부분이 나오고 JMP 밑에 INT3 이 나오고 그 밑으로 0000 바이트가 무수히 많다. 여기서 점프해서 들어가면 OEP부분으로 들어가게 된다....걍 편법이다. ㅎㅎㅎ
IAT 기준으로 IDA에서 해당 분석 정보 확인하는 방법 (0) | 2015.06.30 |
---|---|
Servicemain으로 호출되면서 해당 service main에서 팩킹되어있을 때 (0) | 2015.06.26 |
nspack unpack (0) | 2014.11.07 |
Exe32Pack 1.4x (Unpacking) (0) | 2014.10.30 |
RunAsInvoker 로 UAC 우회 (0) | 2014.10.23 |
말 그대로 칼럼입니다...오타 지적, 태클 환영
YODA 팩에 대한 소스코드
소스코드에서 수정할 부분
1. i에서 int i=0; 코드부분 추가
2. const 부분에서 const int로 수정
2개 오류 잡으면 정확히 컴파일 됩니다. ( 새로 컴파일한거 올리려고 했는데 용량이 엄청 커져서 수정되지않은것으로 올립니다.)
Packing 구조에 대한 이해 (2) (0) | 2015.06.18 |
---|---|
가상화 머신 탐지에 대한 칼럼 (0) | 2014.12.01 |
(칼럼)해킹 사례로 본 사회 시스템 피해 (0) | 2014.09.02 |
(칼럼)윈도우 UAC 우회 (0) | 2014.02.13 |
Java 취약점 분석 (0) | 2013.12.02 |
Packing 구조에 대한 이해 (2) (0) | 2015.06.18 |
---|---|
Packing 구조에 대한 이해 - 1부 (0) | 2015.03.09 |
(칼럼)해킹 사례로 본 사회 시스템 피해 (0) | 2014.09.02 |
(칼럼)윈도우 UAC 우회 (0) | 2014.02.13 |
Java 취약점 분석 (0) | 2013.12.02 |
완전 쉬운 nspack....이걸 써야할지 말아야할지 생각도 안하고 ..그냥 올려본다..
해당 특징이라하면 특정 어셈 명령어에 대한 지식을 알면 쉽게 이해 할수 있다.
누구나 아는 upx에서 pushad 의 어셈명령이 무엇인지 기억하는가? 모든 레지스터에 대한 값을 저장하는것이였다.
여기서는 pushfd를 쓴다. PUSHFD 는 'push flags double-word' 의 약어로, 플래그를
더블워드로 스택에 넣는다.[ 출처 : http://gnudevel.tistory.com/404]------------------------------------------------------------------------------------
출처 : http://index2014.tistory.com/126
-----------------------------------------------------------------------------
자 여기까지가 이 팩에 대한 알아야할 기본 지식이다. 이 팩에서는 pushfd, pushad를 연속으로 씀으로써 플래그값 및 레지스터 정보를 다 저장하였다가 언팩하여 jmp 할때 해당 레지스터값을 복원하여 동작한다.
nspack 확인
nspack에서 ep부분에 보이는 pushfd와 pushad 값을 확인할 수 있다.
아래 보면 popad, popfd 후에 jmp를 하는것을 알 수 있다.
참고로 보면알겠지만 그냥 ctrl+f 눌러서 popfd하면 바로 나온다;; jmp에 bp걸고 ㄱㄱ 하면 끝
이상 매우 쉬운 nsunpack에 대한 확인 및 언팩이였다....너무쉽다ㅣ
Servicemain으로 호출되면서 해당 service main에서 팩킹되어있을 때 (0) | 2015.06.26 |
---|---|
unpackingyoda'scrypter1.3 (1).pdf (0) | 2015.05.27 |
Exe32Pack 1.4x (Unpacking) (0) | 2014.10.30 |
RunAsInvoker 로 UAC 우회 (0) | 2014.10.23 |
Other AntiDebug tricks (0) | 2014.10.22 |
Exe32Pack 1.4x
Exe32Pack 1.4x (Unpacking).rar
해당 html문서를 보면 이미지와 내용으로 어느정도 알수 있다.
처음 ep부분에서 esp레지스터 값을 하드웨어 브레이크 포인트로 엑세스에 dword값으로 4바이트를 설정한 후 f9를 누르면 jmp eax 값이 뜬다. 해당 eax가면 oep가 되는것이다.
이그림은 처음 올리디버거에 올라왔을때 ep 부분이며, 해당 esp값을 보면 0012ffc4로 되어있다. 해당 주소를 hex값으로 위에말한대로 bp를 걸고 f9로 진행한다
진행하다보면 최종적으로 JMP EAX값으로 뛰는 코드부분이 존재하며, 결국 해당 언팩된 OEP로 주소이동을 하게된다.
(원래 문서나 다른팩에서는 바로 나오는데 여기선 f9 두번에 f8 3번정도 진행했더니 oep값이 나왔다 즉 바로 안나온다고 당황하지말고 좀더 코드를 따라가보면 된다)
이팩은 옛날거라 쉽다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
unpackingyoda'scrypter1.3 (1).pdf (0) | 2015.05.27 |
---|---|
nspack unpack (0) | 2014.11.07 |
RunAsInvoker 로 UAC 우회 (0) | 2014.10.23 |
Other AntiDebug tricks (0) | 2014.10.22 |
ida 6,5 "win64_remotex64.exe" 리모트 디버깅을 위한 파일 (0) | 2014.08.29 |
UAC - Is it better to use RunAsInvoker or to give Admin rights to the application users
nspack unpack (0) | 2014.11.07 |
---|---|
Exe32Pack 1.4x (Unpacking) (0) | 2014.10.30 |
Other AntiDebug tricks (0) | 2014.10.22 |
ida 6,5 "win64_remotex64.exe" 리모트 디버깅을 위한 파일 (0) | 2014.08.29 |
마우스 포인트로 안티리버싱 (0) | 2014.08.29 |