2021年 2月 の投稿一覧

[Electron] 第三者が作ったアプリのソースコードをのぞき見る

Electron製のアプリは非常に簡単に内部のソースコードが閲覧出来てしまいます。これを認識していないと簡単にコピーアプリを作られたり脆弱性を調べられます。

今回はどれくらい手軽に行えるか実際にやってみます。ハリーポッターで言う「闇の魔術に対する防衛術」のコーナーですね。悪い人がどのような手段でアプリを解析するか知り、防衛方法を模索するというわけです。くれぐれも悪用しないでくださいw

知らない方にとってはちょっとした恐怖体験ですねw
続きを読む

「コード署名」をWindows10で行う – signtool.exe編

インターネット経由で配布するWindows用アプリが改ざんされていないか検証することのできる「コード署名」を付けます。

Windows上でコード署名を行うにはいくつか方法はありますが、今回はsigntool.exeを利用した方法を試してみます。
続きを読む

「コード署名証明書」を海外サイトからお手軽価格で購入する

Windowsでコード署名を利用したくて証明書を購入しようとしたのですが、国内の事業者はどこも個人だとためらう価格設定でげんなりしていたのですが、これが海外サイトを利用すると半額以下でゲットできてるという情報を目にしたため、恐る恐る挑戦してみました。

実際に購入したのはこちら。国内の事業者だと安くても年間2万円、高いところだと10万円近くするのが99ドルで入手可能です。

今回は個人事業主として取得しています。英語が苦手な自分でも最後までできたので、よほどのことが無ければ大丈夫ではないかと思います。
続きを読む

OpenSSLをWindows10にインストールする

Windowsで証明書関係の作業をしたくなったので、PowerShellから利用できるOpenSSLをインストールします。基本的にはインストーラーの言う通りに入れて環境変数を設定するだけです。

続きを読む

[HTML5] アドレスバーのURLを変更する – history.pushState()

SPA(Single Page Application)でWebページを開発している場合、ページの情報をJavaScriptで直接書き換えるたブラウザのアドレスバーに表示されているURLは常に同じです。これだとブラウザのバックボタン(戻るボタン)が利用できなかったり、ブックマークや外部からリンクを貼る際に非常に不便。

そこでHTML5から登場したWebブラウザの「履歴」を操作するHistoryAPIを利用することで、SPAにも関わらず情報が書き換わったタイミングでブラウザのアドレスバーに表示されているURLを書き換え、別のページに遷移したかのように見せることができます。

// example.com/foo から example.com/bar に変更
history.pushState({}, '', '/bar')

厳密にはpushState()を実行すると履歴が新しく追加されます。現在表示されているページの情報にURLを発行(定義)するイメージですね。
続きを読む

[HTML5] JavaScriptでtitleタグを変更する

小ネタです。
titleタグの内容を指定した文字列に変更する場合は2つの方法があります。

まずはdocument.titleプロパティに直接値を代入する方法。基本的にはこちらを利用します。

document.title = 'foo'

次にtitle以外の要素を変更するときと同様にquerySelector()で返却されたHTMLElementを操作する方法もあります。

document.querySelector('title').textContent = 'foo'

続きを読む

[Linux] 指定した大きさのファイルを作成する – dd

小ネタです。

LinuxやmacOS上で特定サイズのファイルを作成するにはddコマンドを利用します。以下のコマンドを実行すると中身がすべてゼロの1kbyteのファイルを生成できます。

$ dd bs=1024 count=1 if=/dev/zero of=file1
$ ls -l  
total 8
-rw-r--r--  1 katsube  staff  1024  2  4 17:53 file1 

odコマンドでバイナリファイルとして表示すると、以下のようにすべて0が記録されていることを確認できます。

$ od test1                                
0000000    000000  000000  000000  000000  000000  000000  000000  000000
*
0002000

続きを読む