Takachinの雑記

メモる。プログラミングや情報セキュリティ、写真のことなど

x86についての雑記

f:id:Takachin53:20181205145924j:plain

x86について春休み及び4月初旬にすこ~し学習したのでちょっとまとめておく。私は初学者であることから誤った知識や理解があると思われます。

x86とは

 x86intel 8086というインテルが1978年に発表した16bitマイクロプロセッサ(つまりCPU)を元にしたCPUアーキテクチャの総称。現在多く流通及び使用されているintel coreシリーズの祖先とも言える。詳しい説明は下のリンクから。

x86 - Wikipedia

今回の学習方法

「自作エミュレータで学ぶx86アーキテクチャ」を参考にして学習をした。

自作エミュレータで学ぶx86アーキテクチャ-コンピュータが動く仕組みを徹底理解!

自作エミュレータで学ぶx86アーキテクチャ-コンピュータが動く仕組みを徹底理解!

 

 事前知識として必要だと思うもの

C言語(機械語アセンブリC言語だから)

私はCを学習したことがほとんどないので絵本を参考にしながら進めた

Cの絵本 第2版 C言語が好きになる新しい9つの扉

Cの絵本 第2版 C言語が好きになる新しい9つの扉

 

 アセンブリ言語の学習

今回学習したのはi386アセンブラで、x86_64などではない。

後日談

この記事書いてる途中で放棄してしまって、x86について数か月学習しなかったんですが、大部分を忘れてしまいました(チクショオオオオ!)。もう一回学び直したら更新しようと思ってます。

写真についての雑記

どうも、Takachinです。今年度に入ってからセキュリティのことより写真とかその他諸々を優先してしまっているのでちょっと反省しています。CTFのWrite upを書けるレベルに未だ達せず、またバイナリアンにもフォレンジックの達人にもなれない私にとって、写真で培った知識が少しは足しになってくれないかな~とか思ったり(ならない)。今回は自分の趣味の写真について少し書きたいと思います。まあ「コイツ...知識のアウトプットとWriteup書く練習してるんだな...」とか考えて少し付き合ってください。

現在の機材構成

FUJIFILM X-T2

・Minolta SRT101

Leica Ⅲf

・FUJINON XC16-50mm f3.5-5.6 OIS

・Meike 35mm f1.7

・Minolta MC 28mm  f2.8

・Minolta MC 50mm f1.7

・Minolta MD 75-150mm f4

・Industar-22 50mm f3.5

(他にも使ってないM42マウントのレンズとか自動巻き上げのフィルムカメラとか)

作例とか

肖像権云々みたいなのに引っかからないと思う写真だけ載せてみる

f:id:Takachin53:20190621121435j:plain

 

f:id:Takachin53:20190724113027j:plain

f:id:Takachin53:20190724113157j:plain

f:id:Takachin53:20190724114544j:plain



f:id:Takachin53:20190621121659j:plain

f:id:Takachin53:20190621121706j:plain
(写真始めて1年のぺーぺーで構図とかできてないヘタッピだけど見逃してorz)

 写真のススメ(メモ)

 現代においてカメラといえばデジタルで、

・一眼レフ

・ミラーレス

・コンパクトカメラ

に種類分けできると思う。センサーサイズはAPS-C、マイクロファーザーズとフルサイズ(ライカ判)とか(中判?知らない子ですね~)。個人的なおすすめはミラーレス。理由は主に2つで、ミラーがないからシャッターショックの影響がないのとカメラボディが小さいから(某大手カメラメーカーも一眼レフは将来的にオワコンになるって言ってるし)。

 デジタルカメラ使いたくて予算がそんなにない人は、発売から数年たって型落ちになった中古機がおすすめ(SONYの某フルサイズミラーレスとかCanonのフルサイズ一眼レフとか)。マイクロファーザーズとかAPS-Cセンサー搭載のミラーレスカメラはボディサイズが小さくて良いと思う。もっと予算がないって人は、フィルムカメラがオススメ。フィルムカメラなら3・4千円のカメラボディと同じく3・4千円 の50mmレンズを買えば始められる(フィルム自体はちと高いけど)。おすすめはMinolta SRT101にロッコールの50mm、機械式のPentaxとか(昔大量生産されたから名機の癖に安い&機械式なので修理しやすいとかなんとか)。現像は自宅でするのも良いけど色々面倒くさいんで、カメラ店に頼む方が良いと思う。M型ライカ?フィルムを本気でやりたいっていう人なら買ってもいいんじゃないかな...。中判とか大判は知らぬ。とりあえず近くの中古カメラ屋行こうぜ!ネットオークションで買うことはオススメできないかな。状態が判別できないし。あと〇すべし転〇屋。

 撮影テクニックについては話ができるレベルじゃないんで、他の人が書いたブログとか書籍とか参考にしてほしい(構図は大事だよ~)。撮影会に参加してみるのも良いかも。

あと機材以外の話だとRAW現像も大事な作業だと思う。たまに写真をRAW現像するのは良くないって人いるけど、写真を編集する作業はフィルムの時代から行われてきたことなんでおかしなことじゃないんだよね。

 世間のカメラ界隈ではフィルムカメラ&オールドレンズがブームらしい。あと身近に写真が趣味ですって人結構いる。今はスマホに付いてるカメラの性能スゴイし、スマホだけで写真を楽しむのもよいかも。

自作PCの構成計画

 

 

動機

デスクトップPCが必要なので自作で組むことにした。主な理由や用途は以下の通り

理由

・ハッキング・ラボの構築の必要性

ペネトレーションテストを行うための十分な環境構築の必要性

・快適なコーディング環境の必要性

・現メインPCのスペック不足

・寮(4.5帖)からアパート(10帖)に引っ越すことからデスクトップPCを置ける場所ができた

・単純にデュアルディスプレイへの憧れ

・ゲーム(WarThunder、VRChat、PUBGなど)を行う環境の構築

DTM(楽曲制作)への興味

・所属学科における自作erの多さの影響

VRや深層学習、AIへの興味・関心

用途

・コーディング

・セキュリティ関連(ペネトレーションテスト、OSINTなど)

・ゲーム

VR

・深層学習

・AI

etc...

PC本体の構成

今回はATXでRyzen7(OC可能)、RAM16GB、VRAM8GB、コスパ重視で組むことにする。ベンチマーク?そんなの知らん。

PCケース
 マザーボード
ASUS AMD B450搭載 AM4 対応 マザーボード ROG STRIX B450-F GAMING 【ATX】
 
 CPU
AMD CPU Ryzen 7 2700X with Wraith Prism cooler YD270XBGAFBOX

AMD CPU Ryzen 7 2700X with Wraith Prism cooler YD270XBGAFBOX

 
 メモリ
 GPU 
MSI Radeon RX 570 ARMOR 8G OC グラフィックスカード

MSI Radeon RX 570 ARMOR 8G OC グラフィックスカード

 
 SSD
 HDD
 電源
Corsair RM650x 80PLUS GOLD認証取得 650W静音電源ユニット PS593 CP-9020091-JP

Corsair RM650x 80PLUS GOLD認証取得 650W静音電源ユニット PS593 CP-9020091-JP

 
 CPUグリス

モニター

 キーボード

Corsair K55 RGB -日本語キーボード- ゲーミングキーボード KB387 CH-9206015-JP

Corsair K55 RGB -日本語キーボード- ゲーミングキーボード KB387 CH-9206015-JP

 

 OS

 今後の予定

3月中旬までに環境構築を終える

ThinkPad X220のメモリとバッテリーを交換した話

f:id:Takachin53:20181205145924j:plain

中古で購入したX220のメモリとバッテリーを交換したのでメモる。

交換した理由

サブPCとして購入した中古X220をデスクトップ化して使おうと最近考えていますが、VMを起動するとめちゃくちゃ動作が遅い...。どうやら改善方法として、メモリの交換(8GB×2)、無線LANカードの交換(関係あるかわからないが、何故か動作が早くなったという情報を見かけた)などがあるらしいです。今回はメモリの交換をすることにしました。また最近電池の持ちが悪い(2・3時間くらいしか持たない)ので、バッテリーの交換(6セル→9セル)もすることにしました。

今回購入したもの

・メモリ

・バッテリー

今回はこの二つを購入しました。当たり前ですが、DDR4のメモリとは互換性がない(アダプタなどを使えばつけられるかも)ので、注意してください。また純正のバッテリーを購入すると1万8千円くらいかかり、中古ThinkPadが手に入るお値段になってしまうので、今回は非純正のバッテリーを購入しました。BIOSで非純正の部品が認識されないことがあるので心配...。

交換

バッテリー

バッテリーの交換は簡単です。

①電源を落とす

②バッテリーを外す

③新しいバッテリーを取り付ける

以上です。めちゃくちゃ簡単です。最近のThinkPadは内臓バッテリーが主流みたいで、マザボが露出するまで開かないと交換できないみたいですね。多分2018年モデルからかな?今回購入したバッテリーは純正じゃないせいか、取り付け時にキツくて入れづらかったです。バッテリーを交換したことで、連続使用可能な時間がフル充電で5・6時間まで増えました。欠点はバッテリーが出っ張ってること、全体の重量が重くなることです。

f:id:Takachin53:20181225161828j:plain

f:id:Takachin53:20181225161838j:plain

まあそもそもX220軽いからあまり変わらないような気がします。出っ張りも気にしなければどうということはないですね

メモリ

X220のメモリ交換は、裏側のメモリ用の蓋を開けるだけで行うことができます。普通のノートPCはマザボまで開けないと交換できない場合が多いので、かなりの手間を省くことができます。

①バッテリーを外し電源を数回プッシュしてしばらく放置

②メモリ用の蓋を開けてメモリを取り出す

③新しいメモリを挿入

④蓋をしめてバッテリーを取り付ける

そんなに手間がかかる作業じゃないですね。即効で終わりそう。

f:id:Takachin53:20190122172905j:plain

バッテリーを外した状態

f:id:Takachin53:20190122172951j:plain

メモリ用の蓋を開けた状態

f:id:Takachin53:20190122173108j:plain

銀色の留め具(ソケット?)を押し開くだけで外れる



片方のメモリがうまく入らず苦戦しましたが、なんとか交換することができました。

結果

動作が少し改善したような気がする...が、正直よくわからない。比較とかやってみたいけど、パソコンの知識が全然ない自分には無理ですね。あと、このブログ書いてる時点で、交換して余ったサムスン製のメモリ(4GB×2)は既に親にあげてしまったので、比較のやり方がわかっても無理。

今後やりたいこと

液晶がTNで視野角が狭いので、IPS方式に交換したいです。あと今後も動作が遅いなら、無線LANカードの交換もやりたいです。外付けGPUはまたの機会&金銭的な余裕ができてからかな~。

 

個人的作業用BGMまとめ

個人的な作業用BGMのまとめメモ


[作業用BGM] ワルな重低音Trap!NEFFEXまとめ [作業妨害BGM]


[作業用EDM] 作業にならないワルな重低音Trapまとめ #3 [Deep Bass Trap]


クセになる中毒性のある作業用EDMメドレー


Martin Garrix Greatest Hits Full Album 2018 - The Best Of Martin Garrix 2018


Martin Garrix Mix 2018 ➕✖️ Best Songs & Remixes Of All Time

 


響く重低音EDM!! W&Wの人気曲まとめ![BEST EDM]


[作業用BGM] 絶対に聴いた事ある超有名ド定番EDMまとめ [重低音]

 

 

自宅の物理的な開発環境の構築計画をしてみる

最近自宅に満足がいく物理的な開発環境を構築してみたいとしばしば考えるので、計画を立ててメモってみる。(一応言っておくと、当方パソコンマニアじゃないので、技術的なこと全然わかりません)

 

経緯

自分は今まで大学入学時に購入したThinkPad E570をプログラミングやセキュリティのリサーチ、ゲームなどに使い、クラシック&7列のキーボードを使いたいがために中古で購入したThinkPad X220をサブ機&自宅PCとして使ってきました。けれど、先日購入しようとした本に載っていた推奨スペックに対して自分のPCのスペックが足りず、愕然としました。

サイバーセキュリティテスト完全ガイド ~Kali Linuxによるペネトレーションテスト~

サイバーセキュリティテスト完全ガイド ~Kali Linuxによるペネトレーションテスト~

 

いままで快適に使ってきたので何とも思わなかったんですけど、これからいろんなことに挑戦するにあたってスペック不足で苦しむ可能性に気が付きました。また最近TwitterのTLで自宅の物理的な開発環境を整えた人がちょこちょこ画像でツイートしていて、自分も憧れてしまいました。あとは「ハッキング・ラボのつくりかた」の影響です。

ハッキング・ラボのつくりかた 仮想環境におけるハッカー体験学習

ハッキング・ラボのつくりかた 仮想環境におけるハッカー体験学習

 

PCの環境

新しいPCを買うのも良いんですが、貧乏学生である自分にとって高い出費はきついです。そんなこんなで悩んでいた時に、先日「ハッキング・ラボのつくりかた」を出版したばかりのipusironさんがこんなツイートをしていました。

「 おおおおお!!X220じゃないか!これもしかして自分もできるんじゃないか!?でもeGPUってなんだ?」

っていう感じです。既存のX220を使えるならこれに越したことはないなーと。ちなみに手持ちのX220の大雑把なスペックはこんな感じ

  • CPU:Intel Core(TM)i7-2640M 2.80GHz
  • メモリ:8.00GB(4.00×2枚)
  • ストレージ:SSD 256GB(Crucial)
  • 液晶:TN

ちなみにこのX220、大学入学後にヤフオクで購入しました。

eGPUって何?

そもそもの話、eGPUって何かわかりません。調べてみたら外付けGPUのことでした。最近MacとかのThunderbolt3に接続して使うのがちょっと流行ってるみたいですね(最近なのか?)。ノートPCでもデスクトップ並みにさくさく動いたり、グラフィックがよくなったり。でも、X220は2011年発売開始なので、もちろんThunderboltに対応しているわけがありません。で、どうするか。

eGPU Lenovo X220 PE4C 2.1a GTX 650 OC 2GB - YouTube

格安でグラボをノートパソコンに外付け増設できる!EXP GDC紹介&検証【ガジェット】 - YouTube

PUBG対応!グラボ増設でノートパソコンをゲーミングPCに! EXP GDC接続・設定方法手順 - YouTube

 これらの動画を見てみると、アダプタみたいなものを購入して接続していることがわかります。

多分この商品が動画に出てきたものですね。1つ目の動画にあったPE4C-EC100C v2.1はこの記事を書いてる現在、Amazonで売り切れてました。Exp GDCは、ブログ書き始めた時は在庫あったんですけど、公開した時には売り切れてました。他にも使えそうなものはあるので、そっちで対応してみようと思います。

GPU

今回はあまりお金がかからないことを重要視しているので、スペックとかは別に気にしていないです。PCがサクサク動くようになればそれでよし。そもそも今回はゲーム環境を作るためじゃないので。

 これがいいんじゃないかなと思います。他のGeForceより安いし、高評価だし。GPU、今までデスクトップPC使ったことないのでよくわからないんですよね。多分実家で最後に使ったデスクトップPC、親父のOSがXPか2000のバイオです(12年くらい前かな?)。よくフリーズしたから、親父はその影響でThinkPad信者になったのかな...。

ATX電源

これが一番わからない。GPUに電力供給するために必要なのはわかるけど、何W供給可能なATX電源を購入すれば良いのかわからない。コメントとかで教えてくれるとありがたいです。

メモリ

メモリを8GBから16GBに増やそうと思います。VM一応入れているんですけど、かなり重いです。メモリ食いそうな作業をすると、応答なしになることもしばしば。公式のアナウンスだと8GBまでしか無理みたいですが、普通に16GBでも大丈夫みたいです。 

X220中古のメモリをCrucialのW3N1600CM-8Gで16GBレビュー感想 | イキタアカシ

こちらのサイトが参考になるんじゃないかと思います。 

 多分これかな...。未だにDDR3とかDDR4とかよくわかっていないんです。まあ、自分のX220と互換性のあるメモリを購入したいと思います。

液晶

ThinkPad X220はデフォルトだとTN液晶です。なのでIPS液晶に交換したいと思います。FullHDは難しいらしいのでパス。

 見た限りいくつか種類があるみたいなんですけど、どれがいいんですかね...。あと自分のX220、売り手さんはTN液晶だって言ってたんですけど、個人的主観だとIPSっぽいんですよね。どうやって見分けるんでしょう...。

ウルトラベース

ウルトラベースも買いたいです。便利になるし、なにより周辺機器との接続が楽になって、なおかつDVDも観れるようになりますからね。 

レノボ・ジャパン ThinkPad ウルトラベース シリーズ 3 0A33932

レノボ・ジャパン ThinkPad ウルトラベース シリーズ 3 0A33932

 

 これがX220でも使えるウルトラベースかな?

ディスプレイ

 正直ディスプレイにもこだわりは特にないです。そもそもディスプレイ自体、昔実家でThinkPad X61に親父のやつを借りて使ったぐらいしかないですし。 コスパの良いディスプレイかハードオフで中古ディスプレイを買って使うのがいいかもしれないです。少し調べてみて、EIZO製のディスプレイが気になったんですが、いいお値段しますね。コスパを重視してみるとBenQ製とかが良いかも。

BenQ モニター ディスプレイ GL2070 19.5インチ/1600x900 WXGA++/TN

BenQ モニター ディスプレイ GL2070 19.5インチ/1600x900 WXGA++/TN

 

 これとか良い気がします。大きさは今のところ未定です。

キーボード

Happy Hacking Keyboardとか青・赤・茶軸が気になります。結局どれがいいんですかね...。HHKBは結構高いのでパスですね。今回は無難なキーボードにしたいと思います。

 キーボードって奥が深そうですけど、結構高いですよね。どれがいいとか議論したらVimEmacsの論争と同じくらい長引きそうです。

マウス

これも特にこだわりなし。コスパの良くて有線かつゲーミング用のマウス買えばいいかな。2000円くらいが妥当かも。

まとめ

環境を構築した場合、だいたい7万くらいかかりそうですね。決して安くはないけど、X1 Carbonとかを買うよりは安いです。まあ今年は多分メモリの交換ぐらいしかしないと思います。今住んでる寮の部屋狭くて、ディスプレイとかキーボードを常時置けるスペースを確保できないんです。来年アパートに引っ越す予定だし、その時やるかもしれないです。

 

 

VirtualBoxのネットワーク設定

Oracle VM VirtualBoxのネットワーク設定がよくわからなくて調べたのでメモる。

調べた理由

VM内の仮想マシン同士でペネトレーションテストをしたが、うまくいかなかった。(下のサイトを参考にした)

 

whitelily6u6.hateblo.jp

qiita.com

初めは原因がわからず、

 set rhost exploitする仮想マシンIPアドレス (IPv4)

 run

でexploit failedになって失敗したのでIPv4の設定が原因かと思ったが、Twitterで投げかけてみたら優しい人が助言をしてくれて間違いであることに気づいた。また課外活動の先輩にも同様のアドバイスをもらった。指摘された部分を調べてみると、ネットワークの設定のみで解決することがわかった。

ネットワークの種類

  • NAT
  • NATネットワーク
  • ブリッジアダプター
  • 内部ネットワーク
  • ホストオンリーアダプター
  • 汎用ドライバー

ネットワークの具体的な違い

自分で書いてもいいが、具体的でわかりやすいサイトがあったので貼っておく(後日書くかもしれない)

qiita.com

atomiyama.com

解決と反省

自分の場合、ホストPCとVM同士で通信ができるNATネットワークを選択することで解決することができた。反省として、TCP/IPについて学ぶべきだと思った。(関係ない)おわり。