スキップしてメイン コンテンツに移動

アプリ不正使用防止マクロを少し変えました(MacroDroid)

 個人情報が参照できるようなアプリって、起動時に

・二段階認証

・生体認証

・パスワード認証

・パスキー認証

とかが必要になるように設定できるじゃないですか。


そういう機能がないアプリでも、Galaxyだとセキュリティフォルダで対応できるんですが、結構使い勝手が悪いんですよ!

そもそも、Androidが全てのアプリに対して、起動時に生体認証などを要求する設定が出来るようになれば良いんですけどね。 

サードパーティのアプリで、指定したアプリを起動した際に生体認証要求するように出来るものもあるんですが、色々試したんですが当然ながらアプリ起動後に生体認証要求が出るんですよ。なので、アプリの画面が表示された後なんですよ。

本当なら、アプリ画面が表示される前に認証要求が出て欲しいんですが、やっぱりそれはAndroidが標準機能として実装しないと無理ですよね。

で、アプリ画面起動後でも認証要求が出れば、不正操作は防止できるなぁと思って、インチキ臭いマクロをお試しで作ってみました。



至ってシンプルです。

トリガーは特定のアプリ起動時です。

トリガー発動で、生体認証要求が出ます。

で、認証OKならそのままアプリを使えます。

認証NGならホーム画面に戻ります(ついでにフロントカメラで撮影)。

あと、自宅にいる時は不正使用されないので、条件に自宅範囲外を入れました。



アプリが起動した画面を表示したまま認証要求が出ないように、

・最初にホーム画面を表示

・認証OKなら最近使ったアプリ一覧を2回表示させるアクションでアプリ画面に戻す

ってのも試したんですが、当然ながらアプリ画面に戻したタイミングで認証要求が出るので無限ループに陥ります。

で、条件にこのマクロが停止中を追加してみました。

更に、最近使ったアプリを表示するを2回連続で実行すると上手く動かなかったので、少し間を置くようにしました。

あと、マクロ停止中の条件に引っ掛かりやすくするために、最後に2秒待ち時間を足しました。 




これで、トリガーのアプリを起動したら、直後にホーム画面が表示されてから認証要求が出ます。指紋認証している部分は録画できないので真っ暗な画面になってますけどね。

で、認証がOKならアプリ画面が表示されますね。 



ま、ちょっとお試しで作ってみただけなので、使う予定はありません。

試してみた後はマクロを無効にしています・・・・。


2026.07.15

お試しで作ってみたアプリ不正防止マクロですが、Geminiさんの助けを借りて少し改良してみました。


 




ローカル変数

 変数A [文字列](起動したアプリのパッケージ名を格納)

 変数B [整数](認証失敗上限超えのループに使用)

 変数C [真偽](生体認証の成否判定用) 

 変数D [整数](生体認証失敗上限"3"を固定で設定済み)


マクロトリガー

 アプリを起動時(認証させたい複数のアプリを登録)


マクロアクション

 変数A={app_package}

 ホーム画面を表示

 変数C=偽

 変数B=0

 条件繰り返し開始(変数B < 変数D && 変数C=偽)

  ユーザー認証(成功すれば変数C=真)

  変数B=変数B+1

 条件繰り返し終了

 条件分岐(変数C=真)

  ポップアップメッセージ出力(OK)

  トリガーを無効

  アプリ起動(パッケージ名){変数A}

        2秒待機 

        トリガーを有効

    条件分岐(変数C=真以外)

        ポップアップメッセージ出力(NG)

        フロントカメラで5秒録画

  フロントカメラで撮影

    条件分岐終了


マクロ条件

    自宅付近のエリア外


起動されたアプリのパッケージ名を変数に格納しておくことで、認証成功時にアプリ起動(パッケージ名)で起動するアプリを変数で設定できるようになりました。

また、以前はマクロ条件でこのマクロが停止中を設定して、無理やり認証無限ループを回避していましたが、一度トリガーを無効にすることで、認証成功後のアプリ起動で再度認証トリガーが発動しないようにできました。

Geminiさんありがとー


Shortcut Makerを使ってダミーアイコンから本当のアプリを開くことで、本当にアプリ画面が全く表示されずに認証画面を表示する方法もあるようですが、私のようにホーム画面のアイコンを上下スワイプを類似アプリ起動に割り当てていたりすると、一つのアプリをロック対応にするのも結構な手間だし、なによりも「家にいるのでロックは不要」が出来ませんね。


コメント