2018年12月27日 星期四
Wow6432 檢查 作業系統的位元數
32-bits、64-bits 作業系統的 Registry 注意事項
在 64-bits 的作業系統下執行 32-bits 的應用程式時,若需要寫入 Registry 時,會發現機碼被作業系統預設寫入 Wow6432Node 的目錄底下,不論是 HKEY_CURRENT_USER 還是 HKEY_LOCAL_MACHINE 皆相同。
在 HKEY_CURRENT_USER\Software\ 底下寫入機碼就會預設出現在 HKEY_CURRENT_USER\Software\Wow6432Node\ 的同樣位置
同理在 HKEY_LOCAL_MACHINE\SOFTWARE\ 底下寫入機碼,就會出現在 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ 底下相同的位置
位置不變,只是多了一層 Wow6432Node 的資料夾,這是為了做 32-bits 應用程式與 64-bits 作業系統的對應而產生的結果。
其實一般來說不太需要特別注意這件事,應用程式的寫作上以原本的路徑在讀寫就行了,要不要指向 Wow6432Node 完全由作業系統來決定,但是有些例外,如果某些值作業系統只會去參考在原本的非 Wow6432Node 路徑下時,而這個值被寫到 Wow6432Node 的位置下就沒辦法發揮預期的效果了,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\ 就是一個例子,如果有一個 32-bits 的應用程式在此處寫入機碼,依前面所言,會被寫到 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\\Microsoft\Windows\Windows Error Reporting\LocalDumps\ 裡面,而這樣是無效的,因為作業系統只會參考原本非 Wow6432Node 底下的機碼。
所以我們可加入一個新的參數,指定 32-bits 的應用程式在 64-bits 的作業系統下建立、讀取、寫入機碼時,不要在 Wow6432Node 下執行,而是在原本的位置做寫入,可以參考 MSDN 的說明:Accessing an Alternate Registry View
參數分別為 KEY_WOW64_64KEY:Access a 64-bit key from either a 32-bit or 64-bit application.
與 KEY_WOW64_32KEY:Access a 32-bit key from either a 32-bit or 64-bit application.
以 RegCreateKeyEx 作示範就像這樣
if (ERROR_SUCCESS != RegCreateKeyEx(HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Windows\\Windows Error Reporting\\LocalDumps\\MyApp.exe"), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE|KEY_WOW64_64KEY, NULL, &hKey, &disp))
{
return;
}
如此 MyApp.exe 這個機碼就不會出現在 Wow6432Node 底下,而是正常 64-bits 作業系統該放的 Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\ 位置底下
原文
http://ascii-iicsa.blogspot.com/2013/06/32-bits64-bits-registry.html
在 64-bits 的作業系統下執行 32-bits 的應用程式時,若需要寫入 Registry 時,會發現機碼被作業系統預設寫入 Wow6432Node 的目錄底下,不論是 HKEY_CURRENT_USER 還是 HKEY_LOCAL_MACHINE 皆相同。
在 HKEY_CURRENT_USER\Software\ 底下寫入機碼就會預設出現在 HKEY_CURRENT_USER\Software\Wow6432Node\ 的同樣位置
同理在 HKEY_LOCAL_MACHINE\SOFTWARE\ 底下寫入機碼,就會出現在 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ 底下相同的位置
位置不變,只是多了一層 Wow6432Node 的資料夾,這是為了做 32-bits 應用程式與 64-bits 作業系統的對應而產生的結果。
其實一般來說不太需要特別注意這件事,應用程式的寫作上以原本的路徑在讀寫就行了,要不要指向 Wow6432Node 完全由作業系統來決定,但是有些例外,如果某些值作業系統只會去參考在原本的非 Wow6432Node 路徑下時,而這個值被寫到 Wow6432Node 的位置下就沒辦法發揮預期的效果了,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\ 就是一個例子,如果有一個 32-bits 的應用程式在此處寫入機碼,依前面所言,會被寫到 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\\Microsoft\Windows\Windows Error Reporting\LocalDumps\ 裡面,而這樣是無效的,因為作業系統只會參考原本非 Wow6432Node 底下的機碼。
所以我們可加入一個新的參數,指定 32-bits 的應用程式在 64-bits 的作業系統下建立、讀取、寫入機碼時,不要在 Wow6432Node 下執行,而是在原本的位置做寫入,可以參考 MSDN 的說明:Accessing an Alternate Registry View
參數分別為 KEY_WOW64_64KEY:Access a 64-bit key from either a 32-bit or 64-bit application.
與 KEY_WOW64_32KEY:Access a 32-bit key from either a 32-bit or 64-bit application.
以 RegCreateKeyEx 作示範就像這樣
if (ERROR_SUCCESS != RegCreateKeyEx(HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Windows\\Windows Error Reporting\\LocalDumps\\MyApp.exe"), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE|KEY_WOW64_64KEY, NULL, &hKey, &disp))
{
return;
}
如此 MyApp.exe 這個機碼就不會出現在 Wow6432Node 底下,而是正常 64-bits 作業系統該放的 Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\ 位置底下
原文
http://ascii-iicsa.blogspot.com/2013/06/32-bits64-bits-registry.html
2018年5月16日 星期三
Some basic method to check program installed data and time
For Windows Operating System
1. check the Regedit informaiton
2. check Some other information
1. check the Regedit informaiton
2. check Some other information
2018年4月16日 星期一
Digital Forensics How to analysis the TeamViewer Log
數位鑑識
關於 TeamViewer 的鑑識方法
(1)TeamViewer 安裝時間日期。
(2)TeamViewer 連線紀錄。
(3)TeamViewer 連線過程中,對方做了哪些事情 。
(4)TeamViewer 連線過程中 的 重要的 Log 資訊。
The following is My personal proposal to solve the above questions
關於 TeamViewer 的鑑識方法
(1)TeamViewer 安裝時間日期。
(2)TeamViewer 連線紀錄。
(3)TeamViewer 連線過程中,對方做了哪些事情 。
(4)TeamViewer 連線過程中 的 重要的 Log 資訊。
The following is My personal proposal to solve the above questions
2018年3月24日 星期六
using VboxManage convert dd to vmdk or vdi file
https://blog.sleeplessbeastie.eu/2012/04/29/virtualbox-convert-raw-image-to-vdi-and-otherwise/
Let's assume that we have raw image of the sdb device:
$ sudo dd if=/dev/sdb of=./sdb.raw
To use it with VirtualBox we need to convert it to the VDI format:
$ VBoxManage convertdd sdb.raw sdb.vdi --format VDI
To use it with VMware we need to convert it to the VMDK format:
$ VBoxManage convertdd sdb.raw sdb.vmdk --format VMDK
Convert between VDI/VMDK formats:
$ VBoxManage clonehd sdb.vdi sdb.vmdk --format VMDK
$ VBoxManage clonehd sdb.vmdk sdb.vdi --format VDI
Convert to the RAW image:
$ VBoxManage clonehd sdb.vdi sdb.raw --format RAW
Alternative solution to get back raw image after applying modifications is to use qemu-img command from qemu package:
$ qemu-img convert -f vmdk sdb.vmdk -O raw sdb.raw
Now we can write image to the device:
$ sudo dd if=./sdb.raw of=/dev/sdb
Let's assume that we have raw image of the sdb device:
$ sudo dd if=/dev/sdb of=./sdb.raw
To use it with VirtualBox we need to convert it to the VDI format:
$ VBoxManage convertdd sdb.raw sdb.vdi --format VDI
To use it with VMware we need to convert it to the VMDK format:
$ VBoxManage convertdd sdb.raw sdb.vmdk --format VMDK
Convert between VDI/VMDK formats:
$ VBoxManage clonehd sdb.vdi sdb.vmdk --format VMDK
$ VBoxManage clonehd sdb.vmdk sdb.vdi --format VDI
Convert to the RAW image:
$ VBoxManage clonehd sdb.vdi sdb.raw --format RAW
Alternative solution to get back raw image after applying modifications is to use qemu-img command from qemu package:
$ qemu-img convert -f vmdk sdb.vmdk -O raw sdb.raw
Now we can write image to the device:
$ sudo dd if=./sdb.raw of=/dev/sdb
2018年3月15日 星期四
Digital Forensics on a Linux Machine
https://staff.washington.edu/dittrich/misc/forensics/
https://securitycommunity.tcs.com/infosecsoapbox/articles/2015/11/17/forensic-artifacts-linux-machine
http://www.linuxleo.com/Docs/linuxintro-LEFE-4.31.pdf
https://help.ubuntu.com/community/LinuxLogFiles
http://linux.vbird.org/linux_basic/0570syslog/0570syslog.php
==========================================
audit
http://yishidian.net/如何使用linux審核系統在centos-7
https://serverfault.com/questions/327846/convert-selinux-log-date-format-from-epoch-to-normal
==========================================
system log
https://www.cyut.edu.tw/~ywfan/netlab/20060912chapter11-log.htm
http://linux.vbird.org/linux_basic/0570syslog.php
====================================================
ngeix log
https://stackoverflow.com/questions/26780466/nginx-understanding-access-log-column
example
=================== maillog reading method =================
https://sendgrid.com/blog/delivered-bounced-blocked-and-deferred-emails-what-does-it-all-mean/
=====================understanding reading mail log ============
http://linuxmaza.blogspot.tw/2010/02/understanding-and-reading-mail-logs.html
==================bash introduction ==========================
https://beginlinux.wordpress.com/tag/bash_logout/
===================== Browser history on linux machine ==== chorome and firefox
https://askubuntu.com/questions/631631/getting-internet-browsing-history-from-shell
https://securitycommunity.tcs.com/infosecsoapbox/articles/2015/11/17/forensic-artifacts-linux-machine
http://www.linuxleo.com/Docs/linuxintro-LEFE-4.31.pdf
https://help.ubuntu.com/community/LinuxLogFiles
http://linux.vbird.org/linux_basic/0570syslog/0570syslog.php
==========================================
audit
http://yishidian.net/如何使用linux審核系統在centos-7
https://serverfault.com/questions/327846/convert-selinux-log-date-format-from-epoch-to-normal
==========================================
system log
https://www.cyut.edu.tw/~ywfan/netlab/20060912chapter11-log.htm
http://linux.vbird.org/linux_basic/0570syslog.php
====================================================
ngeix log
https://stackoverflow.com/questions/26780466/nginx-understanding-access-log-column
# nginx.conf
http {
...
log_format combined '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
}
example
66.249.65.159 - - [06/Nov/2014:19:10:38 +0600] "GET /news/53f8d72920ba2744fe873ebc.html HTTP/1.1" 404 177 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.65.3 - - [06/Nov/2014:19:11:24 +0600] "GET /?q=%E0%A6%AB%E0%A6%BE%E0%A7%9F%E0%A6%BE%E0%A6%B0 HTTP/1.1" 200 4223 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.65.62 - - [06/Nov/2014:19:12:14 +0600] "GET /?q=%E0%A6%A6%E0%A7%8B%E0%A7%9F%E0%A6%BE HTTP/1.1" 200 4356 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
=================== maillog reading method =================
https://sendgrid.com/blog/delivered-bounced-blocked-and-deferred-emails-what-does-it-all-mean/
=====================understanding reading mail log ============
http://linuxmaza.blogspot.tw/2010/02/understanding-and-reading-mail-logs.html
==================bash introduction ==========================
https://beginlinux.wordpress.com/tag/bash_logout/
===================== Browser history on linux machine ==== chorome and firefox
https://askubuntu.com/questions/631631/getting-internet-browsing-history-from-shell
2018年2月21日 星期三
資源回收桶中的 $I 和 $R 的存放位置
如提
Recycle Bin is located in a hidden directory named \$Recycle.Bin\%SID%, where %SID% is the SID of the user that performed the deletion.
tpye "document"
會秀出 document 內部的文件內容
Recycle Bin is located in a hidden directory named \$Recycle.Bin\%SID%, where %SID% is the SID of the user that performed the deletion.
tpye "document"
會秀出 document 內部的文件內容
訂閱:
文章 (Atom)