<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    列宿乃施于上榮兮 日月才經(jīng)于柍桭

    ………… 白駒過隙 歲月如斯 夢縈回繞 心靈之聲
    posts - 57, comments - 8, trackbacks - 0, articles - 41
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    暴力破解常見技巧

    Posted on 2009-10-11 20:40 默認為零 閱讀(271) 評論(0)  編輯  收藏 所屬分類: 技術(shù)轉(zhuǎn)帖

    暴力破解的一般流程
    1、有殼者自然得先脫殼
    2、試注冊看看有何提示,讓我們抓抓小尾巴
    3、若有提示,用OD動態(tài)調(diào)試器或者是W32靜態(tài)調(diào)試器查找錯誤提示
    4、來到錯誤提示處分析代碼找關(guān)鍵CALL、關(guān)鍵跳!
    5、修改代碼
    6、復(fù)制保存!

    如果沒有提示,我們可以使用很多斷點來完成這些操作
    現(xiàn)今軟件的保護方式有
    1、序列號保護方式(注冊碼=f(機器碼/序列號))
    2、警告(NAG)窗口
    3、時間限制/次數(shù)限制。。
    4、菜單功能限制
    5、Key File保護
    6、CD-Check
    7、只運行一個實例

    一些軟件通過把注冊碼保存在.ini文件、注冊表、.dat文件等等方式進行注冊驗證

    常見斷點設(shè)置

    字符串
    bp GetDlgItemTextA(W) ****
    bp GetDlgItemInt
    bp GetWindowTextA(W) ****
    bp GetWindowWord
    bmsg XXXX wm_gettext

    對話框
    bp MessageBeep
    bp MessageBoxA(W) ****
    bp MessageBoxExA(W)
    bp DialogBoxParamA(W)
    bp GreateWindowExA(W)
    bp ShowWindow
    bp UpdateWindow
    bmsg XXXX wm_command

    對于VB的程序用bp MessageBoxA是無法斷下來的,bp rtcMsgBox

    注冊表相關(guān)
    bp RegCreateKeyA(W)
    bp RegDeleteKeyA(W)
    bp RegQueryValueA(W)
    bp RegCloseKey
    bp RegOpenKeyA(W) ****

    時間相關(guān)
    bp GetLocalTime
    bp GetFileTime
    bp GetSystemtime

    CD-ROM或磁盤相關(guān)
    bp GetFileAttributesA(W)
    bp GetFileSize
    bp GetDriveType
    bp GetLastError
    bp ReadFile
    bpio -h (CD-ROM端口地址) R

    軟件狗
    bpio -h 278R
    bpio -h 378R

    INI初始化文件相關(guān)
    bp GetPrivateProfileStringA ****
    bp GetPrivateProfileInt
    bp WritePrivateProfileString
    bp WritePrivateProfileInt

    文件訪問相關(guān)
    bp ReadFile
    bp WriteFile
    bp CreateFileA ****
    bp SetFilePointer
    bp GetSystemDirectory

    另外還有一類軟件通過網(wǎng)絡(luò)驗證、重啟驗證來判斷程序是否注冊
    當(dāng)然前者一般應(yīng)用于外掛程序上較多,一般是改網(wǎng)絡(luò)驗證為本地驗證達到欺騙遠程網(wǎng)絡(luò)主機的目的達到通過驗證!
    后者也是很常見的,他一般把用戶輸入的注冊碼直接或者是通過加密運算后得到的數(shù)值保存到文件、注冊表中,然后提示用戶重啟驗證是否注冊,當(dāng)然當(dāng)你重新打開程序的時候他會從文件或者是注冊表中讀取用戶輸入的注冊碼,再通過程序注冊算法來進行比照,正確者當(dāng)然就成為正版,錯誤的自然就88了,另外以重啟驗證的軟件一般是把注冊碼保存在注冊表或文件中!

    下面來說說解決這類軟件的一般方法!

    重啟驗證類軟件大致的驗證過程。
    1、運行軟件輸入注冊信息,點注冊后。一般軟件會提示你重新運行軟件,以便驗證注冊信息的正確性(如FlashGet);
    也有的只在你輸入正確的注冊信息時才有這個提示,不然會告訴你輸入的注冊信息有問題(此軟件就屬這類)

    2、要破解這種軟件,首先是判斷一下她把注冊信息存在哪里(因為她重啟驗證時要用)。大致有兩種存放方式,第一種是放在注冊表里;第二種是放在文件里。(我們可以在輸入注冊信息,點擊確定前,利用監(jiān)視類軟件來查看一下,如FileMon和RegShot等)

    3、知道她的注冊信息的存放地點后,就可以選則相應(yīng)的API斷點,來調(diào)試了

    訪問注冊表類常用API
    bp RegOpenKeyA 打開一個現(xiàn)有的注冊表項 ****
    bp RegOpenKeyExA 打開一個現(xiàn)有的注冊表項 ****
    bp RegCreateKeyA 在指定的項下創(chuàng)建或打開一個項
    bp RegCreateKeyExA 在指定項下創(chuàng)建新項的更復(fù)雜的方式
    bp RegDeleteKeyA 刪除現(xiàn)有項下方一個指定的子項
    bp RegDeleteValueA 刪除指定項下方的一個值
    bp RegQueryValueA 獲取一個項的設(shè)置值
    bp RegQueryValueExA 獲取一個項的設(shè)置值
    bp RegSetValueA 設(shè)置指定項或子項的值
    bp RegSetValueExA 設(shè)置指定項的值
    bp RegCloseKey 關(guān)閉系統(tǒng)注冊表中的一個項(或鍵)

    訪問文件類常用API
    bp CreateFileA 打開和創(chuàng)建文件、管道、郵槽、通信服務(wù)、設(shè)備以及控制臺 ****
    bp OpenFile 這個函數(shù)能執(zhí)行大量不同的文件操作
    bp ReadFile 從文件中讀出數(shù)據(jù)
    bp ReadFileEx 與ReadFile相似,只是它只能用于異步讀操作,并包含了一個完整的回調(diào)
    ....................................................................................................................................................

    常見脫殼方法

    預(yù)備知識

    1.PUSHAD (壓棧) 代表程序的入口點,
    2.POPAD (出棧) 代表程序的出口點,與PUSHAD想對應(yīng),一般找到這個OEP就在附近
    3.OEP:程序的入口點,軟件加殼就是隱藏了OEP(或者用了假的OEP/FOEP),只要我們找到程序真正的OEP,就可以立刻脫殼。

    方法一:單步跟蹤法
    1.用OD載入,點“不分析代碼!”
    2.單步向下跟蹤F8,實現(xiàn)向下的跳。也就是說向上的跳不讓其實現(xiàn)!(通過F4)
    3.遇到程序往回跳的(包括循環(huán)),我們在下一句代碼處按F4(或者右健單擊代碼,選擇斷點——>運行到所選)
    4.綠色線條表示跳轉(zhuǎn)沒實現(xiàn),不用理會,紅色線條表示跳轉(zhuǎn)已經(jīng)實現(xiàn)!
    5.如果剛載入程序,在附近就有一個CALL的,我們就F7跟進去,不然程序很容易跑飛,這樣很快就能到程序的OEP
    6.在跟蹤的時候,如果運行到某個CALL程序就運行的,就在這個CALL中F7進入
    7.一般有很大的跳轉(zhuǎn)(大跨段),比如 jmp XXXXXX 或者 JE XXXXXX 或者有RETN的一般很快就會到程序的OEP。

    Btw:在有些殼無法向下跟蹤的時候,我們可以在附近找到?jīng)]有實現(xiàn)的大跳轉(zhuǎn),右鍵-->“跟隨”,然后F2下斷,Shift+F9運行停在“跟隨”的位置,再取消斷點,繼續(xù)F8單步跟蹤。一般情況下可以輕松到達OEP!

    方法二:ESP定律法
    ESP定理脫殼(ESP在OD的寄存器中,我們只要在命令行下ESP的硬件訪問斷點,就會一下來到程序的OEP了!)
    1.開始就點F8,注意觀察OD右上角的寄存器中ESP有沒突現(xiàn)(變成紅色)。(這只是一般情況下,更確切的說我們選擇的ESP值是關(guān)鍵句之后的第一個ESP值)
    2.在命令行下:dd XXXXXXXX(指在當(dāng)前代碼中的ESP地址,或者是hr XXXXXXXX),按回車!
    3.選中下斷的地址,斷點--->硬件訪--->WORD斷點。
    4.按一下F9運行程序,直接來到了跳轉(zhuǎn)處,按下F8,到達程序OEP。

    方法三:內(nèi)存鏡像法
    1:用OD打開軟件!
    2:點擊選項——調(diào)試選項——異常,把里面的忽略全部√上!CTRL+F2重載下程序!
    3:按ALT+M,打開內(nèi)存鏡象,找到程序的第一個.rsrc.按F2下斷點,然后按SHIFT+F9運行到斷點,接著再按ALT+M,打開內(nèi)存鏡象,找到程序的第一個.rsrc.上面的.CODE(也就是00401000處),按F2下斷點!然后按SHIFT+F9(或者是在沒異常情況下按F9),直接到達程序OEP!


    方法四:一步到達OEP
    1.開始按Ctrl+F,輸入:popad(只適合少數(shù)殼,包括UPX,ASPACK殼),然后按下F2,F(xiàn)9運行到此處
    2.來到大跳轉(zhuǎn)處,點下F8,到達OEP!

    方法五:最后一次異常法
    1:用OD打開軟件
    2:點擊選項——調(diào)試選項——異常,把里面的√全部去掉!CTRL+F2重載下程序
    3:一開始程序就是一個跳轉(zhuǎn),在這里我們按SHIFT+F9,直到程序運行,記下從開始按SHIFT+F9到程序運行的次數(shù)m!
    4:CTRL+F2重載程序,按SHIFT+F9(這次按的次數(shù)為程序運行的次數(shù)m-1次)
    5:在OD的右下角我們看見有一個"SE 句柄",這時我們按CTRL+G,輸入SE 句柄前的地址!
    6:按F2下斷點!然后按SHIFT+F9來到斷點處!
    7:去掉斷點,按F8慢慢向下走!
    8:到達程序的OEP!

    方法六:模擬跟蹤法
    1:先試運行,跟蹤一下程序,看有沒有SEH暗樁之類
    2:ALT+M打開內(nèi)存鏡像,找到(包含=SFX,imports,relocations)

    內(nèi)存鏡像,項目 30
    地址=0054B000
    大小=00002000 (8192.)
    Owner=check    00400000
    區(qū)段=.aspack
    包含=SFX,imports,relocations
    類型=Imag 01001002
    訪問=R
    初始訪問=RWE

    3:地址為0054B000,如是我們在命令行輸入tc eip<0054B000,回車,正在跟蹤ing。。

    Btw:大家在使用這個方法的時候,要理解他是要在怎么樣的情況下才可以使用

    方法七:“SFX”法
    1:設(shè)置OD,忽略所有異常,也就是說異常選項卡里面都打上勾。
    2:切換到SFX選項卡,選擇“字節(jié)模式跟蹤實際入口(速度非常慢)”,確定。
    3:重載程序(如果跳出是否“壓縮代碼?”選擇“否”,OD直接到達OEP)

    主站蜘蛛池模板: 亚洲中文精品久久久久久不卡| 免费看大美女大黄大色| 女人18毛片水真多免费播放| 亚洲国产高清在线| 人妻免费一区二区三区最新| 免费v片在线观看| 久久亚洲中文无码咪咪爱| 国内一级一级毛片a免费| 69免费视频大片| 亚洲gv猛男gv无码男同短文| 精品国产免费一区二区三区香蕉| 永久亚洲成a人片777777| a视频在线观看免费| 亚洲处破女AV日韩精品| 国产精品免费大片| 亚洲一区二区影院| 四虎在线成人免费网站| 亚洲大尺码专区影院| 日韩吃奶摸下AA片免费观看| 亚洲人成人伊人成综合网无码 | 久久久久国色AV免费看图片| 一级做a爱过程免费视| 奇米影视亚洲春色| 美女裸身网站免费看免费网站| 亚洲日韩国产二区无码| 亚洲va久久久噜噜噜久久| 在线观看永久免费视频网站| 一级视频免费观看| 亚洲无mate20pro麻豆| 免费国产真实迷j在线观看| 18以下岁毛片在免费播放| 免费一级毛片在线播放视频免费观看永久 | 亚洲天然素人无码专区| 久久精品国产亚洲AV网站| 国产三级免费观看| 一个人免费观看日本www视频| 久久精品国产亚洲av麻豆图片 | 亚洲av成人一区二区三区在线观看| 亚洲免费日韩无码系列| 亚洲av福利无码无一区二区| 美女被cao免费看在线看网站|