在od破解軟件過(guò)程中,大家對(duì)于字符串應(yīng)該是再熟悉不過(guò)了,但是往往事情不盡如人意,總是搜索不到想要的字符串,這時(shí)往往有的人會(huì)被迫用別的方法,消息斷點(diǎn),內(nèi)存斷點(diǎn),硬件斷點(diǎn)等等,今天咱們只談字符串,把我所掌握的查找字符串的步驟都總結(jié)到這里,當(dāng)然,本人水平有限,難免有不足和紕漏的地方,還請(qǐng)指正。也正是因?yàn)樗接邢,隨著知識(shí)的積累,這篇文章也會(huì)不定期添加新的發(fā)現(xiàn)。(以下是一步一步按照從無(wú)腦查找方法到一些另類(lèi)方法)
當(dāng)載入od后,自然會(huì)想到中文搜索引擎的智能搜索
如果沒(méi)找到:
這時(shí)會(huì)想到,也許是加殼的原因
1:脫殼;
2:直接f9;
3:外面打開(kāi),od拖入 經(jīng)過(guò)這3種方法,也許就能找到,當(dāng)然前提是要在程序領(lǐng)空在搜索,例如401000
如果還沒(méi)找到:
嘗試ctrl+A分析一下,然后再智能搜索
如果還沒(méi)找到:
嘗試用去花插件如E junk code去花之后再搜索
如果還沒(méi)找到:
這時(shí)多數(shù)人會(huì)想到,用Alt+M
然后ctrl+b:ascii和unicode各搜一次,很多朋友不知道如果搜到了該怎么處理呢?
1:在搜到的地址下內(nèi)存訪問(wèn)斷點(diǎn)
2:在搜到的地址下硬件訪問(wèn)斷點(diǎn)
3:在反匯編窗口搜索命令:push + 內(nèi)存中搜到的地址
4:在反匯編窗口搜索常量:內(nèi)存中搜到的地址
5:在反匯編窗口ctrl+B搜索:內(nèi)存中搜到的地址(這里要注意用小端的方式)
如果還沒(méi)找到:
Alt+E:看看會(huì)不會(huì)在某個(gè)敏感的dll中,去dll中重復(fù)以上操作
如果還沒(méi)找到:
嘗試用資源工具:例如ResHacker,查找,搜索文本,查到了你也許會(huì)看到這種形式:2076,“這是你要找的字符串”,記下這個(gè)編號(hào)2076,去od反匯編窗口搜索常量十進(jìn)制的2076或者搜索命令:push 81c (2076的Hex)
如果還沒(méi)找到:
嘗試用CE工具查找:
如果還沒(méi)找到:
我曾經(jīng)遇到過(guò)一個(gè)軟件,軟件是中文的,我要搜索的字符串是:“注冊(cè)”,怎么搜都搜不到,以外的發(fā)現(xiàn)安裝目錄里面有個(gè)language文件夾,里面有個(gè)ini文件,格式是這樣的:
registered:“注冊(cè)”。此時(shí)就需要搜索“registered”了
如果還沒(méi)找到:
嘗試智能搜索字符串的ascii或者unicode或者base64
如果再找不到,那就有可能目標(biāo)是圖片或者加密了,恐怕只能放棄字符串這個(gè)方向了,由于這個(gè)主題只講字符串,以上就是我所掌握的所有有關(guān)字符串的找法,水平有限,難免有考慮不周或有所紕漏,還請(qǐng)大家在評(píng)論中多多指正。今后發(fā)現(xiàn)更好的方法還會(huì)添加在這里。
|