1. 程式人生 > >談談字符串那點事

談談字符串那點事

沒有 register 用戶 今後 過程 破解 插件 運行 tro

在od破解軟件過程中,大家對於字符串應該是再熟悉不過了,但是往往事情不盡如人意,總是搜索不到想要的字符串,這時往往有的人會被迫用別的方法,消息斷點,內存斷點,硬件斷點等等,今天咱們只談字符串,把我所掌握的查找字符串的步驟都總結到這裏,當然,本人水平有限,難免有不足和紕漏的地方,還請指正。也正是因為水平有限,隨著知識的積累,這篇文章也會不定期添加新的發現。(以下是一步一步按照從無腦查找方法到一些另類方法)
當載入od後,自然會想到中文搜索引擎的智能搜索
如果沒找到:

這時會想到,也許是加殼的原因

1:脫殼

2:直接f9

3:外面打開,od拖入

經過這3種方法,也許就能找到,當然前提是要在程序領空在搜索,例如401000

如果還沒找到:

嘗試ctrl+A分析一下,然後再智能搜索

如果還沒找到:

嘗試用去花插件如E junk code去花之後再搜索

技術分享

如果還沒找到:

這時多數人會想到,用Alt+M

然後ctrl+b:ascii和unicode各搜一次,很多朋友不知道如果搜到了該怎麽處理呢?

1:在搜到的地址下內存訪問斷點

2:在搜到的地址下硬件訪問斷點

3:在反匯編窗口搜索命令push + 內存中搜到的地址

4:在反匯編窗口搜索常量:內存中搜到的地址


5:在反匯編窗口ctrl+B搜索:內存中搜到的地址(這裏要註意用小端的方式)

如果還沒找到:
Alt+E:看看會不會在某個敏感的dll中,去dll中重復以上操作

如果還沒找到:

嘗試用資源工具:例如ResHacker,查找,搜索文本,查到了你也許會看到這種形式:2076,“這是你要找的字符串”,記下這個編號2076,去od反匯編窗口搜索常量十進制的2076或者搜索命令:push 81c (2076的Hex)

技術分享

如果還沒找到:

嘗試用CE工具查找:

技術分享

如果還沒找到:

我曾經遇到過一個軟件,軟件是中文的,我要搜索的字符串是:“註冊”,怎麽搜都搜不到,以外的發現安裝目錄裏面有個language文件夾,裏面有個ini文件,格式是這樣的:

registered:“註冊”。此時就需要搜索“registered”了

如果還沒找到:

嘗試智能搜索字符串的ascii或者unicode或者base64

技術分享

2017.5.11日更新:
今天在做易語言逆向的時候,怎麽都搜不出字符串,反復百度,找到了一個方法。
先用e debug events調試,看什麽事件發生,記下地址,下斷,f9,然後再字符串搜索就行了(這程序比較變態,如果直接運行起來程序是幾個沒有字符串的)

2017.5.27日更新:

數據約束性的秘訣:如果註冊碼在程序運行過程中存在明文的話,多數情況下其地址會在一定的範圍內,即:用戶輸入假註冊碼地址的±90個字節處

如果再找不到,那就有可能目標是圖片或者加密了,恐怕只能放棄字符串這個方向了,由於這個主題只講字符串,以上就是本人所掌握的所有有關字符串的找法,水平有限,難免有考慮不周或有所紕漏,還請大家在評論中多多指正。今後發現更好的方法還會添加在這裏。

談談字符串那點事