国产精在线-国产精欧美一区二区三区-国产精视频-国产精品 日韩-一级黄色片在线看-一级黄色片在线播放

【OD&x64dbg破解01】簡單爆破序列號驗證

本文內容是一個簡單的TraceMe,來自看雪的一個程序。

輸入用戶名和序列號,點擊Check,來判斷是否登錄賬號

輸入假碼,點擊Check,會提示序列號錯誤

話不多說,載入OD,先使用最簡單的字符串查詢方法

可以看到,有很多的假提示。那么這個程序可能就不能使用字符串方法來定位破解的程序位置了

使用API斷點好了。先來分析一下流程:

輸入用戶名序列號->程序獲取內容->判斷內容

從獲取內容的序列號來斷點,選擇插件->API斷點設置工具

獲取文本框內容的函數是GetDlgItemText

GetDlgItemTextA為ASCII版本的函數,GetDlgItemTextW為Unicode版本的函數

下好斷點,點擊運行,輸入用戶名和序列號,點擊Check

就會來到系統領空,這個是系統的API函數位置,執行到返回,可以使用Ctrl+F9執行到返回,在按一下F8,就回到了程序領空

可以看到兩個call,這個估計是獲取文本框內容的,分別獲取用戶名和序列號。

為了進一步驗證,使用F8走,可以看到在不遠處,將文本框內容,applek入棧了

執行到004011E4地址,可以看到序列號和用戶名都入棧了,并且分別寄存在EAX和EDX

接下來就會進行比較了,可以看到call一個函數,這個函數一般來說就是驗證函數了。并且在下面還有一個test函數,就是驗證是否正確的語句。并且緊跟著一個je

驗證函數如下

00401340  /$  55            push ebp
00401341  |.  8B6C24 0C     mov ebp,dword ptr ss:[esp+0xC]           ;  TraceMe.004011EA
00401345  |.  56            push esi
00401346  |.  57            push edi
00401347  |.  8B7C24 18     mov edi,dword ptr ss:[esp+0x18]
0040134B  |.  B9 03000000   mov ecx,0x3
00401350  |.  33F6          xor esi,esi
00401352  |.  33C0          xor eax,eax
00401354  |.  3BF9          cmp edi,ecx
00401356  |.  7E 21         jle short TraceMe.00401379
00401358  |.  53            push ebx
00401359  |>  83F8 07       /cmp eax,0x7
0040135C  |.  7E 02         |jle short TraceMe.00401360
0040135E  |.  33C0          |xor eax,eax
00401360  |>  33D2          |xor edx,edx
00401362  |.  33DB          |xor ebx,ebx
00401364  |.  8A1429        |mov dl,byte ptr ds:[ecx+ebp]
00401367  |.  8A98 30504000 |mov bl,byte ptr ds:[eax+0x405030]
0040136D  |.  0FAFD3        |imul edx,ebx
00401370  |.  03F2          |add esi,edx
00401372  |.  41            |inc ecx
00401373  |.  40            |inc eax
00401374  |.  3BCF          |cmp ecx,edi
00401376  |.^ 7C E1         \jl short TraceMe.00401359
00401378  |.  5B            pop ebx                                  ;  user32.GetDlgItemTextA
00401379  |>  56            push esi                                 ; /<%ld> = 0x0
0040137A  |.  68 78504000   push TraceMe.00405078                    ; |%ld
0040137F  |.  55            push ebp                                 ; |s = 0012F968
00401380  |.  FF15 9C404000 call dword ptr ds:[<&USER32.wsprintfA>]  ; \wsprintfA
00401386  |.  8B4424 1C     mov eax,dword ptr ss:[esp+0x1C]
0040138A  |.  83C4 0C       add esp,0xC
0040138D  |.  55            push ebp                                 ; /String2 = "applek"
0040138E  |.  50            push eax                                 ; |String1 = NULL
0040138F  |.  FF15 04404000 call dword ptr ds:[<&KERNEL32.lstrcmpA>] ; \lstrcmpA
00401395  |.  F7D8          neg eax
00401397  |.  1BC0          sbb eax,eax
00401399  |.  5F            pop edi                                  ;  user32.GetDlgItemTextA
0040139A  |.  5E            pop esi                                  ;  user32.GetDlgItemTextA
0040139B  |.  40            inc eax
0040139C  |.  5D            pop ebp                                  ;  user32.GetDlgItemTextA
0040139D  \.  C3            retn

執行到 004011F5? je short TraceMe.0040122E

如果不修改的話,會直接提示失敗了。程序為了迷惑我們,可以看到幾個成功的字樣。。。

那么先讓je不跳,直接使用nop填充,結果提示成功了

使用Xdbg64破解

按照上面的方法,只需要設置API斷點即可,原版的X64dbg沒有插件,這兒直接使用命令設置斷點

這個命令OD也能使用bpx GetDlgItemTextA

輸入

回車,即可添加斷點,可以看到斷點已經設置

接下來的方法和OD是一樣的了,在跳轉的函數,選擇右鍵->二進制->用NOP填充

一樣成功

課件下載

https://storage.tirr.com.cn/s/1d9tjy4b

THE END
主站蜘蛛池模板: 久久香蕉国产观看猫咪3atv | 亚洲国产精品a在线 | 黄色一级毛片网站 | 欧美性猛交xxxx免费看手交 | 欧美一区高清 | 日韩欧美精品一区二区 | 边接电话边做国语高清对白 | 亚洲成人黄色在线 | 大尺度福利视频奶水在线 | 欧美成人精品大片免费流量 | 中文字幕人成乱码在线观看 | 亚洲国产精品a一区二区三区 | 男女免费视频网站 | 在线精品视频在线观看高清 | 久久国产亚洲精品 | 91高清国产经典在线观看 | 日韩专区亚洲精品欧美专区 | 国产成人在线小视频 | 中文字幕 亚洲精品 | 国产毛片久久精品 | 手机看成人免费大片 | 怡红院视频网 | 色资源二区在线视频 | 男人把女人桶到喷白浆的视频 | 中文字幕天堂久久精品 | 成 人 亚洲 综合天堂 | 女同日韩互慰互摸在线观看 | 中文字幕亚洲精品日韩精品 | 成人久久伊人精品伊人 | 丰满老熟女毛片 | 成人小视频在线观看免费 | 午夜国产高清精品一区免费 | 欧美成人高清性色生活 | 一区二区三区免费视频 www | 亚洲欧美性视频 | 97精品久久久久中文字幕 | 国产成人精品一区二区免费 | 日韩一级影片 | 欧美高清一区二区三区欧美 | 国产一区二区在免费观看 | 午夜影院在线免费 |