Feeds:
文章
留言

radare2 初體驗

今天上了 KaLUG 的 radare2 課程覺得相當有趣, 決定動手試玩一下, 雖然課程示範是針對 Linux ELF 格式, 但radare2 有 Windows 版本也支援 PE 格式, 就來試玩一下如何跳過簡單的 if 條件

首先一個簡單的範例程式

gcc a.c

預期的執行

如果想 patch 成輸入任何值都要輸出 hello 該怎麼做呢

copy a.exe a-m.exe

radare2.exe -w a-m.exe

移動到 main

先用 aaaa 分析程式, 然後執行 pdf, 紅框處就是比對密碼

其中 0x004015f5 位置就是比對失敗後執行動作, 所以把該行改為 nop 忽略跳耀

驗證執行結果

比較檔案差異

廣告

受夠了Windows10自動更新

2018.07.02 更新

1. 強制關閉 Windows 服務還是會自動更新

2. [2]提供透過群組原則"電腦設定 → 系統管理範本 → Windows 元件 → Windows Update → 設定自動更新" 關閉, 持續驗證中. Windows Update 原則也有其他選項可以配置, 如關機選單不出現強制更新

 

===========

這本是一個很好的功能, 只是常常在錯誤時間更新, 另外更糟的就是更新後工作環境無法運作… 真是給他 OOXX

網路上很多有強制關閉更新功能[1], 這裡就筆記一下確認是否有效. 簡單的說就是停用 “Windows Update" 系統服務, 還有一個要注意的是復原的執行失敗要設定為"不執行任何動作", 否則系統會把服務重新啟用就又 GG 了

 

 

參考資料

[1] 如何徹底關閉windows update自動執行功能 – Microsoft Community

[2] 【密技】win10 強制關閉更新(非關閉服務、不用下載任何東西 @場外休憩區 哈啦板 – 巴哈姆特

 

Windows 還不支援, Centos7 上試玩

測試代碼

執行

執行結果

還蠻有趣的… 持續關注中…

 

 

 

PHP7.2+Adodb Session Error

今天裝 PHP 7.2 遇到 “ini_set(): Cannot set ‘user’ save handler by ini_set() or session_module_name()" 錯誤, 依據[1] 描述將出問題的

session_module_name(‘user’);

註解掉即可…

 

參考資料

[1] PHP 7.2 & session save handler. ‧ Issue #2783 ‧ symphonycms/symphony-2

今年要在新的主機上佈署開發環境, 本來想說應該很快完成, 結果一直出現奇怪錯誤, 害我對 docker 信心下滑了不少, 後來遇到 apache 的 no MPM Loaded 怎麼調都無法運作, 才發現[1] 討論到 CentOS 搭配 Overlay Storage 有問題, 建議改用 devicemapper. 調整流程(image 會消失!image 會消失!image 會消失!)

環境

  • Centos 7
  • Docker 18.04.0-ce-rc1

 

1. 新增 /etc/docker/daemon.json

 

{
  "storage-driver": "devicemapper"
}

2. 重新啟動 daemon

systemctl stop docker

systemctl start docker

 

補充: docker 切換成 devicemanager 後有警告" devicemapper: usage of loopback devices is strongly discouraged for production use.“, 似乎有更好的做法….

參考資料

[1] php:7.0-apache: AH00534: apache2: Configuration error: No MPM loaded

[2] Use the Device Mapper storage driver

[3] Use the OverlayFS storage driver

[4] Docker storage drivers

今天上完課程獲得不少心得, 講員的內容非常棒釐清了我對於 IoT 和 MQTT 方面的疑惑. 尤其是 Hawk 的以邏輯閘講解 IoT 控制有眼睛一亮的感覺挺特別. 總結 IoT 聯網的目的就是做自動化控制, 所以整理了研討會提到的幾種模式

IFTTT 作為中介

mlubpaw

這個模式簡單說 IoT 設備都比較單純, 感測器數據發送數據到 IFTTT, IFTTT 設定條件觸發到執行動作的IoT設備, 由於 IFTTT 負責條件控制, 所以 IoT 的程式相對簡單

自建類 IFTTT 服務

ercgxue

基本上概念上和 IFTTT運作類似, 由於IFTTT需要收費或公司內部使用可採行這個模式, 主要利用 etcd 可監控key對應值變更通知特性, 我的理解go簡單實作可開兩個 goroutine  ,一個負責監聽數據收集的 key 變動, 另一個監聽動作輸出的 key 變動, 當輸入key異動滿足條件時, 將動作操作寫入對應 key 而不直接連動 IoT 輸出控制, 動作輸出 goroutine 一樣依據條件判斷執行 IoT 設備控制.

MQTT

1iseqns

比較常見的 IoT 自動化做法, 以 MQTT 協定作為通訊基礎, 採行訂閱-發布模式, IoT 端負責邏輯判斷

其他心得

1. Android MQTT App – 方便測試 MQTT 協定

IoT MQTT Dashboard

Linear MQTT Dashboard

2. github 有支援 .ipynb 檢視(Desktop Web Only)

3. Pi 可透過 USB 轉 RS485 與 PLC 通訊

 

 

 

 

 

 

久久用一次都會忘記, 寫個快速入門筆記給未來的自己參考

1. 產生, mvn -B archetype:generate -DgroupId=com.chuiwenchiu -DartifactId=helloApp
2. 編譯, mvn compile
3. 測試, mvn test
4. 執行, mvn exec:java -Dexec.mainClass="com.chuiwenchiu.App"
5. 打包 jar, mvn package
6. 測試 jar, java -cp target\helloApp-1.0-SNAPSHOT.jar com.chuiwenchiu.App