隔了好久終於又要開始來寫部落格!
年紀有了,進入大叔之齡,實在不能加班。
但運氣真好的,跟好友小聚後洗完澡才剛躺上床,就被通知工作的地點中了勒索病毒,半夜耶~
(9/3 12:50 更新)衛福部單位疑似遭勒索病毒攻擊,要求支付比特幣
我沒有那個實力跟大家說明如何解開「Globeimposter 3.0」的勒索病毒,我只是說明我們是如何"支付比特幣"並取得解密工具的(笑)!
# 為什麼我要選擇MAX交易所?
1. 先 google 到這篇 【2019.9.26更新】台灣知名加密貨幣交易所懶人包,看到有MAX交易所跟凱基銀行有「信託保管」。嗯,覺得安心不少!我可不想拿公司交給我的贖金去買比特幣但一點保障都沒有,而且它有 APP操作上也便利不少。
# 註冊流程
2. 我參考這篇 【工具教學】台灣最知名交易所MAX-台幣出入金好夥伴 。
# 支付比特幣
3. 開啓 MAX APP
4. 點錢包,選 TWD
5. 看到那個"入金"就給它按下去。
6. 依畫面上的資料透過 ATM 或網路銀行轉帳,若金額過大建議用網路銀行,不然 ATM 每天只能轉3萬而已。
7. 比特幣的波動頗大,看到喜歡的價格就下手吧!
8. 當然,喬了好幾天對方一定會告訴您 "This is wallet : blablabla....",按下"提領",輸入提領地址及數量,記得提領數量要加上手續費,不然對方收到的比特幣會不足額!
9. 過一段時間(個人經驗約2~3小時)後確認交易成功。
# 解密程序
10. 回個信讓對方確認一下,不久對方就會要求你寄 ID (勒索畫面上那個 YOUR PERSONAL ID 之後的那一大串) 及 Appolon file (被加密過的樣本檔案) 給他。
11. 收到雲端硬碟的網址後下載解密工具,最後在命令提示字元下執行解密工具,接著就等它慢慢解密完成!!
漢堡堡大叔的Blog
2019年10月11日 星期五
2015年4月16日 星期四
[MobileWeb]網路掛號Prototype-3(jsonp、HTML5 localStorage)
我們把localStorage當成profile的暫存區,可以有效減少網路的傳輸次數,以下只是簡單的範例~
1.模擬遠端資料(jsonp)
JavaScript
JavaScript
JavaScript
JavaScript
";
}
_targetList.html(markup).listview({
autodividers: true,
autodividersSelector: function ( li ) {
return li.data("時段");
}
}).listview("refresh");
}
}
※ 原始碼及執行預覽(jsFiddle): http://jsfiddle.net/L8su2/810/
參考資料
[1] Create a CRUD web app using JQuery Mobile and LocalStorage
1.模擬遠端資料(jsonp)
JavaScript
function simRemoteData()
{
var remoteData = [
{"醫師": "柯X哲", "科別": "外科", "時段": "上午(08:30~11:30)"},
{"醫師": "邱X逹", "科別": "外科", "時段": "下午(13:30~17:00)"},
{"醫師": "沈X雄", "科別": "內科", "時段": "上午(08:30~11:30)"},
{"醫師": "賴X德", "科別": "內科", "時段": "上午(08:30~11:30)"},
{"醫師": "柯X銘", "科別": "牙科", "時段": "上午(08:30~11:30)"},
{"醫師": "涂X哲", "科別": "內科", "時段": "夜診(08:30~11:30)"}
];
var remoteJsonpData = { jsonData: JSON.stringify(remoteData), delay: 3 };
return remoteJsonpData;
}
2.接收遠端資料(jsonp)並存入本地端 Local Storage(HTML5)
JavaScript
function getRemoteData()
{
$.ajax({
type: "GET",
url: "//jsfiddle.net/echo/jsonp/",
dataType: "jsonp",
data: simRemoteData(),
cache: false,
error: function (jqXHR, textStatus, errorThrown) {
console.log(textStatus + " - " + errorThrown);
},
success: function (data, textStatus, jqXHR) {
console.log(textStatus + " - " + data);
var jsonData = JSON.parse(data.jsonData);
if (jsonData) {
localStorage.查詣資料 = JSON.stringify(jsonData);
var _targetList = $("#查詢時間List");
var _jsonData = getLocalData();
display查詣資料Data(_targetList, _jsonData);
}
}
});
}
3.取得本地端 Local Storage(HTML5)資料
JavaScript
function getLocalData()
{
var jsonData = localStorage.查詣資料;
if (!jsonData){
jsonData = {};
localStorage.查詣資料 = JSON.stringify(jsonData);
} else {
jsonData = JSON.parse(jsonData);
}
return jsonData;
}
4.顯示"查詣資料"頁面資料
JavaScript
function display查詣資料Data(_targetList, _jsonData)
{
if (_jsonData) {
var markup = "";
var dataLength = _jsonData.length;
for (var i = 0; i < dataLength; i++) {
markup += "
" + _jsonData[i].醫師 + "
" + _jsonData[i].科別 + "※ 原始碼及執行預覽(jsFiddle): http://jsfiddle.net/L8su2/810/
參考資料
[1] Create a CRUD web app using JQuery Mobile and LocalStorage
2015年3月18日 星期三
[PaaS]試用 OpenShift 平台-4(嘗試建立可以運作 Mono 的 nginx 平台~結果失敗!)
四、嘗試建立可以運作 Mono 的 nginx 平台~結果失敗!
4.1. 建立 DIY/Custom 的虛擬主機
rhc create-app myapp2 diy-0.1
4.2. 切換至 ssh 模式
cd myapp2
rhc ssh
4.3. 切換目錄至 $OPENSHIFT_DATA_DIR
cd $OPENSHIFT_DATA_DIR
4.4. 下載 Nginx 及 PCRE library 的壓縮檔
(Perl Compatible Regular Expressions)
wget http://nginx.org/download/nginx-1.6.2.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
4.5. 解壓縮
tar zxvf nginx-1.6.2.tar.gz
tar zxvf pcre-8.36.tar.gz
4.6. 切換目錄至 nginx
cd nginx-1.6.2
4.7. 安裝及編譯 nginx
./configure --with-pcre=$OPENSHIFT_DATA_DIR/pcre-8.36 --prefix=$OPENSHIFT_DATA_DIR/nginx --with-http_realip_module
make
make install
4.8. 設定 nginx
vi $OPENSHIFT_DATA_DIR/nginx/conf/nginx.conf
修改 listen 為 $OPENSHIFT_IP:$OPENSHIFT_PORT
複製 template
mv nginx.conf nginx.conf.template
4.9. 最後的調整(自動的重啓程式)
離開 ssh session
修改 .openshift/action_hooks/start
註解原有的設定
# nohup $OPENSHIFT_REPO_DIR/diy/testrubyserver.rb $OPENSHIFT_DIY_IP $OPENSHIFT_REPO_DIR/diy |& /usr/bin/logshifter -tag diy &
增加以下的設定
sed -e "s/`echo '$OPENSHIFT_IP:$OPENSHIFT_PORT'`/`echo $OPENSHIFT_DIY_IP:$OPENSHIFT_DIY_PORT`/" $OPENSHIFT_DATA_DIR/nginx/conf/nginx.conf.template > $OPENSHIFT_DATA_DIR/nginx/conf/nginx.conf
nohup $OPENSHIFT_DATA_DIR/nginx/sbin/nginx > $OPENSHIFT_DIY_LOG_DIR/server.log 2>&1 &
更新設定
git commit -a -m "start nginx when starting up the app"
git push
4.10. 測試
http://myapp2-bobohan.rhcloud.com
可利用 "rhc tail -a myapp2" 來除錯
4.11. 下載 Mono 的壓縮檔
wget http://download.mono-project.com/sources/mono/mono-3.12.1.tar.bz2
4.12. 解壓縮
tar jxvf mono-3.12.1.tar.bz2
4.13. 切換目錄至 mono
cd mono-3.12.1
4.14. 安裝及編譯 Mono
./configure --prefix=$OPENSHIFT_DATA_DIR/mono
make 跟 make install 的過程中皆有錯誤訊息
4.15. 替代方案
由於 OpenShift 平台因為權限的限制,無法用 RPM 的方式來安裝軟體,所以都要用以下的方式來安裝:
wget + extract + configure + make + make install
但是 nginx 成功但 Mono 就失敗!若你只是單純想要建立一個可以運作 Mono 的虛擬主機,可以使用網路上神人所分享的 cartridge,可以使用以下指令建立:
rhc create-app myapp3 https://raw.github.com/wshearn/openshift-community-cartridge-mono/3.2.1-aspx/metadata/manifest.yml
參考資料
[1] Installing the OpenShift Client Tools
[2] Getting Started with MongoDB on Node.js on OpenShift
[3] Running Nginx on OpenShift
[4] 《OPENSHIFT》可綁網址、無限流免費雲端主機
[5] 在 OpenShift 上部署 MongoDB 和 Node.js 应用
[6] OpenShift安裝Nginx+MYSQL+PHP5.4
[7] Nginx | Mono
[8] Compiling Mono on Linux
[9] Getting Started with OpenShift and Mono
4.1. 建立 DIY/Custom 的虛擬主機
rhc create-app myapp2 diy-0.1
4.2. 切換至 ssh 模式
cd myapp2
rhc ssh
4.3. 切換目錄至 $OPENSHIFT_DATA_DIR
cd $OPENSHIFT_DATA_DIR
4.4. 下載 Nginx 及 PCRE library 的壓縮檔
(Perl Compatible Regular Expressions)
wget http://nginx.org/download/nginx-1.6.2.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
4.5. 解壓縮
tar zxvf nginx-1.6.2.tar.gz
tar zxvf pcre-8.36.tar.gz
4.6. 切換目錄至 nginx
cd nginx-1.6.2
4.7. 安裝及編譯 nginx
./configure --with-pcre=$OPENSHIFT_DATA_DIR/pcre-8.36 --prefix=$OPENSHIFT_DATA_DIR/nginx --with-http_realip_module
make
make install
4.8. 設定 nginx
vi $OPENSHIFT_DATA_DIR/nginx/conf/nginx.conf
修改 listen 為 $OPENSHIFT_IP:$OPENSHIFT_PORT
複製 template
mv nginx.conf nginx.conf.template
4.9. 最後的調整(自動的重啓程式)
離開 ssh session
修改 .openshift/action_hooks/start
註解原有的設定
# nohup $OPENSHIFT_REPO_DIR/diy/testrubyserver.rb $OPENSHIFT_DIY_IP $OPENSHIFT_REPO_DIR/diy |& /usr/bin/logshifter -tag diy &
增加以下的設定
sed -e "s/`echo '$OPENSHIFT_IP:$OPENSHIFT_PORT'`/`echo $OPENSHIFT_DIY_IP:$OPENSHIFT_DIY_PORT`/" $OPENSHIFT_DATA_DIR/nginx/conf/nginx.conf.template > $OPENSHIFT_DATA_DIR/nginx/conf/nginx.conf
nohup $OPENSHIFT_DATA_DIR/nginx/sbin/nginx > $OPENSHIFT_DIY_LOG_DIR/server.log 2>&1 &
更新設定
git commit -a -m "start nginx when starting up the app"
git push
4.10. 測試
http://myapp2-bobohan.rhcloud.com
可利用 "rhc tail -a myapp2" 來除錯
4.11. 下載 Mono 的壓縮檔
wget http://download.mono-project.com/sources/mono/mono-3.12.1.tar.bz2
4.12. 解壓縮
tar jxvf mono-3.12.1.tar.bz2
4.13. 切換目錄至 mono
cd mono-3.12.1
4.14. 安裝及編譯 Mono
./configure --prefix=$OPENSHIFT_DATA_DIR/mono
make 跟 make install 的過程中皆有錯誤訊息
4.15. 替代方案
由於 OpenShift 平台因為權限的限制,無法用 RPM 的方式來安裝軟體,所以都要用以下的方式來安裝:
wget + extract + configure + make + make install
但是 nginx 成功但 Mono 就失敗!若你只是單純想要建立一個可以運作 Mono 的虛擬主機,可以使用網路上神人所分享的 cartridge,可以使用以下指令建立:
rhc create-app myapp3 https://raw.github.com/wshearn/openshift-community-cartridge-mono/3.2.1-aspx/metadata/manifest.yml
參考資料
[1] Installing the OpenShift Client Tools
[2] Getting Started with MongoDB on Node.js on OpenShift
[3] Running Nginx on OpenShift
[4] 《OPENSHIFT》可綁網址、無限流免費雲端主機
[5] 在 OpenShift 上部署 MongoDB 和 Node.js 应用
[6] OpenShift安裝Nginx+MYSQL+PHP5.4
[7] Nginx | Mono
[8] Compiling Mono on Linux
[9] Getting Started with OpenShift and Mono
2014年12月31日 星期三
[PaaS]試用 OpenShift 平台-3(安裝 MongoDB 及其前端網頁管理工具 RockMongo)
三、安裝 MongoDB 及其前端網頁管理工具 RockMongo
3.1. 安裝 MongoDB
cd myapp1
rhc cartridge add mongodb-2.4
3.2. 安裝 MongoDB 的前端網頁管理工具 RockMongo
rhc cartridge add rockmongo-1.1
若不想背太多指令,可以透過Web介面來做設定
3.3. 測試一下
3.3.1. rhc ssh
3.3.2. mongo
3.3.3. use myapp1(切換資料庫)
3.3.4. var icd10cm = {"action":"I", "code":"A", "pre":"", "content":"感染和寄生蟲疾病 Certain infectious and parasitic diseases", "quest":"Q:哪種類型?"};
3.3.5. db.icd10cm.insert(icd10cm );
3.3.6. db.icd10cm.find();
3.3.7. 安裝 mongojs
npm install mongojs
3.3.8. 修改 server.js,增加"路由"程式碼
在 self.createRoutes 的 function 中增加以下的程式碼
3.3.9. 提交程式碼
git add .
git status
git commit -a -m "Add mongojs to node.js"
git push
3.3.10. 輸入網址測試資料回傳
http://myapp1-bobohan.rhcloud.com/db
參考資料
[1] Installing the OpenShift Client Tools
[2] Getting Started with MongoDB on Node.js on OpenShift
[3] Running Nginx on OpenShift
[4] 《OPENSHIFT》可綁網址、無限流免費雲端主機
[5] 在 OpenShift 上部署 MongoDB 和 Node.js 应用
[6] OpenShift安裝Nginx+MYSQL+PHP5.4
3.1. 安裝 MongoDB
cd myapp1
rhc cartridge add mongodb-2.4
3.2. 安裝 MongoDB 的前端網頁管理工具 RockMongo
rhc cartridge add rockmongo-1.1
若不想背太多指令,可以透過Web介面來做設定
3.3. 測試一下
3.3.1. rhc ssh
3.3.2. mongo
3.3.3. use myapp1(切換資料庫)
3.3.4. var icd10cm = {"action":"I", "code":"A", "pre":"", "content":"感染和寄生蟲疾病 Certain infectious and parasitic diseases", "quest":"Q:哪種類型?"};
3.3.5. db.icd10cm.insert(icd10cm );
3.3.6. db.icd10cm.find();
3.3.7. 安裝 mongojs
npm install mongojs
3.3.8. 修改 server.js,增加"路由"程式碼
在 self.createRoutes 的 function 中增加以下的程式碼
self.routes['/db'] = function(req, res) {
var mongojs = require('mongojs');
var mydb = "myapp1";
var mycollection = "icd10cm";
var connectionString = process.env.OPENSHIFT_MONGODB_DB_USERNAME
":"
process.env.OPENSHIFT_MONGODB_DB_PASSWORD
"@"
process.env.OPENSHIFT_MONGODB_DB_HOST
"/"
mydb;
var db = mongojs(connectionString, ['icd10cm']);
var mycollection = db.collection('icd10cm');
db.icd10cm.find(function(err, docs) {
res.send(docs);
});
};
3.3.9. 提交程式碼
git add .
git status
git commit -a -m "Add mongojs to node.js"
git push
3.3.10. 輸入網址測試資料回傳
http://myapp1-bobohan.rhcloud.com/db
參考資料
[1] Installing the OpenShift Client Tools
[2] Getting Started with MongoDB on Node.js on OpenShift
[3] Running Nginx on OpenShift
[4] 《OPENSHIFT》可綁網址、無限流免費雲端主機
[5] 在 OpenShift 上部署 MongoDB 和 Node.js 应用
[6] OpenShift安裝Nginx+MYSQL+PHP5.4
2014年12月21日 星期日
健保e化抽審-4(PDF加入浮水印)
怕有日後資料外流不易追查,進而引發不必要的資安議題(申請單都消化不完了,還要搞這個),所以還是小心點好,在PDF檔裡加入浮水印好了,避免有心人傳來傳去。
必要時還可以加入當初使用者是誰,方便源頭的追蹤管理。
[1] Adding Watermark to PDF Document using Layer
[2] Nested using statements in C#
private void button19_Click(object sender, EventArgs e)
{
string fontPath = Environment.GetFolderPath(Environment.SpecialFolder.System) @"\..\Fonts\kaiu.ttf";
BaseFont bfChinese = BaseFont.CreateFont(fontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
string fileBefore = @"C:\temp\fileBefore.pdf";
string fileAfter = @"C:\temp\fileAfter.pdf";
// Creating iTextSharp.text.pdf.PdfReader object to read the Existing PDF Document
using (PdfReader reader = new PdfReader(fileBefore))
// Creating iTextSharp.text.pdf.PdfStamper object to write Data from iTextSharp.text.pdf.PdfReader object to FileStream object
using (FileStream fs = new FileStream(fileAfter, FileMode.Create, FileAccess.Write, FileShare.None))
using (PdfStamper stamper = new PdfStamper(reader, fs))
{
// Getting total number of pages of the Existing Document
int pageCount = reader.NumberOfPages;
// Create New Layer for Watermark
PdfLayer layer = new PdfLayer("WatermarkLayer", stamper.Writer);
// Loop through each Page
for (int pageNum = 1; pageNum <= pageCount; pageNum )
{
// Getting the Page Size
iTextSharp.text.Rectangle rect = reader.GetPageSize(pageNum);
// Get the ContentByte object
PdfContentByte cb = stamper.GetUnderContent(pageNum);
// Tell the cb that the next commands should be "bound" to this new layer
cb.BeginLayer(layer);
cb.SetFontAndSize(bfChinese, 50);
cb.SetColorFill(BaseColor.BLACK);
PdfGState gState = new PdfGState();
gState.FillOpacity = 0.25f;
cb.SetGState(gState);
cb.BeginText();
cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "僅供健保e化抽審使用", rect.Width / 2, rect.Height / 2, 45f);
cb.EndText();
// Close the layer
cb.EndLayer();
}
}
}
參考資料[1] Adding Watermark to PDF Document using Layer
[2] Nested using statements in C#
2014年12月11日 星期四
[PaaS]試用 OpenShift 平台-2(建立可以運作 Node.js 的平台及設定 FTP)
二、建立可以運作 Node.js 的平台(PaaS)及設定 FTP
2.1. 建立可以運作 Node.js 的平台(PaaS)
2.1.1. rhc create-app myapp1 nodejs-0.10
2.1.2. 輸入"rhc ssh"連線到遠端,並測試一下「hello, world」
2.2. 測試Git
2.2.1. 建立測試檔案
echo console.log('hello, world'); > helloworld.js
2.2.2. 檢查目前 Repository 狀態
git status
2.2.3. 將測試檔案加入 Repository
git add helloworld.js
2.2.4. 提交檔案
git commit -m "Add helloworld.js to test git and node.js"
or
git commit -a -m "Add helloworld.js to test git and node.js"
2.2.5. 上傳檔案
git push
PS: 若遇到 "git push error failed to push some refs to" 的問題
請先輸入 "git pull --rebase"
2.3. 設定FTP
2.3.1. 使用 Putty Key Generator 產生公鑰及私鑰
2.3.2. 於 OpenShift 設定 Public Keys 及 Remote Access
2.3.3. 於 FileZilla 加入 SFTP 私鑰檔案設定
2.3.4. 於 FileZilla 加入主機設定(Host、Logon Type、User)
2.3.5. 連線測試一下,OK
參考資料
[1] Installing the OpenShift Client Tools
[2] Getting Started with MongoDB on Node.js on OpenShift
[3] Running Nginx on OpenShift
[4] 《OPENSHIFT》可綁網址、無限流免費雲端主機
[5] 在 OpenShift 上部署 MongoDB 和 Node.js 应用
[6] OpenShift安裝Nginx+MYSQL+PHP5.4
2.1. 建立可以運作 Node.js 的平台(PaaS)
2.1.1. rhc create-app myapp1 nodejs-0.10
2.1.2. 輸入"rhc ssh"連線到遠端,並測試一下「hello, world」
2.2. 測試Git
2.2.1. 建立測試檔案
echo console.log('hello, world'); > helloworld.js
2.2.2. 檢查目前 Repository 狀態
git status
2.2.3. 將測試檔案加入 Repository
git add helloworld.js
2.2.4. 提交檔案
git commit -m "Add helloworld.js to test git and node.js"
or
git commit -a -m "Add helloworld.js to test git and node.js"
2.2.5. 上傳檔案
git push
PS: 若遇到 "git push error failed to push some refs to" 的問題
請先輸入 "git pull --rebase"
2.3. 設定FTP
2.3.1. 使用 Putty Key Generator 產生公鑰及私鑰
2.3.2. 於 OpenShift 設定 Public Keys 及 Remote Access
2.3.3. 於 FileZilla 加入 SFTP 私鑰檔案設定
2.3.4. 於 FileZilla 加入主機設定(Host、Logon Type、User)
2.3.5. 連線測試一下,OK
參考資料
[1] Installing the OpenShift Client Tools
[2] Getting Started with MongoDB on Node.js on OpenShift
[3] Running Nginx on OpenShift
[4] 《OPENSHIFT》可綁網址、無限流免費雲端主機
[5] 在 OpenShift 上部署 MongoDB 和 Node.js 应用
[6] OpenShift安裝Nginx+MYSQL+PHP5.4
[PaaS]試用 OpenShift 平台-1(安裝 OpenShift Client 端工具)
一、安裝 OpenShift Client 端工具
1.1. 設定 OpenShift 的 Windows 環境
1.1.1. 安裝 rubyinstaller-1.9.3-p551.exe,記得要將設定Path勾選進來
1.1.2. 測試一下,輸入ruby -v
1.1.3. 安裝 Git,順便驗證版本
1.1.4. 安裝及設定 OpenShift gem
gem install rhc
rhc setup,並輸入帳號/密碼
參考資料
[1] Installing the OpenShift Client Tools
[2] Getting Started with MongoDB on Node.js on OpenShift
[3] Running Nginx on OpenShift
[4] 《OPENSHIFT》可綁網址、無限流免費雲端主機
[5] 在 OpenShift 上部署 MongoDB 和 Node.js 应用
[6] OpenShift安裝Nginx+MYSQL+PHP5.4
1.1. 設定 OpenShift 的 Windows 環境
1.1.1. 安裝 rubyinstaller-1.9.3-p551.exe,記得要將設定Path勾選進來
1.1.2. 測試一下,輸入ruby -v
1.1.3. 安裝 Git,順便驗證版本
1.1.4. 安裝及設定 OpenShift gem
gem install rhc
rhc setup,並輸入帳號/密碼
參考資料
[1] Installing the OpenShift Client Tools
[2] Getting Started with MongoDB on Node.js on OpenShift
[3] Running Nginx on OpenShift
[4] 《OPENSHIFT》可綁網址、無限流免費雲端主機
[5] 在 OpenShift 上部署 MongoDB 和 Node.js 应用
[6] OpenShift安裝Nginx+MYSQL+PHP5.4
訂閱:
文章 (Atom)






























