日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

破解可读不可复制的 U 盘

發布時間:2024/3/24 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 破解可读不可复制的 U 盘 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

特此聲明:本篇文章僅用于研究學習,請網友自覺,不能用于黑產。

有一種自我防護的 U 盤,只支持在 U 盤中打開查看,無法拷貝出來。對于一個熱愛自由的人來說,也許獲得里面的內容是件小事,但是打破這個規則,則是一件更有意思的事。

那么,先設定一個不以獲得內容為目的的目的:將 U 盤里面的文件拷貝出來。

通過觀察,發現幾個現象:

0.U 盤有登錄驗證機制。

1.輸入用戶名密碼在U盤自帶管理軟件中打開 U 盤后,文件視覺上可見,但復制,粘貼的系統快捷鍵無法使用了。

2.登錄驗證之前,無法在 cmd 中訪問 U 盤,文件加密狀態。

得到結論:U 盤里面的內容在登錄驗證通過之前是加密存放的,登錄成功后解密(估計是延遲解密的,因為 U 盤文件較大,如果在驗證成功后一次性將所有文件都解密,耗費時間必然較多而且并不一定會真正訪問所有文件)。打開U 盤后,U 盤管理程序向系統掛載了鍵盤鉤子,攔截了復制,粘貼鍵盤。進一步思考,必須要在登錄成功后,才有可能拿到解密后的文件。因此,我們必須打開 U 盤自帶的管理軟件登錄。

嘗試一

想一下在管理軟件中雙擊鼠標后,在 WPS 中可以正常地打開文件,說明,此時真正的文件流已經被發送給了 WPS,那么我們直接在 WPS 文件中復制出來不就可以了嗎?

然而卻發現 WPS 中,鼠標右鍵中的復制,或者復制組合鍵盤也被屏蔽了,“另存為”功能也被屏蔽了。猜測可能是 WPS 提供了接口對文檔進行保護(事實上,Office 也是這樣)。不想把問題轉化為與 WPS 的對抗賽,于是似乎只能再想辦法。

嘗試二

我們不能復制文件的原因是,復制快捷鍵被管理軟件攔截并內部消化了,沒有 post 到下一進程,解決思路是,將加入到系統中的鼠標鉤子移除掉,不攔截 ctrl+c 。這很簡單,只需要調用一個系統函數就可以了。

然而,這種方法沒有起作用,是沒有想周全。ctrl+c 原本是資源瀏覽器 (exeplorer.exe) 響應的鍵盤事件,也就是說,我們想在管理軟件中使用 ctrl+c 復制,這也得它響應了該事件才行啊!所以,我們把 ctrl+c 的鉤子移除掉,只是讓我們可以在資源瀏覽器中復制,并不能達到在U盤管理軟件中復制的目的。

嘗試三

如果文件流被傳遞給了 WPS ,那么,我們可以中途拿到文件流嗎?這可能需要去攔截進程,比較復雜。

受這個觀點的啟發,我們雖然不能攔截進程的數據,但是我們再造一個 WPS 替換掉 WPS 呢?這里說的再造一個,并非是真的寫出一個 WPS,我們只需要實現我們自己的功能:這個程序在拿到文件流后,立即寫文件,保存到我們系統中。

說到這兒,解決方法就很簡單了:寫一個程序,參數接受一個文件名,將這個文件 dump 到某個位置。之后,最關鍵的一步,將所有后綴為 .doc 的文件的默認打開方式設置為我們的這個程序。

確實,該方法起效果了,雙擊就可以復制想復制出來的文件!

這里其實還有研究,如何判斷,雙擊一個文件,傳給程序的是什么參數呢?是文件名,還是文件流?其實,僅略作思考就能得到答案:因為文件流(字節流)中可能會存在為 0 ?的字節,而程序接收輸入的,也就是 main 函數,其參數是 argv**, argc,沒有哪一個參數能說明字節流的長度,故,argv** 會被視作以 0 節尾的字符序列,而不是字節流。綜上,程序接收的參數只能是文件名了。

程序比較簡單,開源地址是:

https://github.com/juniorfans/copyOnClick


總結

以上是生活随笔為你收集整理的破解可读不可复制的 U 盘的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。