본문 바로가기

레지스터 정리 리버싱을 하기 위해서는 먼저 어셈블리어를 배워야 하는데 IA-32플랫폼에서 쓰이는 어셈블리어에서 많이 쓰는 레지스터에 대해서 설명드리겠습니다. 레지스터는 알기 쉽게 c언어에서 변수를 선언한다고 보시면 됩니다. 하지만 c언어와의 차이점은 c언어는 자신이 원할때 변수를 맘대로 생성시킬 수 있는 반면에 어셈블리어는 이미 몇개의 레지스터의 갯수로 정해져있다는 점입니다. 다음 그림은 Basic program execution registers 그룹에 포함된 전체 레지스터 정리 그림입니다. 가장 위는 범용레지스터, 왼쪽아래의 EIP는 Instruction pointer, 그 아래의 EFLAGS는 프로그램 상태와 컨트롤 레지스터, 그 오른쪽은 세그먼트 레지스터입니다. 1)범용레지스터 범용레지스터는 이름 그대로 범용적.. 더보기
악성코드 Backdoor.Hacarmy.D 분석-3 이번에는 저번에 말했던 악성코드가 정보를 빼내는 일을 하는것을 분석해보겠습니다. 00402D82 push zonelock.004050B6 //grandad00402D87 push zonelock.004050B0 //##g## 00402D8C push zonelock.004051A3 //JOIN00402D91 push zonelock.004054AC //format =%s %s %s00402D9D call 00402DA7 push zonelock.004050B0 //##g##00402DAC push zonelock.004051A3 //JOIN00402DB1 push zonelock.004054BE format =%s %s00402DBD call 이부분에서 위부분은 grandad란 parameter를 이용해.. 더보기
악성코드 Backdoor.Hacarmy.D 분석-2 그럼 저번에 말했던 대로 이번엔 실행된 다음에 생긴 ZoneLockUp.exe파일을 분석해보겠습니다. 프로세스 익스플로러에서 ZoneLockup.exe파일의 속성을 보면 system32폴더에 파일이 존재한다고 합니다. 그러므로 이제 system32폴더에 들어가서 이 프로그램을 올리디버거를 통해 분석해보겠습니다. 그런데 Webcam.scr파일이 upx패킹이 되있는 상태로 복사가 됬으므로 ZoneLockup.exe파일도 upx패킹이 되있겠군요. 실제로 확인해보니까 upx패킹이 되있는 파일의 첫부분이랑 같네요. 그러면 upx를 통해 언팩을 한 다음 분석을 해보겠습니다. 저번부분이랑 같은 부분을 모두 제외하고 다른 부분부터 분석을 시작하겠습니다. 004026A5 push zonelock.00404010 //C:.. 더보기