Chrome OS development and debugging tips

#ChromeOS In this post, I record the tips I learned while using Chrome OS. Virtual console ¶ If you press Ctrl + Alt + T in the Chrome browser, Crosh (Chrome shell) appears, and if you type “shell” at the Crosh prompt, even a bash shell is launched. However, in the Chrome browser, sometimes the output was incomplete, so it was convenient to enter the virtual terminal. Press Ctrl + Alt + F3 to move to the virtual terminal screen....

August 2, 2019 · baek9

The principle of HTTPS and up to Self-signed SSL

#HTTPS #SSL #PKI One of the things I learned from the Chromium analysis is that more JavaScript methods can be used in web pages accessed via https than http. That is, Chrome grants differentiated rights to web pages according to the scheme. ”http://“, ”https://“, “chrome://“ more powerful? method can be called. The chrome scheme is, of course, different from other schemes in terms of functionality and security because it deals with parts related to the operation of Chrome like the settings page of Chrome (chrome://settings)… Others were quite surprised....

April 6, 2019 · baek9

Integer Overflow in V8

#V8 #IntegerOverflow Looking at the recent vulnerabilities, there are not many vulnerabilities related to ‘V8’, and it seems that there are many cases where vulnerabilities occur in ‘Blink’ or ‘Chrome’ in the end, starting with JavaScript. In the meantime, a recently registered bug caught our attention. PoC (Proof of Concept) that causes integer overflow inside V8 was presented. It was a meaningful analysis to find out about the structure of V8 and what integer overflow is....

October 29, 2018 · baek9

Playing with JSON in Chromium

#Chromium #JSON As I’ve mentioned or will mention in other posts, Chromium itself is a very rich set of libraries. For example, if you use the Thread and GURL classes, you can easily create and manage threads, and you can also handle URLs as you like. There are many other useful classes (which do not need to be parsed to extract only the scheme), and they exist in Chromium’s base namespace....

March 18, 2018 · baek9

Configure remote development environment using VS Code

#VSCode During kernel development, the process from build to test to debugging is quite cumbersome. For this reason, we saw that QEMU and gdb were linked to build a development environment. I don’t know if it’s comparable to that, but there were some difficulties in development related to the Linux graphics stack. It was only later that I realized it was good for my mental health that it was better to set up a development environment in the first place, even if it bothered me....

January 20, 2018 · baek9

Finding the DRM device node corresponding to the graphics card

#DRM #DRI #udev DRM (Direct Rendering Manager) refers to a device driver for a graphics card supporting DRI (Direct Rendering Infrastructure). I think DRM and DRI should be sorted out next time. In this note, only the method of finding the DRM device node corresponding to the main graphic card is summarized. In general, it is safe to say that /dev/dri/card0 is a device node corresponding to the main graphics card....

January 14, 2018 · baek9

Garbage collection and memory leaks in JavaScript

#JavaScript #V8 #GarbageCollection V8, a JavaScript engine implemented in Chrome, is known to perform periodic garbage collection. While searching for information related to this, I will try to follow Daniel Khan’s writing and summarize my feelings. The article can be read at the link below. Understanding Garbage Collection and Hunting Memory Leaks in Node.js Resident Set ¶ V8 operates memory with a structure called ‘Resident Set’. Just as the Java Virtual Machine (JVM) divides memory into several segments, it is said that memory is divided into Code, Stack, and Heap areas by the Resident Set structure....

November 29, 2017 · baek9

JavaScript's prototype chain

#JavaScript #Prototype JavaScript is often referred to as a prototype-based language. Prototype literally means prototype. Every object you create with JavaScript is paired with a prototype, i.e. a prototype object. Using this structure, inheritance, one of the important concepts in Object-Oriented Programming (OOP) using C++, can be easily implemented in JavaScript as well. In JavaScript, this is called a ‘prototype chain’. To understand the prototype chain, you first need to get a feel for the prototype object....

November 25, 2017 · baek9

Setting up the Intel Edison Board for the first time

#Intel #EdisonBoard Intel Edison boards are now discontinued. The successor, the Joule board, was also discontinued. As both products were made for the Internet of things (IoT), there are many opinions that Intel is withdrawing from this market. Anyway, Intel has extremely miniaturized the Edison board to meet IoT and wearables. Although it is a board that is no longer supported, it is smaller than the Raspberry Pi (RPi), but I tried it because I was attracted to the performance that was not lacking....

August 29, 2014 · baek9
🇰🇷