小米6 使用 MIUI 10 國際開發版完全通過 SafetyNet 使用 Google Pay

最近把手上的小米6更新到 MIUI 10 國際開發版
刷入 Magisk 後卻無法完整通過 SafetyNet 檢測,導致無法使用 Google Pay
Magisk 的檢測結果如下

ctsProfile: false
basicIntegrity: true

上網爬了一下資料,造成 ctsProfile 沒有通過通常是原廠沒有將這個 ROM 提交給 Google 審核
所以這邊提供解決方法

如果您的手機尚未解鎖或是對刷機流程不熟悉,可以先參考文章底的連結
官方解鎖是基本的,還沒解鎖就先解鎖吧
另外,該文章內 『避免自動加密 userdata 分區』 的部份僅適用於 Android 7 的卡刷包

繼續閱讀 “小米6 使用 MIUI 10 國際開發版完全通過 SafetyNet 使用 Google Pay”

網頁Top按鈕 (網頁回到頂端),純 CSS+jQuery 免圖片

在手持行動裝置逐漸取代 PC 的現在
響應式網頁 (RWD / Responsive Web Design) 的規劃也非常普遍

使用 PC/NB 瀏覽網頁時,即使沒有 Go Top 按鈕也可以使用鍵盤的 Ctrl+Home 來達成目的
但使用手持行動裝置就不是那麼一回事了,如果沒有這按鈕時就只能一直不停的往上滑動

最近使用 Bootstrap 4 + jQuery 弄 RWD 頁面,就需要在網頁上加上 回到網頁最上方 的按鈕
然而 Bootstrap 4 已經捨棄了 Glyphicons icon font,想達到目的的選擇大概就是

  • 使用圖片
  • 使用 SVG 繪製
  • 使用 Glyphicons、Octicons、Font Awesome 或其他第三方專案

但是不想使用圖片,對 SVG 也不熟,也不想使用第三方專案的解決方案

繼續閱讀 “網頁Top按鈕 (網頁回到頂端),純 CSS+jQuery 免圖片”

Android 刷機包(卡刷) 中 system.new.dat 的 re-pack工具: rimg2sdat

2013年鸚鵡買了人生第一隻 Android 手機:小米2S 32GB
新機入手就開始刷機和ROOT,從 JLB15.0 玩到 JLB21.0 時就開始動手改卡刷包

就這樣一路改一路玩到了換小米5
搶到陶瓷尊享版後很開心的下載官方卡刷包準備動刀,點開卡刷包時卻矇了

沒有 system 資料夾! 沒有 system 資料夾! 沒有 system 資料夾!

看了一下檔名和檔案大小,大概就是它了: system.new.dat
經過 Google 大神介紹到 xda 論壇拜碼頭,找到了這篇文章 Unpack/re-pack android DAT files
馬上下載工具並安裝 Python ,終於順利的 unpack 了一個 raw image

mount 起來修修改改完準備 re-pack 的時候卡關了
要先用 img2simg 將 raw image 轉換成 Android sparse image 之後才能再轉成 system.new.dat
又不想 git 一堆 andorid source 回來編譯,只為了取得 img2simg 這工具

心想,既然 system.new.dat 可以直接轉 raw image,那直接反向轉回去就好啦!?

完全沒接觸過 Python 還是把 sdat2img.py 開起來,只是閱讀起來異常艱澀
邊看邊對照 unpack 時輸出的資訊,大概抓到原理後就用 PHP 開始土砲

繼續閱讀 “Android 刷機包(卡刷) 中 system.new.dat 的 re-pack工具: rimg2sdat”

在 CentOS 7 幫 Apache 2.4.6 加上 Brotli 網頁壓縮技術(mod_brotli)

最近終於接觸到 Google 釋出的 Brotli 壓縮技術
於是動念想幫 apache 也加上 brotli 的支援,因為現在各大瀏覽器也都已經支援

但因為微軟的 IE (Internet Explorer) 全系列都沒有支援
所以作法就變成增加 mod_brotli 的支援且優先使用,而不是取代 mod_deflate 或 mod_gzip

繼續閱讀 “在 CentOS 7 幫 Apache 2.4.6 加上 Brotli 網頁壓縮技術(mod_brotli)”

設定 DNS CAA 紀錄,保護自己的 SSL/TLS 憑證

目前全球簽發 SSL/TLS 憑證的機構已超過百個
要避免這些機構在某些情況下錯誤簽發憑證 (WoSign曾發生過)
就需要在簽發憑證前做一些檢查動作

在 RFC 6844 中定義了 DNS CAA Record
透過 DNS 的 CAA 紀錄,申明網域授權哪些機構可以簽發該網域的憑證
如果沒有設定 CAA 紀錄,則代表任何機構都可以簽發該網域的憑證
2013年1月 CA可以決定是否檢查該記錄,非強制性
2017年3月 CA/Browser 論壇決議 2017年9月起強制所有憑證發行機構在簽發憑證前必須檢查 DNS CAA 紀錄

繼續閱讀 “設定 DNS CAA 紀錄,保護自己的 SSL/TLS 憑證”

幫 MySQL / MaridDB 補上 timezone 相關資料

鸚鵡在安裝 Cacti 過程中,被要求資料庫需要滿足 timezone 的需求
而 MySQL 及 MaridDB 安裝後
在 mysql 資料庫中的 time_zone 相關資料表都是空的

安裝了 MySQL / MariaDB 後,系統中會有一個測試用的 sql 檔案
路徑:/usr/share/mysql/mysql_test_data_timezone.sql
這個檔案提供了一些測試用的相關資料,但只是幾個時區的測試資料

想要幫 time_zone 相關資料表補上完整資料的話

SQL 檔案導入的方式

 

在 Windows 10 安裝 BDE,讓 SQL 2000 的資料庫繼續工作

最近遇到一台老舊的主機,主機板已經出狀況隨時可能徹底掛掉
而主機上的會計系統依然還在使用,對方也打算繼續用
硬體設備的問題只剩更新一途,那 OS 和相關的環境也只能被迫更新
礙於現在的硬體都無法支援舊的作業系統,花了一點時間找到解決的方法

原有環境
Windows Server 2000 + SQL Server 2000
會計系統是 Delphi + BDE 的搭配
而 BDE Database Alias 的 Type 是 MSSQL

新電腦的配置大概如下

  • OS: Windows 10 x64
  • SQL: SQL Server 2008 x64
  • 資料庫檔案: 不以備份還原的方式處理,而是使用 卸離和附加 的方式處理

繼續閱讀 “在 Windows 10 安裝 BDE,讓 SQL 2000 的資料庫繼續工作”