본문 바로가기
Reversing/Malware

문자열 디코딩 함수 반복 - immunity script

by bbolmin 2014. 4. 4.





처음에는 pydbg로 만들다가 이뮤니티 스크립트로 바꿈 ... ( 혹시 몰라서 백업)


loop-pydbg.py




[ 이뮤니티 스크립트 파일 ]


loop.py



[*] 이뮤니티 디버거의 PyCommands 경로에 넣어준다.




[ 사용법 ]



1. 스크립트 실행

- decoding 함수를 call하는 위치에서 "!loop"와 같이 스크립트를 실행한다.

- unicode로 결과값을 얻으려는 경우에는 "!loop y'로 실행한다.



2. 인자값 세팅


- 이뮤니티 디버거 디렉토리의 argv.txt 파일에 저장한다.

- 인자값은 ','로 구분한다.

- 특정 인자값의 문자열의 길이가 들어가는 인자의 경우에 len(arg1)와 같이 사용할 수 있다.


ex) argv.txt 파일

1001622C, 1001622C, 0, len(arg1)

1001623C, 1001623C, 0, len(arg1)

1001624C, 1001624C, 0, len(arg1)



3. 결과 값


- 이뮤니티 디버거 디렉토리의 Call_result.txt에 저장되며 Log창(ALT+L)에서도 확인할 수 있다.

- 기본적으로 eax의 데이터를 확인하고 스크립트 실행시 확인할 인자값의 인덱스를 입력받는다.

ex) 입력상자가 나오면 "1, 2" 와 같이 입력. (1번째와 2번째인자를 확인)