わらばんし仄聞記

南の国で引きこもってるWeb屋さん

An easier way to screenshot UAC prompt on windows

Usually, print screen key or short cut of taking screenshot like Win+Shift+S don't work while UAC prompt appears. So, I googled it and hit some blog articles that describe the ways to take screenshot as follows www.winhelponline.com www.ad…

より簡単なユーザーアカウント制御画面のスクリーンショット撮影法

通常のプリントスクリーンキーやショートカットによるスクリーンショットではユーザーアカウント制御画面(UAC画面)のキャプチャは出来ないわけでして、なにか良い方法は無いかと検索してみたところ、幾つかの記事が見つかりました。例えば www.billionwall…

raspberry pi3への64bit版opensuseインストールとwifiの有効化

この記事は以前に書いた Installing 64bit openSUSE to raspberry pi 3 - わらばんし仄聞記 After installing 64bit openSUSE to raspberry pi 3 - わらばんし仄聞記 を日本語化して整理したものです。 追記 2017/02/03 元々英語版の記事を書いていた時に使…

After installing 64bit openSUSE to raspberry pi 3

Below are what I did after installing this OS to raspberry pi 3. update 2017/02/03 About wifi device recognition, this was work on old OS image (openSUSE-Tumbleweed-ARM-JeOS-raspberrypi3_aarch64.aarch64-2016.10.15-Build6.1.raw.xz) as of wr…

Installing 64bit openSUSE to raspberry pi 3

I got raspberry pi 3 but I found out after got it that raspbian doesn't support aarch64. So I looked for distribution that works with 64bit linux on this raspberry pi and I have found opensuse fullfill my demand for now. Official page is H…

KDEにて指定したvirtual desktop上にアプリケーションを自動起動

最近、メインマシンのOSをopenSUSEのTumbleweedに変えました。 デスクトップ環境はKDEを使用してます。バージョンは以下の通り。 $ kstart --version Qt: 4.8.7 KDE Development Platform: 4.14.14 KStart: 4.14.12 以前使ってたバージョンでは、前回終了時…

初心者の為の線形代数勉強会(2)

前回に続き、初心者のための線形代数勉強会(3) - connpass に参加してきました。今回は第二章の以下の節をやりました 2.4 行列の転置と共役 2.5 行列の分割 2.6 行列の線形写像 前回のエントリは下記の通りです 初心者の為の線形代数勉強会(1) - わらばん…

初心者の為の線形代数勉強会(1)

はじめに 初心者のための線形代数勉強会(2) - connpassに参加してきました。 次の本を教科書として、線形代数を学んでいこうという内容の会になります。 Amazon.co.jp: 線形代数学講義 改訂版: 対馬 龍司: 本 機械学習や画像処理、量子力学をはじめとして、…

Javaバイトコードの読み方

先日、Javaクラスファイル入門 - connpassにてバイトコードの読み方について話してきたので、折角だからこちらにも書いてみます。 内容的にはあくまで入門ということで、サンプルとして取り上げたコードを読むために必要な範囲の知識のみ、加えてあまり厳密…

OSvのCLI周辺コードをみてみる

※この記事は OSv Advent Calendar 2014 9日目の記事です 最近、ちょこちょことOSvを触らせてもらってるので、OS関連周りにはあまり明るくないながらも書かせてもらう事にしました。 こっち方面を専門としている訳ではない為、間違っている箇所などありました…

補数表現について

補数って? 2進数を扱うとき、符号付きの場合を考えると決まって出てくる「2の補数表現」ってやつ。 これ自体は「補数」と一般的に言われるものの定義から明確なので、何も問題は無いんです。 補数 - Wikipedia wikipedia先生でも述べられている通り、補数と…

池袋物理学勉強会

池袋物理学勉強会(6) - connpass へ行ってきました。 唐突なのでさわりを述べておくと、以下の本を進めていき、後々は量子力学がわかるようになろうというのを目指している勉強会です。 Amazon.co.jp: 量子力学を学ぶための解析力学入門 増補第2版 (KS物理…

原書で学ぶ64bitアセンブラ入門(10)

14章、入出力ストリームについてです。 Using the C stream I/O functions システムコールの章では、入出力に関してopen read write closeというシステムコールのラッパー関数について見てきました。この章ではバッファ付きI/Oを使う関数について見ていきま…

原書で学ぶ64bitアセンブラ入門(9)

続いて13章、Structについてです。 今更ですけど、今回この本で読むまでアセンブラに構造体があるなんて知らなかったです。 Struct 例えばCの構造体で といった、Customerという名の構造体について考えます。 こんな構造体をアセンブラ上でも実現するとして…

原書で学ぶ64bitアセンブラ入門(8)

http://connpass.com/event/6463/原書で学ぶ64bitアセンブラ入門(6) - connpass での内容です。 この会も6回を数え、全19章の内14章まで終わってだいぶ佳境に入ってきた感じです。 今回は12章から14章までを読んでいきましたので、まずは12章をば。 chapter1…

原書で学ぶ64bitアセンブラ入門(7)

原書で学ぶ64bitアセンブラ入門(6) - わらばんし仄聞記 上のリンクに続いて、11章、浮動小数点数についての続きです。 Conversion ある整数長から別の整数長や、ある浮動小数点数長から別の浮動小数点数長。はたまた整数長から浮動小数点数長やその逆とい…

原書で学ぶ64bitアセンブラ入門(6)

11章、浮動小数点数について。 原書で学ぶ64bitアセンブラ入門(5) - connpassでの内容です。 chapter11 Floating point instructions 浮動小数点数の演算は、8088世代のCPUでは8087というコプロセッサ(補助プロセッサ)を使っていました。486世代になるとコ…

OSvをビルドしてみる

OSvについては下のリンクを参照。 OSv - the operating system designed for the cloud これをビルドして動かしてみました。 コードについてはgithub上のコチラにあり、ビルド方法もこのページ下部にREADME.mdが表示されています。 ちなみに手っ取り早くOSv…

原書で学ぶ64bitアセンブラ入門(5)

10章の配列について。 原書で学ぶ64bitアセンブラ入門(5)でやった内容になります。 chapter10 Arrays Array address computation 配列とは、つまりが、ある特定の型(byte, words, double-words, quad-wordsなどのいずれか)のメモリ領域の連なりです。つま…

原書で学ぶ64bitアセンブラ入門(4)

続いて9章。 これまたついこの前の原書で学ぶ64bitアセンブラ入門(4)でやった内容になります。 この章は関数呼び出しの挙動やスタックフレームなんかを扱います。 chapter9 Functions The stack まずはスタックについて。 ちょっとまだエントリには書いてい…

原書で学ぶ64bitアセンブラ入門(3)

さて、間が空いてしまいましたが続きをば。 本当なら前回に続いてchapter3について書くのが筋なんでしょうが、つい先日にやった勉強会での範囲に当たるところを先に書いてしまおうかと。 chapter8 Branching and looping ということで、一気に飛んで8章で、…

原書で学ぶ64bitアセンブラ入門(2)

前回に引き続き、タイトルの勉強会でやった内容についてです。 勉強会毎の投稿ではなく、区切りと記事を書く労力の関係上、本書の1章ごとに書いていこうと思います。 chapter2 Numbers 二章は数値についてです。 コンピュータでは全ての情報をビット列として…

原書で学ぶ64bitアセンブラ入門(1)

タイトルの通り、洋書の64bitアセンブラ入門書をよむ勉強会を開催しています。 参考書:Introduction to 64 Bit Intel Assembly Language Programming for Linux ターゲットとしては洋書の技術書はいつも物怖じしてたけど、読んでみよう!という人と、 アセ…

intel-8086データシート

intel 8086のデータシートを読んでてちょくちょくと詰まった所があったので、それのメモ。 読んでた箇所は"Table2. Instruction Set Summary"で、MOV命令の箇所。どういうビット列がどの命令と解釈されるかと、特定の役割を持ったビットの説明について。 命…

ELFファイルを作る part7

ELF

さて、前回のpart6でズルをする必要があったのは、分解する元のELFファイルがあり、各セクションの中身はその元のファイルのものをそのまま使用していた為である。 それ故、主に動的リンク関係のセクションについてのアドレスを全く同じになるよう調整する必…

ELFファイルを作る part6

ELF

part5からの続き 目標 ELFファイルから各セクションを抽出し、それらのセクションの情報からELFファイル全体を再構築する。 環境 opensuse12.3 ld-2.23.1 実装 元になるELFファイルや、各セクションの抽出についてはpart5を参照。やることはこの、part5で抽…

sh_addralign

ELF

ELFファイルを作る part5で取得した、セクション毎に分解されたデータを元にELFファイルを再構築していた際、出来上がったファイルをreadelf -aしたら readelf: Error: Unable to read in 0x10 bytes of version need aux (2) readelf: Error: Unable to rea…

ELFファイルを作る part5

ELF

ELFファイルを作るpart4で、ライブラリとのリンクについて詳細を追ってみる手順の案に書いていた ELFファイルを分解するプログラム、また、その分解したものから再生成するプログラム」これについて考えてみる。 まずは先だって分解をしてみる。 目標 ELFフ…

セクションとセグメントの対応 part2

part1でセクションとセグメントを対応付けしていると思われる箇所は見つけた。次は実際にどうやって対応づけているのかを見てみる。 おさらい 簡単なプログラムをコンパイルして出来上がった実行ファイルはこんな感じになる。 $ readelf -l test.out Elf fil…

セクションとセグメントの対応 part1

前回ELFファイルを作る part4にて、セクションをセグメントに割り当てる際は単純な構造ということもあって決め打ちでやってみてた。前回の様な規模ならまあいいとして、これがある程度セクションの数や種類が増えてきたらどうしようもなくなる。 これについ…