Merge pull request #168 from chasca8/master
Some checks failed
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled

Update test-oss-korea-2023.json
This commit is contained in:
Namhyeon Go 2024-12-20 15:39:46 +09:00 committed by GitHub
commit 4d6239b606
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 107 additions and 107 deletions

View File

@ -159,238 +159,238 @@
}, },
{ {
"id": "system_get_os_version", "id": "system_get_os_version",
"description": "현재 OS 버전 불러오기", "description": "Get current OS version",
"tags": ["Windows 시스템", "시스템 정보"] "tags": ["Windows system", "system information"]
}, },
{ {
"id": "system_get_architecture", "id": "system_get_architecture",
"description": "현재 아키텍쳐 불러오기", "description": "Get current system architecture",
"tags": ["Windows 시스템", "시스템 정보"] "tags": ["Windows system", "system information"]
}, },
{ {
"id": "system_get_uuid", "id": "system_get_uuid",
"description": "현재 장치 고유번호(UUID) 불러오기", "description": "bringing the UUID of current device",
"tags": ["Windows 시스템", "시스템 정보"] "tags": ["Windows system", "system information"]
}, },
{ {
"id": "system_get_working_directory", "id": "system_get_working_directory",
"description": "현재 작업 디렉토리 불러오기", "description": "bringing current working directory",
"tags": ["Windows 시스템", "시스템 정보"] "tags": ["Windows system", "system information"]
}, },
{ {
"id": "system_get_script_directory", "id": "system_get_script_directory",
"description": "현재 스크립트 디렉토리 불러오기", "description": "bringing current script directory",
"tags": ["Windows 시스템", "시스템 정보"] "tags": ["Windows system", "system information"]
}, },
{ {
"id": "system_get_network_interfaces", "id": "system_get_network_interfaces",
"description": "네트워크 인터페이스 정보 불러오기", "description": "bringing network interface information",
"tags": ["Windows 시스템", "시스템 정보"] "tags": ["Windows system", "system information"]
}, },
{ {
"id": "system_get_process_list", "id": "system_get_process_list",
"description": "활성 프로세스 목록 불러오기", "description": "get activated ",
"tags": ["Windows 시스템", "시스템 정보"] "tags": ["Windows system", "system information"]
}, },
{ {
"id": "system_get_process_list_by_name", "id": "system_get_process_list_by_name",
"description": "프로세스 이름으로 특정 활성 프로세스 찾기", "description": "find certain active process by process name",
"tags": ["Windows 시스템", "시스템 정보"] "tags": ["Windows system", "system information"]
}, },
{ {
"id": "system_register_uri", "id": "system_register_uri",
"description": "URI를 등록하고 URI 요청 내용에 따른 명령 수행", "description": "Register URI and carry out command as URI has requested",
"tags": ["Windows 시스템", "URI(Uniform Resource Identifier) 등록"] "tags": ["Windows system", "Register URI(Uniform Resource Identifier)"]
}, },
{ {
"id": "system_pipe_ipc", "id": "system_pipe_ipc",
"description": "두개 이상의 프로세스 간 통신", "description": "Interprocess communication between more than 2 processes",
"tags": ["Windows 시스템", "IPC(프로세스 간 통신)"] "tags": ["Windows system", "IPC(Inter Process Communication)"]
}, },
{ {
"id": "vhid_find_window", "id": "vhid_find_window",
"description": "활성창(Window) 핸들 찾기", "description": "find active window handle",
"tags": ["휴먼 인터페이스", "가상 휴면 인터페이스"] "tags": ["human interface", "virtual human interface"]
}, },
{ {
"id": "vhid_send_click", "id": "vhid_send_click",
"description": "가상 클릭(Click) 보내기", "description": "send virtual click",
"tags": ["휴먼 인터페이스", "가상 휴면 인터페이스"] "tags": ["human interface", "virtual human interface"]
}, },
{ {
"id": "vhid_send_keys", "id": "vhid_send_keys",
"description": "가상 문자키(a-zA-Z0-9) 보내기", "description": "Send virtual text key (a-zA-Z0-9)",
"tags": ["휴먼 인터페이스", "가상 휴면 인터페이스"] "tags": ["human interface", "virtual human interface"]
}, },
{ {
"id": "vhid_send_key_enter", "id": "vhid_send_key_enter",
"description": "가상 엔터키 보내기", "description": "send virtual enter key",
"tags": ["휴먼 인터페이스", "가상 휴면 인터페이스"] "tags": ["human interface", "virtual human interface"]
}, },
{ {
"id": "vhid_send_key_functions", "id": "vhid_send_key_functions",
"description": "가상 FN키 보내기", "description": "Send virtual FN key",
"tags": ["휴먼 인터페이스", "가상 휴면 인터페이스"] "tags": ["human interface", "virtual human interface"]
}, },
{ {
"id": "vhid_alert", "id": "vhid_alert",
"description": "Alert() API 호출 시 메시지 출력 여부", "description": "Alert whether message output will be provided when API is called",
"tags": ["휴먼 인터페이스", "가상 휴면 인터페이스"] "tags": ["human interface", "virtual human interface"]
}, },
{ {
"id": "vhid_confirm", "id": "vhid_confirm",
"description": "Confirm() API 호출 시 메시지 출력 및 Yes/No 선택", "description": "Confirm() message output when API is called and choose between Yes/No",
"tags": ["휴먼 인터페이스", "가상 휴면 인터페이스"] "tags": ["human interface", "virtual human interface"]
}, },
{ {
"id": "vhid_prompt", "id": "vhid_prompt",
"description": "Prompt() API 호출 시 서술형 응답 받을 수 있음", "description": "Prompt() When calling API, can receive descriptive response",
"tags": ["휴먼 인터페이스", "가상 휴면 인터페이스"] "tags": ["human interface", "virtual human interface"]
}, },
{ {
"id": "network_http_get", "id": "network_http_get",
"description": "HTTP GET 전송", "description": "Send HTTP GET",
"tags": ["네트워크", "HTTP 전송 및 처리"] "tags": ["network", "Send HTTP and handle HTTP"]
}, },
{ {
"id": "network_http_post", "id": "network_http_post",
"description": "HTTP POST 전송", "description": "Send HTTP POST",
"tags": ["네트워크", "HTTP 전송 및 처리"] "tags": ["network", "send HTTP and handle HTTP"]
}, },
{ {
"id": "network_http_extended", "id": "network_http_extended",
"description": "HTTP 확장 메소드(FETCH, PUT 등) 전송", "description": "send HTTP extension methods(FETCH, PUT, etc)",
"tags": ["네트워크", "HTTP 전송 및 처리"] "tags": ["network", "send HTTP and handle HTTP"]
}, },
{ {
"id": "network_attach_debugger", "id": "network_attach_debugger",
"description": "HTTP 디버거(Fiddler 등) 설정(Attach) 지원", "description": "support attaching HTTP debugger(Fiddler, etc)",
"tags": ["네트워크", "HTTP 전송 및 처리"] "tags": ["network", "send HTTP and handle HTTP"]
}, },
{ {
"id": "network_detect_charset", "id": "network_detect_charset",
"description": "HTTP 응답 본문에서 문자셋(Charset) 탐지", "description": "detect Charset in HTTP response body",
"tags": ["네트워크", "HTTP 전송 및 처리"] "tags": ["network", "send HTTP and handle HTTP"]
}, },
{ {
"id": "network_detect_http_ssl", "id": "network_detect_http_ssl",
"description": "접속 대상 웹사이트의 보안통신(SSL) 사용 여부 탐지", "description": "detect whether SSL is running in the website to access ",
"tags": ["네트워크", "HTTP 전송 및 처리"] "tags": ["network", "send HTTP and handle HTTP"]
}, },
{ {
"id": "network_send_icmp", "id": "network_send_icmp",
"description": "PING(ICMP) 전송", "description": "send PING(ICMP)",
"tags": ["네트워크", "PING(ICMP) 전송"] "tags": ["network", "send PING(ICMP)"]
}, },
{ {
"id": "extramath_dtm", "id": "extramath_dtm",
"description": "2개 이상의 주어진 문장으로부터 DTM (문서-용어 행렬) 생성", "description": "create DTM (Document-Term Matrix) from more than 2 sentences that are provided",
"tags": ["고급 문자열 처리", "자연어 처리"] "tags": ["advanced string manipulation", "natural language processing"]
}, },
{ {
"id": "extramath_cosine_similarity", "id": "extramath_cosine_similarity",
"description": "주어진 두 문장의 유사도를 코사인 유사도로 비교", "description": "compare the similarity of 2 given sentences with cosine similarity",
"tags": ["고급 문자열 처리", "자연어 처리"] "tags": ["advanced string manipulation", "natural language processing"]
}, },
{ {
"id": "base64_encode", "id": "base64_encode",
"description": "BASE64 인코딩", "description": "BASE64 encoding",
"tags": ["고급 문자열 처리", "BASE64"] "tags": ["advanced string manipulation", "BASE64"]
}, },
{ {
"id": "base64_decode", "id": "base64_decode",
"description": "BASE64 디코딩", "description": "BASE64 decoding",
"tags": ["고급 문자열 처리", "BASE64"] "tags": ["advanced string manipulation", "BASE64"]
}, },
{ {
"id": "chromium_run", "id": "chromium_run",
"description": "웹 브라우저 실행", "description": "run web browser",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_create_profile", "id": "chromium_create_profile",
"description": "프로파일 생성", "description": "create profile",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_run_incognito", "id": "chromium_run_incognito",
"description": "개인정보 보호 모드로 웹 브라우저 실행", "description": "run web browser in incognito mode",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_navigate", "id": "chromium_navigate",
"description": "URL로 주소 이동", "description": "move to another address through URL",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_get_active_pages", "id": "chromium_get_active_pages",
"description": "활성 페이지 목록 불러오기", "description": "bringing active page list",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_find_page_by_id", "id": "chromium_find_page_by_id",
"description": "고유 ID로 페이지 찾기", "description": "finding page by original ID",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_find_pages_by_title", "id": "chromium_find_pages_by_title",
"description": "페이지 제목으로 페이지 찾기", "description": "finding pages by title of the pages",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_move_focused", "id": "chromium_move_focused",
"description": "창 포커스 이동", "description": "move focus of the window",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_adjust_window_size", "id": "chromium_adjust_window_size",
"description": "창 크기 제어", "description": "adjust size of the window",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_get_element_position", "id": "chromium_get_element_position",
"description": "제공된 CSS Selector와 일치하는 단일 객체 포지션 찾기", "description": "finding single element position that matches with provided CSS Selector",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_get_mapreduced_element_position", "id": "chromium_get_mapreduced_element_position",
"description": "CSS Selector와 일치하는 다중 객체 중 조건에 맞는 객체의 포지션 찾기", "description": "finding position of the element that meets requirement among multiple elements that match with CSS selector",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_set_value_to_textbox", "id": "chromium_set_value_to_textbox",
"description": "대상 객체가 사용자 입력형(TextArea 또는 TextInput인 경우) 값 설정하기", "description": "setting the value in case the object of the action is input by users(TextArea or TextInput)",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_send_click", "id": "chromium_send_click",
"description": "가상 클릭(Click) 보내기", "description": "send virtual click",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based)"]
}, },
{ {
"id": "chromium_send_keys", "id": "chromium_send_keys",
"description": "가상 키(Key) 보내기", "description": "send virtual key",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based browser)"]
}, },
{ {
"id": "chromium_auto_scroll_until_end", "id": "chromium_auto_scroll_until_end",
"description": "수직 스크롤이 있을 시 스크롤이 끝날 때까지 자동으로 화면 탐색하기", "description": "exploring the screen automatically until the scrolling finishes, in case of vertical scrolling",
"tags": ["웹 브라우저 제어", "웹 브라우저 제어 (크로미움 계열)"] "tags": ["control web browser", "control web browser (Chromium-based browser)"]
}, },
{ {
"id": "grpc_run_server", "id": "grpc_run_server",
"description": "gRPC 서버 실행", "description": "run gRPC server",
"tags": ["gRPC"] "tags": ["gRPC"]
}, },
{ {
"id": "grpc_receive_command", "id": "grpc_receive_command",
"description": "gRPC로 들어온 명령을 스크립트로 받음", "description": "receive command that is sent to grpc in script",
"tags": ["gRPC"] "tags": ["gRPC"]
}, },
{ {
"id": "gui_check", "id": "gui_check",
"description": "WebView (GUI) 환경에서도 (1)Windows 시스템/Windows 쉘(Shell), (2)Windows 시스템/WMI 제어 기능이 동작 가능.", "description": "Even in WebView (GUI) environment, (1)Windows System/Windows Shell, (2)(Windows system/WMI control functions work.",
"tags": ["WebView"] "tags": ["WebView"]
} }
] ]
} }

View File

@ -24,10 +24,10 @@ function main(args) {
var lines = []; var lines = [];
var wbInstance = Chrome.startWithDebugging("https://virustotal.com", null, "virustotal", 9222); var wbInstance = Chrome.startWithDebugging("https://virustotal.com", null, "virustotal", 9222);
// 대기 // Wait
sleep(5000); sleep(5000);
// 브라우저 탭 찾기 // finding browser tap
pages = wbInstance.getPagesByTitle("VirusTotal"); pages = wbInstance.getPagesByTitle("VirusTotal");
if (pages.length > 0) { if (pages.length > 0) {
page = pages[0]; page = pages[0];
@ -38,12 +38,12 @@ function main(args) {
var callback1 = function(row) { var callback1 = function(row) {
var hash = row[1]; var hash = row[1];
console.log("탐색을 시도합니다:", hash); console.log("Attempt exploring:", hash);
wbInstance.navigate("https://www.virustotal.com/gui/file/" + hash); wbInstance.navigate("https://www.virustotal.com/gui/file/" + hash);
sleep(RAND.getInt(4000, 5000)); sleep(RAND.getInt(4000, 5000));
// 자료를 찾았는지 여부 // Indicates whether data was found
var msgNotFound = wbInstance.getEvaluatedValue( var msgNotFound = wbInstance.getEvaluatedValue(
"__getDocument().querySelector('vt-ui-shell').shadowRoot.querySelector('#mainContent').querySelector('slot').assignedNodes()[2]" + "__getDocument().querySelector('vt-ui-shell').shadowRoot.querySelector('#mainContent').querySelector('slot').assignedNodes()[2]" +
wbInstance.getShadowRootSelector([ wbInstance.getShadowRootSelector([
@ -53,12 +53,12 @@ function main(args) {
".shadowRoot.querySelector('.title slot').assignedNodes()[0].innerText" ".shadowRoot.querySelector('.title slot').assignedNodes()[0].innerText"
); );
if (msgNotFound == "No matches found") { if (msgNotFound == "No matches found") {
console.log("찾을 수 없음 (No matches found): " + hash); console.log("No matches found"): " + hash);
lines.push([hash, '', '0', '0', '0', ''].join(',')); lines.push([hash, '', '0', '0', '0', ''].join(','));
return; return;
} }
// 전체 진단 수 확인 // Check how many times it was examined to detect and diagnose viruses
var positives = wbInstance.getEvaluatedValue( var positives = wbInstance.getEvaluatedValue(
"__getDocument().querySelector('vt-ui-shell').shadowRoot.querySelector('#mainContent').querySelector('slot').assignedNodes()[2]" + "__getDocument().querySelector('vt-ui-shell').shadowRoot.querySelector('#mainContent').querySelector('slot').assignedNodes()[2]" +
wbInstance.getShadowRootSelector([ wbInstance.getShadowRootSelector([
@ -69,7 +69,7 @@ function main(args) {
".shadowRoot.querySelector('div > div > div.positives').innerText" ".shadowRoot.querySelector('div > div > div.positives').innerText"
); );
// 알려진 파일 명 // known filename
var filename = wbInstance.getEvaluatedValue( var filename = wbInstance.getEvaluatedValue(
"__getDocument().querySelector('vt-ui-shell').shadowRoot.querySelector('#mainContent').querySelector('slot').assignedNodes()[2]" + "__getDocument().querySelector('vt-ui-shell').shadowRoot.querySelector('#mainContent').querySelector('slot').assignedNodes()[2]" +
wbInstance.getShadowRootSelector([ wbInstance.getShadowRootSelector([
@ -79,7 +79,7 @@ function main(args) {
".shadowRoot.querySelector('div > div.card-body > div > div.hstack.gap-4 > div.vstack.gap-2.align-self-center.text-truncate > div.file-name.text-truncate > a').innerText" ".shadowRoot.querySelector('div > div.card-body > div > div.hstack.gap-4 > div.vstack.gap-2.align-self-center.text-truncate > div.file-name.text-truncate > a').innerText"
); );
// 최근 진단 날짜 확인 // Check the latest date of the examination to detect and diagnose a virus
var last = wbInstance.getEvaluatedValue( var last = wbInstance.getEvaluatedValue(
"__getDocument().querySelector('vt-ui-shell').shadowRoot.querySelector('#mainContent').querySelector('slot').assignedNodes()[2]" + "__getDocument().querySelector('vt-ui-shell').shadowRoot.querySelector('#mainContent').querySelector('slot').assignedNodes()[2]" +
wbInstance.getShadowRootSelector([ wbInstance.getShadowRootSelector([
@ -89,7 +89,7 @@ function main(args) {
".shadowRoot.querySelector('div > div.card-body > div > div.hstack.gap-4 > div:nth-child(5) > vt-ui-time-ago').getAttribute('data-tooltip-text')" ".shadowRoot.querySelector('div > div.card-body > div > div.hstack.gap-4 > div:nth-child(5) > vt-ui-time-ago').getAttribute('data-tooltip-text')"
); );
// 국내 백신 진단 여부 확인 // Check whether a Korean vaccine programme has examined to detect and diagnose virus
var score_undetected = wbInstance.getEvaluatedValue( var score_undetected = wbInstance.getEvaluatedValue(
'Object.values(' + 'Object.values(' +
"__getDocument().querySelector('vt-ui-shell').shadowRoot.querySelector('#mainContent').querySelector('slot').assignedNodes()[2].querySelector('file-view').shadowRoot.querySelector('vt-ui-main-generic-report').querySelector('.tab-slot')" + "__getDocument().querySelector('vt-ui-shell').shadowRoot.querySelector('#mainContent').querySelector('slot').assignedNodes()[2].querySelector('file-view').shadowRoot.querySelector('vt-ui-main-generic-report').querySelector('.tab-slot')" +
@ -100,13 +100,13 @@ function main(args) {
".querySelectorAll('.detection')).reduce(function(a, x) { if(/AhnLab|ALYac|ViRobot/.test(x.innerText) && x.innerText.indexOf('Undetected') > -1) a = a + 1; return a; }, 0)" ".querySelectorAll('.detection')).reduce(function(a, x) { if(/AhnLab|ALYac|ViRobot/.test(x.innerText) && x.innerText.indexOf('Undetected') > -1) a = a + 1; return a; }, 0)"
); );
console.log("해시:", hash); console.log("hash:", hash);
console.log("알려진 파일 이름:", filename); console.log("known filename:", filename);
console.log("전체 진단:", positives); console.log("examined the whole to detect and diagnose viruses :", positives);
console.log("최근 날짜:", last); console.log("date of the latest activity:", last);
console.log("국내 백신 미진단:", score_undetected + "건"); console.log("Hasn ' t examined with a Korean vaccine programme to detect and diagnose viruses:", score_undetected + "건");
// 쓰기 줄 생성 // create lines for writing
lines.push([hash, filename, '1', positives, score_undetected, last].join(',')); lines.push([hash, filename, '1', positives, score_undetected, last].join(','));
}; };