並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 19 件 / 19件

新着順 人気順

executable and linkable formatの検索結果1 - 19 件 / 19件

  • vmlinuxのヒミツ - VA Linux エンジニアブログ

    1. vmlinuzの怪 2. vmlinuxの入手 3. ELFファイル 4. ELFセクション 5. セクションの意味 6. Linuxのセクションとldscript 7. .cpuidle.textセクション 8. おわりに 執筆者 : 箕浦 真 1. vmlinuzの怪 Linux (カーネル) のファイル名といえば、/boot/vmlinuz-<version>だ。なんでlinux-<version>とかじゃないのだろうか。 vmの方は、これはおそらくBSD Unixのカーネルvmunixに倣ったものだろう。ベル研究所のResearch Unixを、VAXのハードウェアを生かして仮想記憶 (Virtual Memory) 機能を大幅に強化したため、vmunixとした。 zの方は、これは圧縮されていることを表す。なぜZで圧縮なのかはよくわからないが、圧縮の意味なのだ *1。 現在一

      vmlinuxのヒミツ - VA Linux エンジニアブログ
    • 17歳の学生が独学で「どのようにCPUがプログラムを動かすのか」を調査し詳細に解説するページを作成

      コンピューターの頭脳ともいえるCPUが、どのようにプログラムを実行するのかについて、17歳のエンジニアであるレクシー・マティック氏が、独学で調べた知識を解説したウェブページを公開しています。 Putting the "You" in CPU https://cpu.land/ 「プログラムを実行するとどうなるか」について疑問を抱いていたマティック氏は、独学での学習を始めたものの、OSやCPUがどのように機能するかについて詳細かつ適切に解説するサイトは見つからなかったそうです。そこでマティック氏は、「自分自身で本当に良い学習リソースを作るべきだ」と考え、解説ページの作成に取り掛かりました。 PCでプログラムを実行する際、CPUは命令を順番に実行していく必要があります。しかし、CPUプロセッサは、一度に複数のプログラムを実行することができません。そこで、OSの中核を担うカーネルが、タイマーを使

        17歳の学生が独学で「どのようにCPUがプログラムを動かすのか」を調査し詳細に解説するページを作成
      • 最小限のELF | κeenのHappy Hacκing Blog

        κeenです。 先日の記事で言及した最小限のELFが需要ありそうだったので解説してみます。 コンパイラを作るときの参考にしてみて下さい ELFはExecutable and Linkable Formatを表わし、Linuxなどで標準の実行可能ファイルのフォーマットとなっています。 なんらかの形でこのファイルを生成するのがコンパイラの最終目標となります。 一般にはアセンブラまで吐いて外部のアセンブラやリンカにELFファイルの生成を任せることが多いのですが、自作するなら最後までやりたいという人向けにとっかかりになる最小限のELFファイルを解説します。 まずはこのファイルを生成するのを目指して、後から色々追加していけばインクリメンタルにできるよね、という訳です。 一部、「どうしてかは分からないけどこうしたら動く」みたいな箇所もあるので詳しい人がいたら教えて下さい。 全体構成 プログラムそのもの

          最小限のELF | κeenのHappy Hacκing Blog
        • GNU/Linux (x86/x86-64) のシステムコールをアセンブラから呼んでみる - CUBE SUGAR CONTAINER

          今回は、表題の通り x86/x86-64 の GNU/Linux でシステムコールをアセンブラから呼んでみる。 システムコールは、OS (ディストリビューション) のコアとなるカーネルがユーザ空間のプログラムに向けて提供しているインターフェースのこと。 なお、アセンブラの実装に関しては以下の二つを試した。 NASM (Netwide Assembler) GAS (GNU Assembler) アセンブラには INTEL 記法と AT&T 記法という二つのシンタックスがある。 NASM はデフォルトで INTEL 記法を、GAS はデフォルトで AT&T 記法を使うことになる。 使った環境は次の通り。 $ uname -sr Linux 4.15.0-65-generic $ nasm -v NASM version 2.13.02 $ as -v GNU assembler versio

            GNU/Linux (x86/x86-64) のシステムコールをアセンブラから呼んでみる - CUBE SUGAR CONTAINER
          • カーネルことはじめ

            この記事は未踏ジュニアAdvent Calendar : 10日目です. カーネル, 書きたくないですか? こんにちは, horizon (@horizon2k38)です. 私は2023年の未踏ジュニアでA9Nというマイクロカーネルを作成していました. 人類なら誰しもがカーネルを書きたいと思ったことがあるはずです. そんな方のために, 未踏期間で得られた "0からカーネルを如何にして学び, 実装したか" という知見をより一般化して解説しようと思います. この記事の内容をすべて達成することで, あなたもきっとカーネルを書くことができるでしょう. やれば出来る きっと 絶対 私No.1 注: この記事はどちらかといえば初心者向けなので, 自信がある方は最下部の"参考文献"と, 私が書いた低レイヤー学習のロードマップのみ読むことをおすすめします. カーネル/OSとは そもそもカーネルとは, 所謂

              カーネルことはじめ
            • WSLのアーキテクチャ - roy-n-roy メモ

              Home InfiniBand C# Docker Linux Raspberry Pi RouterOS Windows Mkdocs プライバシー・ポリシー WSLのアーキテクチャ WSLで実現できること Windows Subsystem for Linux(WSL)は少ないオーバーヘッドでGNU/LinuxのCLIプログラムを実行できる環境を提供する機能です。 Windowsでは「Portable Executable」という形式の実行ファイルのみを動作させることができます。 しかし、Linuxなどで利用されている実行ファイルは「Executable and Linkable Format(ELF)」と呼ばれる形式であるため、通常はWindows上で動作させることはできません。 Linuxのプログラム(ELFバイナリ)を実行するには LinuxのCLIプログラムを利用できる環境を用

              • Linux メモリ管理 徹底入門(プロセス編)

                Linux カーネルのメモリ管理方法について、勉強したことをまとめる。プロセス編。 カーネル編はこちら。 Linux メモリ管理 徹底入門(カーネル編) - SIerだけど技術やりたいブログwww.kimullaa.com OS は CentOS7.6、カーネルは次のバージョンを利用する。 ]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) ]# uname -a Linux localhost.localdomain 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux メモリ管理の特徴メモリの使い方を簡素化すると、次の図のようになる。 どのような特徴があるかをまとめる。 連続した

                  Linux メモリ管理 徹底入門(プロセス編)
                • Kalyn: a self-hosting compiler for x86-64

                  Over the course of my Spring 2020 semester at Harvey Mudd College, I developed a self-hosting compiler entirely from scratch. This article walks through many interesting parts of the project. It’s laid out so you can just read from beginning to end, but if you’re more interested in a particular topic, feel free to jump there. Or, take a look at the project on GitHub. Table of contents What the pro

                  • The Quest for Netflix on Asahi Linux | Blog

                    Welcome to my ::'########::'##::::::::'#######:::'######::: :: ##.... ##: ##:::::::'##.... ##:'##... ##:: :: ##:::: ##: ##::::::: ##:::: ##: ##:::..::: :: ########:: ##::::::: ##:::: ##: ##::'####: :: ##.... ##: ##::::::: ##:::: ##: ##::: ##:: :: ##:::: ##: ##::::::: ##:::: ##: ##::: ##:: :: ########:: ########:. #######::. ######::: ::........:::........:::.......::::......:::: CTF writeups, prog

                    • Windows Subsystem for Linuxをターゲットにしたマルウェア | スラド Linux

                      Lumen Technologies の Black Lotus Labs は 16 日、Windows Subsystem for Linux (WSL) をターゲットとするマルウェアが複数見つかったことを発表した (プレスリリース、 Lumen のブログ記事、 The Register の記事)。 一連のマルウェアは主に Python 3 で書かれ、PyInstaller で Linux の ELF (Executable and Linkable Format) バイナリに変換されている。サンプルの中には MSFVenom や Meterpreter で生成した軽量ペイロードを含むものや、リモートサーバーからシェルコードのダウンロードを試みるものがあったという。初期のサンプルでは純粋に Python 3 のみで書かれていたが、最新のサンプルでは ctypes を用いて Windows

                      • No Longer Just Theory: Black Lotus Labs Uncovers Linux Executables Deployed as Stealth Windows Loaders - Lumen

                        No Longer Just Theory: Black Lotus Labs Uncovers Linux Executables Deployed as Stealth Windows Loaders Executive Summary In April 2016, Microsoft shocked the PC world when it announced the Windows Subsystem for Linux (WSL). WSL is a supplemental feature that runs a Linux image in a near-native environment on Windows, allowing for functionality like command line tools from Linux without the over-he

                          No Longer Just Theory: Black Lotus Labs Uncovers Linux Executables Deployed as Stealth Windows Loaders - Lumen
                        • C言語がコンパイル~実行されるまで

                          記事の内容以下のソースコードがコンパイル~実行されるまでに、何が行われるのかを理解する。 細かいオプションや処理の詳細は追わない。 #include <stdio.h> #define MESSAGE "hello world\n" int main(int argc, char *argv[]) { printf(MESSAGE); return 0; } 検証環境]$ uname -rm 3.10.0-957.10.1.el7.x86_64 x86_64 ]$ gcc --version gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36) Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditi

                            C言語がコンパイル~実行されるまで
                          • An introduction to deterministic builds with C/C++

                            What are deterministic builds? A deterministic build is a process of building the same source code with the same build environment and build instructions producing the same binary in two builds, even if they are made on different machines, build directories and with different names. They are also sometimes called reproducible or hermetic builds if it is guaranteed to produce the same binaries even

                            • トレンドマイクロの「telfhash」でLinux IoTマルウェアをクラスタリングする | トレンドマイクロ セキュリティブログ

                              「モノのインターネット(Internet of things, IoT)」は、急速に私たちの日常生活に欠かせない存在になっています。個人のモバイル端末をはじめ家庭やオフィス、車の中、工場や町のいたるところに存在するIoTデバイスは、人々の生活を効率的で便利にしています。そのため、IoTの導入が増え続けているのも不思議ではありません。2019年には、公表されているIoTプラットフォームの数は620に増加しました。これは、2015年のプラットフォームの数の2倍です。今年2020年には、世界中で310億のIoTデバイスが利用されることが予想されています。それに伴い、サイバー犯罪者はネット恐喝などの悪質な目的から、バックドアやボットネットなどのIoTマルウェアを開発しています。トレンドマイクロの2019年年間セキュリティラウンドアップでも報告されているように、2019年にIoTボットネットによって

                                トレンドマイクロの「telfhash」でLinux IoTマルウェアをクラスタリングする | トレンドマイクロ セキュリティブログ
                              • WSL 2(Windows Subsystem for Linux 2)をそろそろ導入してみるかで、導入してみた - ts0818のブログ

                                www.publickey1.jp オンラインイベント「Microsoft Build 2020」を開催中のマイクロソフトは、「Windows Subsystem for Linux 2」(WSL 2)の正式リリースを発表しました。 [速報]WSL 2が正式版に到達。今後はLinuxのGUIアプリへも対応すると。Microsoft Build 2020 - Publickey ⇧ 2020年の5月に正式リリースって話は出てたけども、ネックになってたのが「Windows 10 May 2020 Update」なんだけども、 www.atmarkit.co.jp 2020年10月初め、Windows 10 May 2020 Update(バージョン2004)に3回目のオプションの更新(Cリリース)が提供されました。過去3回と同様、Windows 10 バージョン1809~1909から1週間以上

                                  WSL 2(Windows Subsystem for Linux 2)をそろそろ導入してみるかで、導入してみた - ts0818のブログ
                                • Linux メモリ管理 徹底入門(プロセス編)

                                  Linux カーネルのメモリ管理方法について、勉強したことをまとめる。プロセス編。 カーネル編はこちら。 Linux メモリ管理 徹底入門(カーネル編) - SIerだけど技術やりたいブログwww.kimullaa.com OS は CentOS7.6、カーネルは次のバージョンを利用する。 ]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) ]# uname -a Linux localhost.localdomain 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux メモリ管理の特徴メモリの使い方を簡素化すると、次の図のようになる。 どのような特徴があるかをまとめる。 連続した

                                    Linux メモリ管理 徹底入門(プロセス編)
                                  • Python Malware On The Rise

                                    The vast majority of serious malware over the past 30 years has been written in Assembly or compiled languages such as C, C++, and Delphi. However, ever-increasing over the past decade, a large amount of malware has been written in interpreted languages, such as Python. The low barrier to entry, ease of use, rapid development process, and massive library collection has made Python attractive for m

                                    • What's Inside a Linux Kernel Core Dump

                                      Linux kernel core dumps are often critical for diagnosing and fixing problems with the OS. We’ve published several blogs related to kernel core dumps, including how to generate them, how to estimate their size, how to analyze them with Drgn, and even how to manually extract stack function arguments from them. But have you ever wondered what’s really in a core dump? In this blog, we’ll answer that

                                        What's Inside a Linux Kernel Core Dump
                                      • What's in a Linux executable?

                                        Contents But first, let me write assembly Executables have been fascinating to me ever since I discovered, as a kid, that they were just files. If you renamed a .exe to something else, you could open it in notepad! And if you renamed something else to a .exe, you'd get a neat error dialog. Clearly, something was different about these files. Seen from notepad, they were mostly gibberish, but there

                                          What's in a Linux executable?
                                        1