支援Win7的星號密碼檢視器的實現

2021-06-19 11:02:41 字數 1305 閱讀 9663

支援win7的星號密碼檢視器的實現

支援win7的星號密碼檢視器的實現

星號密碼檢視器大家肯定不陌生吧,但是在win7下要想不用注入dll,不用windows鉤子的確有點困難,最近簡單了逆向了一下"win7星號密碼檢視器",終於把原理搞清楚了,希望發出來能對大家有幫助

大家都知道在本程序內呼叫wm_gettext和getwindowtext就能獲取密碼框的文字,而如果要跨程序wm_gettext和getwindowtext就不管用了

在xp我們可以這樣做,這也算微軟的乙個漏洞吧,沒有判斷是不是本程序傳送的em_setpasswordchar訊息

**:chpasschar = (tchar)sendmessage (hwndpoint, em_getpasswordchar, 0, 0);//

獲取密碼字元

sendmessage(hwndpoint, em_setpasswordchar, 0, 0);//

取消密碼屬性

sendmessage(hwndpoint, wm_gettext, sizeof(sztitle) / sizeof(tchar), (lparam)sztitle);//

獲取密碼文字

sendmessage(hwndpoint, em_setpasswordchar, 0, chpasschar);//

設定密碼字元

但在win7上,上面的**已經不能使用了,即使你用setwindowlong取消掉es_password樣式也行不通。雖然setwindowlong不行,我們還有其它方法,這也算微軟太馬虎的吧

事實證明只要文字框包含es_password樣式,setwindowlong就取消不了es_password,但setwindowword可以

**:dwstyle = getwindowlong(hwndpoint, gwl_style);//

獲取密碼框原來樣式

setwindowword(hwndpoint, gwl_style, 0);//

取消所有樣式

setwindowlong(hwndpoint, gwl_style, dwstyle & ~es_password);//

去掉密碼屬性

sendmessage(hwndpoint, wm_gettext, sizeof(sztitle) / sizeof(tchar), (lparam)sztitle);//

沒有了es_password屬性wm_gettext可以成功

setwindowlong(hwndpoint, gwl_style, dwstyle);//

還原密碼框原來樣式

win7更改路由器wifi 密碼

1.有線 無線都能進入192.168.1.1路由設定介面 也可能是192.168.0.1看路由底面ip ps 無線 筆記本與路由沒使用網線相連 情況下必須開啟wifi連線上該路由才能進入。無法連上路由 注意看上網設定 更改介面卡 處有沒有禁用 無線網路連線 wifi賬號 密碼是否正確。有線進入設定介...

再見Win7 記錄Win7系統的安裝

本人從事機器視覺開發,一直用win7系統。近日買了個膝上型電腦,惠普的暗夜精靈3plus,早聽說這個電腦不支援win7,但是我不信邪,偏要試試。從早上10點,收到電腦,到下午6點,各種嘗試,各種搜尋,最終得出乙個結論,真的不行。安裝不了win7.文章的附圖就是最後的狀態了,雖然能裝上,但是進系統就藍...

win10事件檢視器出現10016錯誤的解決辦法

該錯誤一般會重複出現在事件檢視器,嚴重的會導致系統卡死。以解決下列錯誤為例,給出步驟 注意記錄使用者 劃掉的部分 及要新增的許可權 本例為 本地啟用 許可權 2.右鍵該項,選擇 許可權 如下圖所示 3.在彈出的對話方塊中選擇 高階 點選 更改 更改所有者。所有者最好是當前登入的使用者,可以在彈出的對...