2011-01-09 3 views
10

나는 아주 이상한 것을 만나고, 단지 더해지지 않습니다. 우선 컴퓨터 버라이어스와 관련이 있는지 확실하지 않기 때문에 여기에 게시했습니다. 그리고 만약 그렇다면, 나를 도와서 도움을 얻을 수있는 곳으로 안내해 주시겠습니까? 그래서 지금감염된 컴파일러 또는 오작동?

는 : 여기 이상한 문제의 어떤 종류가 있어요

, 내 안티 바이러스 및 malwarebytes 플래그 코드를 모두 *이 바이러스로 MASM과 MASM 예제를 컴파일. 내가 봤 거든이 문제가 너무 심각하게 받아들이지 않았어 전에 처음으로 그것이 거짓 긍정적 인 생각에 전에 발생했습니다 것으로 나타났습니다.

하지만이 게시물의 하단에있는 다른 코드를 테스트하기 위해 코드를 컴파일했습니다. 그리고 나는 (그 사이에 내 코모도 안티 바이러스 무시) 올리 디버그를 통해 실행하고 나는이 보았다

00401000 > -E9 FBEF6F71 JMP 71B00000 ; this is a weird jump I did not put there 
00401005  90    NOP 
00401006  8BC0   MOV EAX,EAX 
00401008 . 8BD8   MOV EBX,EAX 
0040100A . 33D9   XOR EBX,ECX 
0040100C . 8BC3   MOV EAX,EBX 
0040100E . 03CB   ADD ECX,EBX 
00401010 . 33C3   XOR EAX,EBX 
00401012 . 2BC1   SUB EAX,ECX 
00401014 . 8BCB   MOV ECX,EBX 
00401016 . 33D9   XOR EBX,ECX 

아래의 코드는 아마도 그 점프로 컴파일 할 수 있습니다를, 그래서 나는 코드에 개입했다. 그리고 얼마 후, 이상한 코드가 ntdll.dll 라이브러리의 api를 통해 열거되기 시작했다. 무슨 일이야? 이것이 실제로 도움이 필요한 바이러스 일 경우?

는하지만 내가 테스트하기 위해 사용 된 바이러스

테스트 코드와 코모도와 malwarebytes의 flagg 모두에만 바이러스와 같은 예,하지만 파일 (TEST.EXE), 아직 확실하지 않다 ...

는 * :

,369 : 포함 \ MASM32 \ \ masm32rt.inc

.data 

.code 

Start: 

nop 
nop 
nop 
nop 
nop 
nop 

mov eax, eax 
mov ebx, eax 
xor ebx, ecx 
mov eax, ebx 
add ecx, ebx 
xor eax, ebx 
sub eax, ecx 
mov ecx, ebx 
xor ebx, ecx 

invoke ExitProcess, 0h 


end Start 

업데이트를 포함

코드는 디스크가 아니라 메모리에, 그래서 아마도이 일을 일종의 라이브러리입니다 :

Disassembly 

00401000     start: 
00401000 90      nop 
00401001 90      nop 
00401002 90      nop 
00401003 90      nop 
00401004 90      nop 
00401005 90      nop 

을 그리고 나는 호출 종료 프로세스를 제거했고 그것은 여전히 ​​

답변

9
설명 할 수없는 점프에 대해서

, 흥미로운 정보를 제공하는 것 masm32.com에 this thread에 구글지도에 대한 빠른 검색 및 most notably :

은 "COMODO"인터넷 보안이 범인입니다.
고유 한 부분 "sanbox"를 구현하기 위해 실행 파일을 즉시 수정하고 있습니다.

+10

+1. 바이러스 검사 프로그램이 바이러스와 다른 점은 아닙니다. –

+0

그럴 수 있습니까? 하나님 감사합니다! 남자 나는 두 번째 무서웠다 : 나는 내가 내 모든 데이터를 잃을 것이라고 생각했다. (전에 일어난 일이다.) * 코모도를 제거한다. – Rick

1

입니다 71B00000 주소는 현재 코드에서 아주 멀리 떨어져 있습니다. 실제로로드 된 다른 모듈 내부에 있는지 확인하십시오. DLL에서 ExitProcess을 가져온 이후로 invoke 매크로 (또는 DLL을 단순히 사용)의 부작용 일 수 있습니다. 당신이 그것을 단순한 무한 루프, 즉 그것을 대체하면 어떻게되는지보십시오. JMP . 또는 일부. 물론 수동으로 프로그램을 종료해야하지만 흥미로운 데이터 요소가 될 것입니다. 또한 디스크의 exe 파일을 검사하여 이미 시작시 JMP이 있는지 확인하십시오.

+0

'ExitProcess'를 호출하면'ntdll.dll'에서 코드 실행이 시작될 것입니다. –

+0

할 것입니다, 잠시 후에 게시하지만 한편으로는 디렉토리의 다른 파일 (ollydb)을 검사했는데 olly가 같은 주소 (진입 점의 주소)에있는 동일한 주소로 점프했음을 발견했습니다. 그런 다음 메모리에 olly를 다시로드하고 디버깅 올리는 코드가 자기 모드 화일 수 있다고 경고했습니다. 바이러스에 대해 거의 알지 못했지만 이것은 매우 나쁜 것입니다. – Rick