WEBVTT

00:00.350 --> 00:02.060
안녕하세요, 다시 오신 것을 환영합니다.

00:02.090 --> 00:05.110
이전 동영상에서는 xdbg를 사용했습니다.

00:05.510 --> 00:08.900
이 데모를 실행합니다.

00:08.900 --> 00:12.530
그리고 우리는 첫 번째 기회를 잡기 전까지는 몰랐습니다.

00:12.530 --> 00:14.060
왼쪽 하단의 예외.

00:14.720 --> 00:18.320
이제 이걸 보고도 계속 달릴 수 있습니다.

00:18.320 --> 00:19.010
문제 없습니다.

00:19.010 --> 00:20.600
이 실행을 클릭하기만 하면 됩니다.

00:24.000 --> 00:25.450
다시 말하지만, 첫 번째 기회는 예외입니다.

00:25.470 --> 00:27.360
실행을 계속 클릭하지 않아도 됩니다.

00:29.360 --> 00:31.130
그리고 이제 실제로 실행 중입니다.

00:32.570 --> 00:35.330
그리고 이번에는 API에 부딪힙니다.

00:35.360 --> 00:46.160
프로세스 내부 W를 생성하면 여기에서 이 하나의 램 비용 점 x에 대한 매개 변수를 볼 수 있습니다.

00:47.030 --> 00:52.400
즉, 하위 프로세스를 생성한다는 의미입니다.

00:53.370 --> 00:55.760
그레이엄 콕스가 자신의 감방에서 보낸 편지입니다.

00:56.550 --> 01:02.970
그리고 해커를 처리하고 계속 주시하면 이를 확인할 수 있습니다.

01:03.810 --> 01:06.120
이제 Hacker 프로세스를 열어 보겠습니다.

01:11.390 --> 01:19.490
그리고 이 코스는 자체적으로 또 다른 하위 프로세스를 생성할 것이므로 계속 주시하세요.

01:20.460 --> 01:20.600
It.

01:23.060 --> 01:23.750
이쪽입니다.

01:24.170 --> 01:30.400
따라서 자녀가 휴대폰을 처리한 후 다시 시작 방지 스레드를 호출할 수 있습니다.

01:30.530 --> 01:37.040
대부분의 경우 멀웨어가 하위 프로세스를 생성할 때 일시 중단된 상태이며, 이 생성

01:37.040 --> 01:44.090
프로세스 내부의 매개 변수를 살펴보면 여기 또는 여기에서 해당 프로세스에 대한 매개 변수를

01:44.090 --> 01:46.610
확인할 수 있습니다.

01:47.120 --> 01:51.020
이제 여기에 내부 프로세스를 생성하고 프로세스를 만듭니다.

01:51.020 --> 01:58.850
내부에는 12개의 파라미터가 있으며 중요한 것은 일곱 번째 파라미터인 W 생성 플래그입니다.

01:59.570 --> 02:07.460
생성 플래그는 일시 중단된 상태에서 생성할지 아니면 다른 상태로 생성할지를 나타내는 것입니다.

02:07.670 --> 02:15.920
따라서 여기서 일곱 번째 매개 변수를 보면 첫 번째 매개 변수 2, 3, 4, 5, 6,

02:15.920 --> 02:23.910
7, 4 4는 일시 중단 된 상태에서이 프로세스를 생성한다는 의미입니다.

02:24.750 --> 02:32.790
따라서 안티 재시작 스레드가 결국 일시 중단 상태에서 벗어날 것이므로 안티 재시작 스레드에

02:32.790 --> 02:36.720
다른 중단점을 설정할 수 있습니다.

02:37.140 --> 02:43.740
이제 스레드 재개 금지에 중단점을 설정할 수 있습니다. Enter 키를

02:46.500 --> 02:56.010
눌러 스레드 재개로 설정되어 있는지 확인하면 프로세스 메모리를 쓰는 것이 하나 더 추가됩니다.

02:56.010 --> 03:06.330
따라서 쓰기 프로세스 메모리의 중단점을 설정하여 읽기 및 쓰기 프로세스 메모리의 재시작을 방지할 수 있습니다.

03:07.890 --> 03:15.540
프로세스 내부 생성 프로세스 내부 생성 프로세스 내부 쓰기 프로세스 메모리 안티 재개 스레드 생성 프로세스 내부 생성은

03:16.060 --> 03:22.860
자식 프로세스를 생성하는 데 사용 프로세스 내부 생성은 별도의 프로세스 자식 프로세스 쓰기 프로세스 메모리는

03:23.030 --> 03:29.570
자식 프로세스의 섹션을 다른 코드로 덮어쓰는 것이고 안티 인종 차별 스레드는 일시 중단된 스레드를

03:29.600 --> 03:31.820
재개하는 것입니다.

03:32.530 --> 03:38.290
따라서 createprocess 내부에서 스레드를 생성하고 일시 중단하여 스레드에 쓸 수

03:38.290 --> 03:42.670
있도록 한 다음 다시 시작하여 일시 중단된 상태에서 벗어나게 합니다.

03:42.700 --> 03:49.540
그렇기 때문에 이 세 가지가 함께 작동하며, 이 세 가지에 API 중단점을 설정하는 이유도 바로 여기에

03:49.570 --> 03:50.680
있습니다.

03:51.160 --> 03:55.030
이제 이 작업을 완료했으니 이제 실행할 수 있습니다.

03:55.030 --> 03:57.220
이제 달려가 보겠습니다, F9.

03:58.100 --> 03:59.360
여기까지입니다.

03:59.660 --> 04:01.190
프로세스 메모리 쓰기.

04:01.370 --> 04:08.750
따라서 쓰기 프로세스, 메모리는 지금 여기로 돌아가면 생성된 하위 프로세스에 쓰게

04:08.750 --> 04:09.830
됩니다.

04:10.700 --> 04:11.150
프로세스.

04:11.150 --> 04:14.810
해커 부모가 자식을 생성한 것을 볼 수 있습니다.

04:15.500 --> 04:16.970
예상대로입니다.

04:17.570 --> 04:23.210
이제 여기로 돌아가면 자식 메모리에 무언가를 기록할 것입니다.

04:23.690 --> 04:26.870
이에 대한 API를 살펴보면 다음과 같습니다.

04:28.140 --> 04:28.680
소유하고 있습니다.

04:28.680 --> 04:31.200
메모리에는 다섯 가지 매개 변수가 있습니다.

04:31.410 --> 04:35.610
첫 번째는 자녀의 프로세스에 대한 핸들입니다.

04:36.360 --> 04:39.630
그리고 두 번째는 기본 주소입니다.

04:39.780 --> 04:45.330
따라서 여기 또는 여기 매개변수와 비교할 수 있습니다.

04:46.050 --> 04:49.020
첫 번째는 자식 프로세스에 대한 핸들입니다.

04:49.320 --> 04:51.600
두 번째는 자녀의 기본 주소입니다.

04:52.500 --> 04:54.540
세 번째는 버퍼입니다.

04:54.870 --> 04:59.580
즉, 하위 프로세스에 작성하는 데 사용할 내용을 의미합니다.

05:00.540 --> 05:06.390
즉, 세 번째 버퍼인 이 버퍼를 쓰게 됩니다.

05:07.710 --> 05:12.840
따라서 원한다면 3번 덤프에서 이 내용을 따라갈 수 있습니다.

05:12.960 --> 05:20.460
이제 3번 덤프를 선택하고 마우스 오른쪽 버튼으로 클릭한 다음 덤프의 단어를 따라가 보겠습니다.

05:21.690 --> 05:26.320
현재 덤프의 단어를 따라 3번을 수행합니다.

05:26.340 --> 05:33.860
보시다시피 헤더가 있고 이제 전체 파일이 여기에 있습니다.

05:33.880 --> 05:35.920
아래로 스크롤하면 다음과 같은 내용을 확인할 수 있습니다.

05:38.760 --> 05:38.970
알겠습니다.

05:38.970 --> 05:41.310
다시 처음으로 돌아가 보겠습니다.

05:42.500 --> 05:44.900
캐나다의 리버를 팔로우하세요.

05:45.080 --> 05:48.590
자, 이제 여기가 덤프하기에 좋은 장소입니다.

05:49.430 --> 05:56.060
따라서 이를 덤프하려면 이 메모리 영역을 모두 선택해야 합니다.

05:56.090 --> 06:04.910
즉, 여기서 첫 번째 바이트를 클릭한 다음 아래로 스크롤하여 키보드에서 Shift 키를 누른

06:05.090 --> 06:09.260
상태에서 마지막 바이트를 클릭합니다.

06:10.250 --> 06:14.630
즉, 선택 후 전체를 선택하면 이제 버릴 수 있습니다.

06:14.900 --> 06:15.890
마우스 오른쪽 버튼을 클릭합니다.

06:15.890 --> 06:21.200
그런 다음 바이너리 이동을 클릭하여 파일에 저장할 수 있습니다.

06:23.000 --> 06:26.180
이제 이 내용을 파일에 덤프할 수 있습니다.

06:27.710 --> 06:30.860
그래서 제 폴더에 덤프하겠습니다.

06:30.910 --> 06:32.030
Ram 코스 폴더.

06:32.540 --> 06:34.730
저는 이를 램 코스라고 부르겠습니다.

06:35.970 --> 06:41.240
도트 빈을 덤프하고 저장을 클릭합니다.

06:43.630 --> 06:48.200
이제 받으시는 주소가 제 주소와 다를 수 있다는 점에 유의하시기 바랍니다.

06:48.220 --> 06:52.630
그러니 보이는 대로 따라가면 됩니다.

06:53.020 --> 07:01.420
이제 이미 이 작업을 수행했으므로 데스크톱으로 이동하면 폴더가

07:01.420 --> 07:04.570
약 256kB입니다.

07:05.200 --> 07:09.820
다음 동영상에서는 이 분석을 계속 이어가겠습니다.

07:10.420 --> 07:12.130
시청해 주셔서 감사합니다.
