破解之關鍵CALL與關鍵跳尋找方法

來源:互聯網
上載者:User

標籤:http   c   一個   .net   和   5   

找關鍵CALL和關鍵跳

方法一:

輸入假碼註冊程式,記錄下錯誤提示資訊。

OD載入程式-->

右鍵-->尋找-->所有參考文本字串-->(右鍵-->尋找文本,註:不要區分大小寫,選擇整個範圍)找到上面記錄的錯誤提示文本

或:右鍵-->超級字串參考-->尋找ASCII碼/UNICODE->(右鍵-->尋找文本,註:不要區分大小寫,選擇整個範圍)找到上面記錄的錯誤提示文本

-->雙擊進去,關鍵CALL和關鍵跳就在其上面附近。一般在其上有提示註冊成功的文本資訊,在成功和失敗提示文本的上面有一個比較,比較下面有一個跳轉。在比較的上面的第一個CALL就是關鍵CALL了。

 

方法二:

OD載入程式-->F9運行程式-->輸入假碼註冊程式,確認,彈出錯誤提示框-->F12暫停程式運行--->ALT+K查看呼叫堆疊-->找到來自主程式的調用-->雙擊進去-->,關鍵CALL和關鍵跳就在其上面附近。一般在其上有提示註冊成功的文本資訊,在成功和失敗提示文本的上面有一個比較,比較下面有一個跳轉。在比較的上面的第一個CALL就是關鍵CALL了。

 

 

簡單爆破方法:

方法一:修改關鍵CALL(通過修改寄存器的值達到控制關鍵跳實現與否)

找到關鍵CALL之後先在關鍵CALL上下個斷點(其上附近亦可)-->重載程式-->F9運行程式-->輸入假碼,確認-->回到OD,則停留在我們上面下段的地方-->單步跟蹤到關鍵CALL上F7步入-->在段首(跟進去所在的位置)寫入mov eax,1(註:其中之所以要修改eax的值是由於影響關鍵跳的比較的寄存器為eax,通常都是eax。之所以修該為1,是為了轉換關鍵跳的實現與否,如:預設eax為0,關鍵跳沒實現,那麼我沒就把eax改為非零值即可),在下一行寫retn X(X為該段尾返回的值,如果他沒有返回我們也不返回任何值)-->儲存修改-->OK

方法二:修改關鍵跳(直接不理會判斷條件,強制改變其跳轉狀態)

該關鍵跳為相反狀態(如:je-->jz, jnz-->jmp    等等)

 

為什麼要修改EAX的值:

 修改關鍵CALL:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.