《코드 가상과 자동화 분석》 1-3장 필기

  • 새 책 보기
  • 제1장 코드 가상화 원리
  • 코드 가상 보호 워크플로우
  • 코드 가상 보호 절차
  • 제2장 아날로그 가상화
  • 제3장 자동화 분석 원리


  • 저자 장립춘은 그의 첫 번째 책인 에서 일부 지방어가 상세하지 않다. 예를 들어 새로운 명사를 제시했지만 그 해석은 매우 개괄적이고 말을 반쯤 해서 사람들에게 허황된 느낌을 준다.독자는 어떻게 할 수 있습니까?깨닫다
    그리고 예를 들어 P42:1.8.3 상태기'상태기는 또 다른 고급 형식의 코드 가상기이다. 필자는 적당한 시기에 이런 가상기를 소개할 것이다'. 적당한 시기는??
    연결도 명확하지 않아'앞으로 장절에 소개할 것'이라고 여러 차례 언급했는데 도대체 어떤 장절이 있을까요?
    이것들은 조금만 구체적이면 저렇게 그림을 캡처할 수 있는데 왜 그 몇 십 글자를 절약해야 하는가, 게다가 책을 다 쓴 후에 약간의 회시 작업을 하면 크게 개선될 수 있다.어쨌든 경전을 본받아야 한다.본받다.

    새 책을 읽다


    '코드 가상과 자동화 분석'노트 새 책은 실천적인 측면에서'코드 가상화 보호'프로그램을 만든 다음에'분석', 즉'분석'을 깨뜨리는 각도가 좋다.
    새 책이 도착하자 3장을 연독했다.다음은 내가 개인적으로 명확하게 생각해야 할 점만 기록해 둔다.

    제1장 코드 가상화 원리


    여기에 나의 모호한 개념을 명확히 했다. 가상 케이스는 대부분 부분 시뮬레이션이다.원래 환경 보존에서 원래 환경으로 복귀
    가상 미디어의 개념을 제시했다.OpCode는 가상 미디어에 저장됩니다.

    코드 가상 보호 워크플로우


    다음 내용은 가상화된 실행 명령을 대체하는 데 사용됩니다
  • 원본 코드에서 오는 점프:
  • 코드 VM 포털
  • 코드 저장 현장
  • 가상화 환경 구축
  • 아날로그 실행 코드 - 가상화 미디어에서 디코딩 실행
  • 복구 코드 현장
  • 코드 VM 출구
  • 원래 코드로 돌아가는 점프
  • 코드 가상 보호 단계:

  • 보호된 코드 섹션 P
  • 찾기
  • 역컴파일
  • 가상화 코드로 컴파일
  • 가상화 미디어 생성 H
  • 동적 생성 CRT(안전한 수요를 충족시키기 위해 해독 난이도 증가)
  • 원본 코드 제거
  • 가상화 미디어 H 및 CRT
  • 가입
  • 둘 다 관련
  • 두 원 코드와 새로운 내용의 진입 퇴출 관련 증가
  • 제2장 아날로그 가상화


    Bochs의 경우 기본 시뮬레이션 프로세스와 어셈블리를 분석합니다.
  • 아날로그 CPU 개체
  • 디코더
  • 디코딩 실행기
  • OP 코드 분기
  • 이어서 작가는 실현된 예를 하나 들었다.구성: - 원래 프로그램 프로세서: PE 읽기 및 수정자.
  • 디코더
  • 가상화 미디어 인코더
  • 런타임 부품
  • 디코딩 실행기
  • VM 출입구

  • 새로운 인코딩을 사용합니다. 즉, 원래 인코딩된 내용에 대해 새로운 맵을 만들었습니다.eg: B0 01mov al,0x1 가상화를 사용하면 새로운 맵을 만들어야 한다는 것을 나타낸다.이 映射 관계의 복잡한 절차는 업무에 나타난다.VMP와 같은 매핑 관계는 고정불변의 것이 아니라 변화한다고 합니다.
    이 장의 내용은 가상화 코드가 다음과 같다는 것을 직관적으로 보여 준다.
           
    jmp    
    NOP//                    
    NOP
    ......
           

    내가 추측한 모습이 아닌

    제3장 자동화 분석 원리


    이 장은 몇 가지 스팸 코드와 간소화 전략을 상세하게 공유했다.뒷부분은 자동 교체와 관련이 있을 것이다.
  • 코드의 등가 교체는 기존 코드를 등가 교체한다.대응 조치: 코드 축적 등가 교체, 자동화 교체.
  • 결과가 없는 스팸 코드를 생성합니다. 예를 들어 대칭적인 조작으로 레지스터를 반복적으로 덮어씁니다.일부 지령은 쓰레기 지령과 가볍게 묶었다. 예를 들어 쓰레기 지령이 창고를 일정한 방향으로 이동한 다음에 수정된 정상적인 지령을 운행한 다음에 쓰레기 지령으로 창고로 이동했다.이 때 복구 명령은 직접 삭제할 수 없습니다.대응 조치: 창고 균형의 방법으로 처리하고 간단한 행위 분석으로 처리한다. 제4장 참조.
  • 코드 난서입니다. 이 난서는 명령으로 나누는 것을 말합니다.점프 연결 등.저자의 말대로'저렴하고 실용적인'대응 조치: 저자는 매우 간단하다고 생각한다. 예처리나 코드를 실시간으로 기록하여 실제 코드의 집행 절차를 분석한 다음에 코드의 배열 순서를 충분하게 하고 연결 코드를 삭제한다.//이러한 도전은 디자인 프로세스 정리 도구라고 생각합니다. 코드 프로세스 기록으로 인해 전개되는 순환을 어떻게 더 잘 통합할 수 있습니까?내가 두려워하는 방법 중 하나인 것 같다. 가짜 점프는 아직 심각하지 않다?//새로운 아이디어는 아날로그로 코드를 만들어 결과를 예측하는 점프 프로세스를 만들고 도달할 수 없는 프로세스를 만드는 것이다.
  • 다분지 점프 작가는 예를 들어 두 개의 구별이 없는 경로가 같고 효과가 같다.대응 조치: 가상화 기술을 사용하여 코드 이동이 발생하는 곳에서 코드 이동의 서로 다른 지점을 시뮬레이션한 다음에 서로 다른 지점의 집행 결과를 비교한다.만약 결과에 차이가 없다면 다분점 이동으로 처리한다.

  • 코드 가상 기기의 자동화 분석: 종합적인 자동화 기술: 자동화-탐지 코드 가상 기기의 구조와 구조-탐지 코드 가상 기기의 OP 지점-OP 지점의 의도 분석-기록 감시 가상 기기의 운행 상태를 파악하여 그 운행 과정을 파악한다.
    분석처에서 코드를 암호화하는 의도를 달성하는 목적을 달성하다.
    기술은 데이터 통계 분석 - 행위 일치 분석 - 비교 테스트 분석 - 실시간 모니터링 분석
    앞의 3장은 위와 같다.

    좋은 웹페이지 즐겨찾기