• <button id="ywcoc"><input id="ywcoc"></input></button>
  • <object id="ywcoc"><blockquote id="ywcoc"></blockquote></object>
    <table id="ywcoc"></table>
  • 技術資料
    加密狗破解-OD技巧
    時間:2016-06-23 14:06:43     點擊數:3251 次

    加密狗破解-OD技巧

    加密狗破解-OD技巧
    OD中字符串的條件斷點如何下:

    首先我們看一下 CreateFileA 在 MSDN 中的解釋:
    HANDLE CreateFile(
    LPCTSTR lpFileName,          // pointer to name of the file
    DWORD dwDesiredAccess,       // access (read-write) mode
    DWORD dwShareMode,           // share mode
    LPSECURITY_ATTRIBUTES lpSecurityAttributes,
    // pointer to security attributes
    DWORD dwCreationDisposition,  // how to create
    DWORD dwFlagsAndAttributes,  // file attributes
    HANDLE hTemplateFile         // handle to file with attributes to
    // copy
    );
    從上面我們可以看出第一個參數就是文件名指針,也就是說這個參數中存放的就是文件名稱的地址。在32位程序中調用這個函數時這個參數的堆棧地址就應該是esp+4(4×8=32),同理,下一個參數就應該是esp+8。其它類推,返回值是esp+0。我們現在要判斷文件名,這里的文件名就是esp+4地址所指向的地址中的內容。取地址中的內容在OD中用雙方括號來操作,如取esp+4中的內容就該寫成這樣:[esp+4]?,F在我們取的[esp+4]中的內容還是個地址,所以要得到文件名則還要再取這個地址中的內容,就該這樣:[[esp+4]]。而那個STRING前綴在OD中的解釋是以零作為結尾的ASCII字符串。所以我們下條件斷點時這樣寫:
    bp CreateFileA,[STRING [esp+4]]=="abcdefghigklmn"
    但卻發現斷不下來,寫成這樣:
    bp CreateFileA,[[STRING [esp+4]]]=="abcdefghigklmn"
    才能斷下來,這里就應該是三層的地址了。為什么這樣目前尚不清楚,等我以后有空寫第六篇條件斷點時我會再詳細解釋一下。

    bp CreateFileA,[[STRING [esp+4]]]=="abcdefghigklmn"
    若按 OllyDBG 中的幫助文檔上說的,應該是
    bp CreateFileA,[STRING [esp+4]]=="abcdefghigklmn"

    bp CreateFileA,[[esp+4]]=="abcdefghigklmn"

    以上就是“加密狗破解-OD技巧”

    轉到頁頭】【返回
  • <button id="ywcoc"><input id="ywcoc"></input></button>
  • <object id="ywcoc"><blockquote id="ywcoc"></blockquote></object>
    <table id="ywcoc"></table>
  • 精品一区二区国产在线观看_高h猛烈失禁潮喷a片在线播放_青青国产成人久久111网站_日本免费a片一区二区三区四区