サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
blog.livedoor.jp/hiroumauma
この表の横一列ごとにアクセスできるようなイメージです。 では実際にアクセスしていきます。 アクセスにはデータベースと同様にクエリを用いて行います。 class Track に List<Track> を返すメソッド getItems() を作成します。 今回はContentResolver.query を用いて検索してみます。 ですが、その前に取得したいカラムのリストを作っておきます。 public static final String[] COLUMNS = { MediaStore.Audio.Media._ID, MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.ALBUM, MediaStore.Audio.Media.ARTIST, MediaStore.Audio
以前 iPhone/iPod touchでC言語プログラミング このような記事を公開しました。 先日「Androidでは同じことできないの?」とメールを 頂きましたので、ご紹介しようと思います。 Androidは基本環境としてLinuxカーネルの上で動作していますので、 gccを動作させること自体は難しくありません。 ただ、iOSのように gcc 単体でパッケージが配布されていないので 手動で揃えようとすると意外に手間がかかります。 今回はそれをできるだけ簡単に導入して遊ぼう という趣旨です。 本格的に使うならCCToolsなどありますし。。。 ○環境 root化済みAndroid端末 (suとbusyboxが使用可能である) gccバイナリの配置などにroot権限が必要です。 今回は、root化済みのXperia Z2(SO-03F)を使用します。 この機種は最新版ファームウェア用の簡易
賛否両論あるようですが、 LINEはスマートフォン世代の事実上の標準的な インスタントメッセンジャーとなりました。 しかし、LINE公式では Android , iOS Windows, OS X 向けのバイナリしか配布られておらず、Linux向けのものは ありません。 方法としてWineを利用してWindows版のLINEを動かすという 手段がありますが、残念ながら日本語入力に何があったり、 適切な設定でなければ頻繁に落ちてしまい、使用感がよくありません。 ということで今回は何とかしてLinuxでまともにLINEを使おうという試みです。 purple-line を利用します。 これは、多くのディストリビューションで標準的なメッセンジャーツールである Pidgin (もしくは Finch) で使用されている libpurple を 有志のLINEの解析の成果 から LINEプロトコルへ対応
更新がずいぶん遅れてしまいました。。。申し訳ありません。 連載記事なので間が開くのはよくないですね。 もう忘れてしまった方もいるかと思うのでもう一度・・・ ○制御構文 コマンドをただ実行していくのもいいですが、例えば 「このコマンドの結果がこうなら、このプログラムを実行したい!」 「このコマンドを何回か繰り返したい!」 「状況によって処理を分岐させたい!」 という状態が出てきます。 そこで登場するのが"制御構文"とよばれる文法です。 制御構文を用いることで、ただコマンドを実行する分けでは なく、状況に応じて動きのあるスクリプトを作成できます。 そんな制御構文編を始めましょう。 5つあります。今回はそのうちよく使用する3つを 扱いたいと思います。 ○IF シェルスクリプトもそうですが、他のほぼすべての プログラミング言語で使用される制御の基本"if"を やはり最初に見ていきましょう。 if
以前 1から創る自作OS ということで x86向けでGRUBから起動できるプログラムについて 記事を書いていたことがあるのですが、当時、アクセス解析等で 確認したところ、あまり反応が宜しくなく、事実上の打ち切りになっていました。。。 ところが最近この古い記事に地味にアクセスが増えているようなので 久しぶりに このカテゴリの記事です。 以前の続きからコードを書くという手もあったのですが、 せっかくなので記事タイトルの通り、x86_64仕様にして 書きなおしてみようと思います。 (書き直すというほどコード量書いていませんでしたが…) 今回もカーネルの読み込みまでは GRUBさんに一任します。 前回は multiboot.h を使用しましたが今回は multiboot2.h を 使用します。 規格通りのヘッダを用意すれば読み込みまでは簡単です。 読み込み直後は 32bitプロテクトモードになって
printf() といえば言わずと知れたC言語のフォーマット型の 文字列出力関数です。 Cを初めて学んだその日から常にお世話になる関数ですが、 一体 printf() の中ではどんな処理をしているのか勉強するため 実際に作ってみます。 ソースコードは こちら からダウンロードできます。 本家printf() のめぼしい機能を大体実現する。 ◎出力変換指定子 printfの出力変換指定は以下の通りです。 %[flags][width][precision][modifier]type 〜〜今回対応した指定子〜〜 ●flags 出力時の形式をフラグ式に決定します。 - ・・・ 出力データより width が大きい倍左詰めで出力する + ・・・ 正の数値の先頭に + を表示する [空白 ] ・・・ (空白) + と同様の効果 # ・・・ 型
お久しぶりです。 漸く期末試験が終了しました。 久々にC言語関連の話題です。 今回挑戦するのは、C言語による動的ローディングです。 普段僕達が作成するC言語のプログラムは、コンパイルすると 基本的に実行ファイルの編集はできません。 当然プログラムを停止せずに機能の追加や削除も行えません。 動的ローディングでは、それを可能にします。 プログラムの実行途中に、プログラムを停止することなく、 外部ファイルを読み込み、外部ファイル内の関数を呼び出すことが できます。 つまりはシンプルなプラグイン機能のようなものが実装できます。 ○実際にやってみよう。 まずは読み出されるプラグインを作成してみます。 作成した関数は次の4つです。 ・plugin_init() プラグインが読み込まれた時に実行される関数、 返値としてプラグイン内に含まれる関数の数を返す ・plugin_desc() プラグインをアンロ
最近 DMMの艦隊これくしょん が話題ですね。 僕自身はプレイをしていなければ、DMMのアカウントすらも 持っていなかったのですが、友人S君がこのゲームにご執心で、 すこしだけ覗かせてもらいました。 スクリプト更新しました スクリプト公開停止しました。 誤解を招くおそれがあるというご指摘をいただきましたので 使用方法に関する記述はロックさせていただきました。 > hirohorse2-talk<AT>yahoo.co.jp ついでにちょっとしたツールを作成したので置いておきます。 ◎艦これ素材ダウンローダ 艦これの売りは、大東亜戦争で活躍した旧帝國海軍の艦船を モチーフにした女の子達です。 各艦船ごとにキャラクターの絵と声が当てられていてとても贅沢ですね。 今回は絵とボイスを一斉にダウンロードできるWindows用バッチスクリプトを 試作しました。 ただ、艦これのサーバーは今非常に苦しそう
お久しぶりです。記事の更新が随分遅れてしまいました。 テスト前なのに加え、38度を越す熱でダウンしてしまったりと なかなか記事の方に手を回せませんでした。 前回はfedoraの導入で止まっているのでその続きから、 WEBサーバーの構築に取り掛かりましょう。 前回DNSの設定だけしていましたが、そのままではネットワーク に接続できていません。 root権限で必要なファイルを設定しておきましょう。 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 viで設定ファイルの編集を行います。 複数のNICがある場合は -eth1 -eth2 になるので 便宣読み替えてください。 viでの編集は慣れないと難しいかもしれませんが、 まず、キーボードの a を入力して、挿入モード になり、 ONBOOT=no を ONBOOT=yes に変更してから ESCキー
最近スマートフォンでLINEを使っている人をよく見かけますね。 電話番号とキャリアメールのアドレスを聞くよりLINEのアカウントの有無を 尋ねるほうが多いという人も多いそうです。 さて、このLINEなのですが、googleで少し検索してみると、色々な噂や議論が されているようです。特に LINEの開発国がどこであるか、という話題や LINEの個人情報に関する安全性についての話がこれでもかとヒットします。 様々な意見を拝見しましたが、やはり自分で調べてみなければ始まらない。 ということで実際に PC版 Android版の LINEアプリケーションをかる~く 調べてみましたので、結果と考察などを書いておきます。。。 安全性等ハードな話に入る前にLINEのアプリがどこで開発されたのか、 調べてみます。 日本の多くの報道機関では、LINEのシステム、アプリは 韓国NHNの日本法人である NHN J
お久しぶりです。 長いお休みでしたが、帰って来ました。 さて、復活第一弾を何にしようか悩んでいたのですが、 13日に、ちょうどブログコメントにて質問も頂いていましたし、 Androidのroot化な話題で行こうと思います。 前回はAndroidのroot化の仕組みとして、少し古い手法である、 exploit を用いた root権限奪取について簡単に書きました。 今回は、より実践的に、Android 4.X の端末で実際に使用されて いる、 所謂 restore芸 の仕組みについて簡単に解説します。 ○restore芸のやろうとしていることは何か? 基本的な方針としては /data/local.prop の改竄を目指すハックです。 Androidには多くの設定ファイルが存在しますが、 /data/local.prop には特にシステムに対する設定を記述することができます。 platform_
先日、twitterで hackme というサイトをご紹介して頂きました。 hackme < http://hackme.netfire.jp/start > このサイトでは、ネットファイヤ社が運営している ハッキング力検定サイト です。 Lv1から、Lv5まで別れており それぞれのレベルごとに表示される ページに用意されているログイン画面をハッキングし、 ログインに成功することで次のレベルに上がることができます。 そのまま答えを書くわけにもいかないので、ヒント風に といた時に考えたことなどを書いてみます。 ※ヒントとなる情報が多分に含まれますので、これから 挑戦される方は是非見ないで一度挑戦されることを おすすめします。 使用するブラウザですが、Firefoxをおすすめします。 もちろん他のブラウザでもできますが、ハッキングに必要な アドオンがひと通り揃っているので今回は Firefox
普段はLinuxばかり扱っているこのブログですが、 前回少しだけWIndows8の開発者プレビュー版を扱いました。 さて、数日前に教えて頂いたことなのですが Windows8から実装された機能で少しLinuxに関わる問題が あるようなのでご紹介いたします。 と、いっても記事にするのが大分遅れたので皆様ご存知かも しれませんね。。。 その機能は、記事タイトルにもあるように セキュアブート と呼ばれるものです。 セキュアブートは、名前からもわかるように起動時のセキュリティを 向上される技術で、簡単に言えば、起動時に、正しい鍵で署名されている 実行ファイル= WIndows でなければ起動を許可しない、というものです。 これでカーネルの改ざんなど、不正な状態でOSが起動されるのを防ぐことが できます。 最近のマザーボードはこれまでの いわゆる16bitの BIOSにかわり、より高機能な UEFI
夏休みも終わり受験生にとっては厳しい秋冬がやって来ます。。。 引き続きブログの方の更新が滞ってしまい本当に申し訳ありません。 さて今回突然更新復活したのは他でもない Xperia acroHD の docomo版である SO-03Dに関する話題です。 このブログでも購入時に少し記事に書きましたが、この端末は 現在 Android 2.3.7 を搭載しており、Android 4.0 へのアップデート を控えて・・・・・だったのですが、 当初7月以降順次アップデートとされていたのにもかかわらず 3ヶ月以上アップデートのアナウンスはされないどころか、 Au版acroHDが4.0へのアップデートを決めて1ヶ月以上経っても 情報1つ公開されない状況が続いています。 Xperia acroHD SO-03Dは11月27日に正式にアップデートが公開 されましたので、この記事の作業を行うことなくAndro
おひさしぶりです。 現在、受験勉強でブログの更新を事実上お休みさせてもらっていますが、 全記事で”お知らせする”とお約束していたので、 acroHDのroot化についてだけ 少々ご紹介させて頂きます。 なお今回は詳しく説明はできない+作業の内容がかなり複雑です。 ある程度 Androidの仕組みや、ファームウェア書き換えの知識、 加えて、正しく日本語を理解する力(重要です) などなどが 必要なのはもちろん、 実際に高級文鎮化する可能性が 他の機種に比べてかなり高いので、普段常用している方は おとなしく 4.0 へアップデートするのを待ったほうが良さそうです。 これまた詳しく解説はできませんが、acroHD/Android4.0 では 2.3.7よりは比較的簡単にrootが取れる可能性(※とれました)があります。 この機種は7月以降でのアップデートが確約されていますし、 他の機種よりは早めに
最近記事の更新が滞りぎみで申し訳ありません。 土曜日に学校でオープンスクールが開かれ、そこに物理部員として かりだされることになりました。。。 その他いくつかのイベントに召集されたりと中々忙しい日々です。 さて、今回の記事は 無限ループ大論争 です。 先日頂いたメールで興味深い質問がありました。 実は僕もプログラミングを始めたばかりのころに同じ疑問が湧いて 必死に調べたことがあります。 その疑問の内容は以下のようなものです。 ============================ プログラムを組んでいると、しばしば ”無限ループ” が必要な場面に出くわします。 たとえば、ユーザーが終了する指令を出すまで一定の 処理を繰り返すプログラムなどがそうですね。 無限ループを作るとき、C言語では大きくわけて 2つの方法があります。 1つは while(1) { 処理 } と whileを使ってルー
記事更新が送れてしまって申し訳ありません。 無事に高校部に進学できました。 今回から予告どおりシェルスクリプトの書き方の解説に 入ります。初回の今回は文法の解説ではなく シェルスクリプトを書いていく手順を紹介します。 シェルスクリプトは、コマンドをそのまま使用でき、文法も 簡単なので初めてでもすぐに実用性のあるコードを 書くことができます。 では、頑張っていきましょう。 これからシェルスクリプトを作成していきますが、 必要な環境を確認しましょう。 ・Linuxの動作しているPC ・ テキストエディタ 以上です。。。 テキストエディタについてはUbuntuならばgeditと呼ばれる シンプルで便利なエディタがプリインストールされていますから 追加でインストールする必要のあるものはありません。 その気になればテキストエディタさえ使わずに cat コマンドだけで コードを書くことも不可能ではあり
今回は、ようやくシステムコールについての説明です。 また、前回のスタックが少々難しい内容であったため、その復習も 兼ねたいと思います。 スタックは、espとebpという二つのレジスタによって示される、 手軽に扱えるメモリ領域でした。 ebpがスタックの最下点を示し、espがスタックの最上点を示します。 これを利用するためにpush命令とpop命令を使います。 push命令でスタックを伸ばして(espの値を減算)値を入れ、 pop命令で値を取り出してスタックを縮め(espの値を加算)ます。 前回触れていなかったのは、スタックはメモリの低位アドレスに 伸びるということです。 低位というのは、アドレスの値を比べたときにその値が小さい方 ということですね。 たとえば、今esp=0x884c954cだったとき、4バイトのデータを プッシュすると、esp=0x884c954c - 4 = 0x884c
先日、これまで突破不可能とされてきたPS3のセキュリティ システムが完全に陥落し、それに伴いハッカーとSCEが いたちごっこを繰り返していたPSPシーンでも革命的な成果が 得られました。 今回は技術的な面からこの事件を見てみましょう。 ●PS3/PSPのセキュリティの仕組み PS3やPSPで動作する公式プログラムには”電子署名”と呼ばれる 電子的なサインがされています。 この電子署名によって、PS3/PSPは、SONY公式のプログラムと 非公式の自作プログラム(HomeBrew=行かHB)を見分け、当然 HBは起動を許可しないような仕組みになっています。 この電子署名は、公開暗号鍵と呼ばれる方式で暗号化されており、 暗号を単純に見破るには途方もない時間がかかります。 10の140乗年、つまり 解読まで10〜100億年はかかるこの暗号は、 ”事実上とけない” 暗号とされてきました。 今回のハ
前回の記事で警告してみましたが 2名の方がそれでも熱心に 「ハッキングについて教えてください」メールを お二人合わせて9通もくださいましたので 試しに"なぜハッキングなるものが成立するか"という内容で 記事を書いてみようと思います。 まず初めに注意から ・今回紹介するプログラムはわざと脆弱性を含めたコードを 自作しますが、同じ脆弱性は現在でも数多く発見されています。 絶対にこの記事で得た知識を悪用することは止めてください。 この記事の知識を悪用して発生したいかなる問題について 当ブログは責任を持ちません。あくまで"知識"として知っている ことは無駄ではないと思います。 ・この記事の内容を理解するにはC言語を扱えること超基本的な アセンブリの知識があること。そしてCPUレジスタとメモリの扱いを 理解している必要があります。 **********************************
part2へ > restoreを用いたrooted 先日 Xpreia acro HD を購入しました。 1.5Ghzデュアルコアプロセッサに加え、防水や 所謂ガラパゴス携帯の各機能を搭載しており、 初代Xperiaから乗り換えた身としては、 素晴らしいレスポンスに関心しています。 さて、そんなacro HDですが、ただ1つ残念な ことに未だに"root化"する方法が確立されていません。 >root化可能になりました(->こちら) 2011年までに発売されたXperiaシリーズでは 便利なroot化キットが用意されており、簡単に root化することができます。 今回はメールで質問をいただいたので ・なぜacro HDではrootを取得することができないのか ・rootkitはいかにしてrootを取得しているか ・root化すると何ができるようになるか、危険はないのか などなどを数回に分け
本当にお久しぶりでございます。。。 高校2年に上がってから急にあれこれと忙しくなり 記事を書くたびに最初の挨拶が お久しぶりです に なっている気がします。。。 何度「次回からは更新率戻す」と書いたかわかりませんね。。。 今年は受験生になってしまうので、これまで以上に 更新率が落ちてしまうかもしれませんが、ご容赦ください。。。 さて、今回はBUFFALOのLinkStationというNASシリーズの お話です。 LinkStationはBUFFALOが発売している。所謂NAS、 ネットワーク対応HDDです。 Amazonで¥ 43,365 →¥ 28,800で販売されている 2TBモデルを購入しました。 商品の詳細については↑Amazonページの、ページ下部に書かれているので 読んでいただければいいのですが、簡単に特徴をあげるなら ・ネットワーク対応HDD ・メディアサーバやiTunesサ
最近、"オブジェクト指向"が流行っています。 "オブジェクト指向"とは"物体指向"という言葉どおり、 あるオブジェクトを中心にプログラムを考えていく ソフトウェアの”開発手法”です。 オブジェクト指向なプログラムを作成するのであれば オブジェクト指向プログラミング言語(OOPL) を用いてコードを作成します。 オブジェクト指向プログラミング言語は、オブジェクト指向な コードを書くための様々な機能が備えられています。 C++ , JAVA といった言語で使用できる クラスなどがそうです。 一般的に、オブジェクト指向なプログラムには OPPLを使用しなければ"ならない" という誤解がされますが、そんなことはありません。 たしかに、OPPLを用いることでオブジェクト指向なコードを 作成することは非常に簡単になります。 しかし、あくまでオブジェクト”指向”は プログラミングの"考え方" です。 つ
間があいてしまいましたね。 この記事を書きつつメインのOSも書いているのですが ちょっと割り込みあたりでハマったりしていました。。。 ソースコードに問題もなくコンパイルエラーも0にも かかわらず割り込みが発生すると電源が落ちたりと。。。 さて、前回MBRの話を長々と書いたわけですが 1から"創る"自作OS なのに全くソースコードが登場しない、という構成でしたので 今回からぼちぼちソースコードを書いていきましょう。 多くのOS自作本や、個人でOSを作っている方のブログをみると 多くの場合FD,フロッピーからOSを起動するようになっています。 でも最近はフロッピーを見ることも少なくなってきました。 どうしてわざわざフロッピーから起動するようなOSを作成するの でしょうか? それは、単純に簡単だからです。 MBRに書きこまれたブートローダは後ろにあるパーティションから OSを読み出しますが、当然
自作OS企画、今回から実際に自作OSを作成するために 必要な知識を書いていきます。 初回の今回は OSがいかにして起動しているか という話です。 ところどころアセンブリのコードが登場しますが Lv4君の記事も参照しつつじっくり呼んでみてください。 まずは、コンピュータが電源投入からOSが読み込まれるまでの 処理を知らなければなりません。 大まかな手順は以下の通りです。 #----------------------------------------------------# [ ! ] 電源投入! ↓ [ - ] BIOSの起動 ---> 各種機器の初期化 ---> 起動デバイスの捜査 ---> [!] 起動可能デバイス発見 ↓ [ - ] BIOSにより起動デバイスMBR読み込み ---> ブートローダの起動 ↓ [ ! ] ブートローダよりOSに処理が移される ↓ OS起動開始!!!
お久しぶりです。 長い間記事を書かずにいました。。。 というのも、Twitterで僕をフォローして下さっている方は ご存知かもしれませんが、今 Lv4君と一緒に 0から独自OSをフルスクラッチ開発 しております。 これまで UbuntuやFedoraの見た目だけを変えたり、単純に Linuxカーネルを再構築したりはしてきましたが、 特に見た目の変更はなんの技術も必要のないお遊びです。 今回の独自OSでは、普段は目にすることのない コンピュータの深層部に直接触れ、開発することで より理解を深める という目的で実装を行います。 簡単なGUIシステムを実装したいと考えています。 参考として このような本があります。 知識がない状態から32bitマルチタスク,GUIなOSが作れることで 自作OS開発者のバイブル的な本ですが ・FDからしか起動できない(CD起動は可能です。) ・アセンブル関連の説明
おまたせしました。 今回はマルチブートを扱います。 最近、若い世代も Windows,Linuxをデュアルブートにして 使う人が増えているようで何よりです。 多くの人が初めて使うであろうLinuxディストリビューション はUbuntuだと思いますが、Ubuntuに慣れてくると、 FedoraやCentOS, Gentoo ,Suse … などなど 他のディストリビューションにも興味が湧いてくるかも しれません。 そんなわけで今回は1つのHDDに対して WIndows 1つ + 複数のLinuxディストリビューション をインストールする方法をご紹介します。 なお今回は作業の単純さを求めたので少しばかり最良とは いえないパーティション分けも行います。 詳しい方はツッコミを入れたくなるかもしれませんが どうかご容赦ください。 これからマルチブートを構築しますが、一番の問題はやはり パーティション
長く続いた Kernel 2.2/2.4/2.6の 2.X時代がついにおわりを迎えました。 7月21日、ついに Kernel.org で、最新のLinuxカーネル Kernel.3.0.0 が リリースされました。 実は、2.6.39 から 3.0.0に、革新的な新機能が追加された、 という訳ではありません。もちろん、これまでどおり、 改良が行われていくつかの新機能を有しています。 Btrfsの処理の改善やシステムコールの追加(sendmmsg) Xenの新機能サポート 他にも Cleancache (キャッシュの扱いを改善 Transcendent Memoryの後継) 他にはいつもどおりいくつかのドライバーの更新と新対応 などが行われていました。 今回のアップデートについては 以前から議論されていたようで、Kernel 2.X の時代が長すぎて Kernel 2.6 に限っては2.6.
珍しく連続投稿でお送りしております。。。 前回 Plymouth 前々回 Grub2 に続いて、Ubuntuの起動周り カスタマイズの最終回、ログイン画面の変更です。 以前は ログイン画面の変更は XMLファイルを用いた デザインで非常に自由度が高かったのですが、Ubuntu9.X以降 では、大幅にシステムが変更されて自由度が非常に低く なっています。 なぜこのような変更を行ったのかということですが、 どうやら、新しいログイン画面 GDM2では、 ログイン画面を gdm というユーザーのデスクトップの様に 扱うことでログインシステムの簡略化を行っているようです。 Ubuntu 9.X などでは usplashが、gdmユーザーの スクリーンセーバのような位置づけになっていました。 なるほど、シンプルな設計になっているようです。 代わりにカスタマイズ度が大幅に失われているわけですが。。。 ロ
次のページ
このページを最初にブックマークしてみませんか?
『blog.livedoor.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く