
我得到了一個由我們組織中的前編碼員處理的專案。它是一個基於 php 的應用程序,而且非常龐大(到處都有大量文件)。我試圖找到一個儲存在這個混亂中的某個地方的徽標,這樣我就可以用更新後的徽標(並且方向正確,由於某種原因被翻轉)替換它。
即使它被儲存為文件,我也不知道這是哪個文件。當我透過本機主機執行應用程式時,我唯一的參考是像這樣引用文件
data:image/png;base64,
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
RU5ErkJggg==
抱歉,我不知道如何使上述文件變小 - 但是的,這就是我需要更改為更新文件的文件。任何有關如何查找此文件和/或對其引用的幫助將不勝感激。
我使用的是 Ubuntu 14.04。
答案1
若要搜尋解碼後的圖像,請將其進行 base64 解碼為reference.png
和
for file in `find /your/app/root/path -iname "*png"`; do
if `cmp -s reference.png "$file"`; then
echo $file
fi
done
如果找不到它,它可能沒有後綴png
,所以不要-iname *png
簡單地使用-f
.但這可能需要一段時間。
未找到?透過grep
ing 尋找相關子字串來搜尋 Base64 編碼的圖像將花費更長的時間:
grep -rI "WrOWqDHKv135ghOXbgIwsnsn2ycnGRheh" /your/app/root/path
答案2
我猜測該圖像位於資料庫或實用程式/公共頁面中。在圖像所在的每個頁面上都會調用的東西。
我會尋找顯示該徽標的程式碼(PHP)。我還猜測它會在include(...)
orrequire(...)
文件中。尋找步驟:
- 在帶有圖像的編輯器中打開幾頁的源代碼。
- 尋找
<img
標籤。 Base64 資料圖像仍然需要該標籤。 - 從每個部分向後追溯
<img
,直到找到呈現徽標的程式碼。
如果幸運的話,會有一個關於如何更改它的評論區塊。這就是我會做的:]