破解时的数据约束性和winhex操作失败
一 破解時的數據約束性
? ? 此概念是+ORC提出的,只限于用明文比較注冊碼的情況。在大多數序列號保護的程序中,真正在注冊碼會于某個時刻出現在內存中,它出現的位置是不定的,但多數情況它會在一個范圍之內,即存放用戶輸入序列號的內存地址正負90h的范圍。其依據是,加密者在編程時經常要留意保護功能是否工作,從他的視角,他常需要在同一個Watch窗口能看到用戶輸入結果和真正密碼,這二者會共同位于一個小的堆棧區域。
加密與解密 第三版,5.1.2節,根據此作一個試驗;原文內容和目的是說明根據數據約束性,來找到密碼的一種簡單情形;
就是使用winhex的內存編輯工具,來在輸入內容附近找到真正密碼;下面來操作;
運行TraceMe;
winhex的內存編輯工具;
提示64位版本才能顯示進程和模塊的名稱;
在winhex列出的進程找不到TraceMe;
按進程ID,24428,也winhex里也找不到TraceMe;
可能是版本問題;換成64位winhex,打開編輯內存工具;
還是找不到TraceMe.exe;不知啥情況;下回再搞;
?
二 在ollydbg中操作數據約束性
?
用ollydbg加載TraceMe.exe,運行;輸入錯誤序列號,按 check 按鈕出現錯誤提示;
按Alt+M打開內存窗口;
如圖選中第一行,按 Ctrl+B,打開內存搜索輸入框;輸入剛才輸入的內容;搜索;
定位到了剛才輸入的34567878;然后在這附近前后晃一晃,看一看,找到真正的密碼2470;
總結
以上是生活随笔為你收集整理的破解时的数据约束性和winhex操作失败的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8086汇编复习4 - int指令 -
- 下一篇: 序列号明码比较的反汇编代码以及注册机的初