精品人伦一区二区三区蜜桃视频_日韩精品视频在线_www.色综合_久久久久久一区_aaaaaa黄色片_亚洲精品久久

【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
主站蜘蛛池模板: 国产精品自在线 | 91视频在线看 | 成人动慢 | 嫩草一区二区三区 | 亚洲一区二区视频在线播放 | 日本一区视频在线观看 | 欧美日韩综合 | 欧美性video 精品亚洲一区二区 | 一区二区三区在线免费观看 | 三级视频在线观看 | 欧美日韩视频 | 国产精品毛片一区二区三区 | 久久国产婷婷国产香蕉 | 亚洲一区二区三区免费在线 | www亚洲免费国内精品 | 99久久婷婷国产综合精品电影 | 午夜一区 | 久久国产精品免费一区二区三区 | 亚洲欧美日韩网站 | 亚洲 中文 欧美 日韩 在线观看 | 午夜在线视频 | 精品久久精品 | 国产激情免费视频 | 老头搡老女人毛片视频在线看 | 午夜影院网站 | www网站在线观看 | 日本小电影网站 | 日韩二区 | 亚洲视频在线观看 | 国产情侣在线看 | 成人亚洲精品 | 一区二区在线不卡 | h视频免费在线观看 | 人人天天操 | 久草院线 | 逼逼网 | 久久精品国产久精国产 | 国产免费自拍 | 亚洲欧美日韩电影 | 色视频网站免费 | 在线看无码的免费网站 |