您好,登錄后才能下訂單哦!
使用易語言怎么實現網絡驗證?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
易語言其實就像我們人穿著衣服一樣的,需要看到內在的話,就需要先脫掉衣服,其實也就是和殼的類型相差無己
00445151 >/$ 55 push ebp 、、載入程序后的入口
00445152 |. 8BEC mov ebp,esp
00445154 |. 6A FF push -0x1
00445156 |. 68 70AD4600 push 1111.0046AD70
0044515B |. 68 5C994400 push 1111.0044995C ; SE 處理程序安裝
00445160 |. 64:A1 0000000>mov eax,dword ptr fs:[0]
00445166 |. 50 push eax
00445167 |. 64:8925 00000>mov dword ptr fs:[0],esp
0044516E |. 83EC 58 sub esp,0x58
00445171 |. 53 push ebx
00445172 |. 56 push esi
00445173 |. 57 push edi ; ntdll.7C930738
00445174 |. 8965 E8 mov [local.6],esp
二進制查找,便于識別易語言 FC DB E3
我們可以運行起來之后,在AIT+E查找用戶模塊中使用二進制查找
004198A1 59 pop ecx
004198A2 49 dec ecx
004198A3 ^ 75 EB jnz short 六開擠線.00419890
004198A5 E8 A8000000 call 六開擠線.00419952
004198AA 83C4 04 add esp,0x4
004198AD 8B1D 18754C00 mov ebx,dword ptr ds:[0x4C7518]
004198B3 85DB test ebx,ebx
004198B5 74 09 je short 六開擠線.004198C0
004198B7 53 push ebx
004198B8 E8 95000000 call 六開擠線.00419952
004198BD 83C4 04 add esp,0x4
004198C0 8B1D 1C754C00 mov ebx,dword ptr ds:[0x4C751C]
004198C6 53 push ebx
004198C7 E8 86000000 call 六開擠線.00419952
004198CC 83C4 04 add esp,0x4
004198CF 8B1D 20754C00 mov ebx,dword ptr ds:[0x4C7520]
004198D5 53 push ebx
004198D6 E8 77000000 call 六開擠線.00419952
004198DB 83C4 04 add esp,0x4
004198DE 8B1D 24754C00 mov ebx,dword ptr ds:[0x4C7524]
004198E4 85DB test ebx,ebx
004198E6 74 09 je short 六開擠線.004198F1
004198E8 53 push ebx
004198E9 E8 64000000 call 六開擠線.00419952
004198EE 83C4 04 add esp,0x4
004198F1 8B1D 30754C00 mov ebx,dword ptr ds:[0x4C7530]
004198F7 53 push ebx
004198F8 E8 55000000 call 六開擠線.00419952
004198FD 83C4 04 add esp,0x4
00419900 8B1D 34754C00 mov ebx,dword ptr ds:[0x4C7534]
00419906 53 push ebx
00419907 E8 46000000 call 六開擠線.00419952
0041990C 83C4 04 add esp,0x4
0041990F C3 retn
00419910 B8 06000000 mov eax,0x6
00419915 E8 32000000 call 六開擠線.0041994C
0041991A FC cld
0041991B DBE3 finit
0041991D E8 33FDFFFF call 六開擠線.00419655
00419922 68 F1974100 push 六開擠線.004197F1
00419927 B8 03000000 mov eax,0x3
0041992C E8 1B000000 call 六開擠線.0041994C
00419931 83C4 04 add esp,0x4
00419934 E8 E5E8FFFF call 六開擠線.0041821E
00419939 E8 C676FEFF call 六開擠線.00401004
0041993E E8 03000000 call 六開擠線.00419946
00419943 33C0 xor eax,eax
00419945 C3 retn
00419946 FF25 64AA4900 jmp dword ptr ds:[0x49AA64] ; 六開擠線.0043B7C0
0041994C FF25 6CAA4900 jmp dword ptr ds:[0x49AA6C] ; 六開擠線.0043B3A0
00419952 FF25 5CAA4900 jmp dword ptr ds:[0x49AA5C] ; 六開擠線.0043B960
00419958 FF25 54AA4900 jmp dword ptr ds:[0x49AA54] ; 六開擠線.0043B830
0041995E FF25 48AA4900 jmp dword ptr ds:[0x49AA48] ; 六開擠線.0043B420
00419964 FF25 4CAA4900 jmp dword ptr ds:[0x49AA4C] ; 六開擠線.0043B770
0041996A FF25 50AA4900 jmp dword ptr ds:[0x49AA50] ; 六開擠線.0043B790
00419970 FF25 40AA4900 jmp dword ptr ds:[0x49AA40] ; 六開擠線.0043B3D0
00419976 FF25 3CAA4900 jmp dword ptr ds:[0x49AA3C] ; 六開擠線.0043B750
0041997C FF25 44AA4900 jmp dword ptr ds:[0x49AA44] ; 六開擠線.0043B3E0
00419982 FF25 58AA4900 jmp dword ptr ds:[0x49AA58] ; 六開擠線.0043B8A0
以上代碼簡稱易原體
首先我們按強度排列
第一的當然是
可可驗證
絕大多數運用在DNF外掛上面
飄零網絡驗證
飄零的早期版本,是可以山寨到管理端的
CC網絡驗證
相對來說,較為簡單,但是作者也頗賤,原版CC就帶有格盤代碼
小煩的網絡驗證
更為簡單,有數據庫漏洞
當我們辨別出是那一款比較常見的網絡驗證之時,可以常試先找一份無殼版的跟一下,然后在套用思路即可
UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo
這個不帶附加數據,可以判定為5.XX版所編譯,也就是無脫殼機的
當然UPX較為簡單,是有脫殼機的,要是VMP的話,就抱著JJ叫疼吧
在一個程序脫殼之后,第一步不應該是去運行看他能否運行,因為要是有效驗,你就死在你那
小手一點之上啦
0041CF7B . 50 push eax ; /Style = MB_OKCANCEL|MB_APPLMODAL
0041CF7C . 52 push edx ; |Title = ""
0041CF7D . 51 push ecx ; |Text = "?"
0041CF7E . 6A 00 push 0x0 ; |hOwner = NULL
0041CF80 . FF15 18754900 call dword ptr ds:[<&USER32.MessageBoxA>>; \MessageBoxA
0041CF86 . 5F pop edi ; 六開擠線.0041BA91
0041CF87 . 83F8 03 cmp eax,0x3 ; Switch (cases 2..7)
0041CF8A . 5E pop esi ; 六開擠線.0041BA91
0041CF8B . 75 0F jnz short 六開擠線.0041CF9C //當我們走到此
0041CF8D . 8B4C24 68 mov ecx,dword ptr ss:[esp+0x68] ; Case 3 of switch 0041CF87
0041CF91 . B8 02000000 mov eax,0x2
0041CF96 . 8901 mov dword ptr ds:[ecx],eax
0041CF98 . 83C4 64 add esp,0x64
0041CF9B . C3 retn
當我們回縮之后,所有的易語言都會停留在這樣一個位置,當然也只是針對信息框
修改Z標志位使跳轉不實現,或者單步多次跟
00415728 > \6A 00 push 0x0
0041572A . 6A 00 push 0x0
0041572C . 6A 00 push 0x0
0041572E . 68 01030080 push 0x80000301
00415733 . 6A 00 push 0x0
00415735 . 68 00000100 push 0x10000 ; UNICODE "=::=::\"
0041573A . 68 04000080 push 0x80000004
0041573F . 6A 00 push 0x0
00415741 . 68 84D64900 push 六開擠線.0049D684 ; 啟動線程失敗,內部錯誤。
00415746 . 68 03000000 push 0x3
0041574B . BB E0CE4100 mov ebx,六開擠線.0041CEE0
00415750 . E8 09420000 call 六開擠線.0041995E
00415755 . 83C4 28 add esp,0x28---------------------------------------------------------------------------------------------------------------------------
004156A5 . 68 02000080 push 0x80000002
004156AA . 6A 00 push 0x0
004156AC . 68 00000000 push 0x0
004156B1 . 6A 00 push 0x0
004156B3 . 6A 00 push 0x0
004156B5 . 6A 00 push 0x0
004156B7 . 68 01000100 push 0x10001
004156BC . FF35 D4744C00 push dword ptr ds:[0x4C74D4]
004156C2 . FF35 D0744C00 push dword ptr ds:[0x4C74D0]
004156C8 . 68 03000000 push 0x3
004156CD . BB D09E4100 mov ebx,六開擠線.00419ED0
004156D2 . E8 87420000 call 六開擠線.0041995E
004156D7 . 83C4 28 add esp,0x28
004156DA . 6A 00 push 0x0
004156DC . 68 02000000 push 0x2
004156E1 . 6A FF push -0x1
004156E3 . 6A 12 push 0x12
004156E5 . 68 E6A90206 push 0x602A9E6
004156EA . 68 7F9F0252 push 0x52029F7F
004156EF . E8 76420000 call 六開擠線.0041996A
004156F4 . 83C4 18 add esp,0x18
004156F7 . 6A 00 push 0x0
004156F9 . 68 00000000 push 0x0
004156FE . 6A FF push -0x1
00415700 . 6A 05 push 0x5
00415702 . 68 E6A90206 push 0x602A9E6
00415707 . 68 7F9F0252 push 0x52029F7F
0041570C . E8 59420000 call 六開擠線.0041996A
00415711 . 83C4 18 add esp,0x18
00415714 . E8 0B79FFFF call 六開擠線.0040D024
00415719 . E8 C594FFFF call 六開擠線.0040EBE3
004156DA . 6A 00 push 0x0
004156DC . 68 02000000 push 0x2
004156E1 . 6A FF push -0x1
004156E3 . 6A 12 push 0x12
004156E5 . 68 E6A90206 push 0x602A9E6
004156EA . 68 7F9F0252 push 0x52029F7F
004156EF . E8 76420000 call 六開擠線.0041996A
004156F4 . 83C4 18 add esp,0x18
這樣的代碼我們叫他為窗體事件,只要鼓搗過易語言老版本的人都比較清楚
只要能鎖定到窗體事件,完全就可以來一個超級大跳轉
易語言按鈕事件查找方法
查找二進制代碼
FF 55 FC 5F 5E
00402A70 |. F6C4 01 test ah,0x1
00402A73 |. 74 02 je short 六開擠線.00402A77
00402A75 |. D9E0 fchs
00402A77 |> DC1D 63AC4900 fcomp qword ptr ds:[0x49AC63]
00402A7D |. DFE0 fstsw ax
00402A7F |. F6C4 41 test ah,0x41
00402A82 |. 0F84 04000000 je 六開擠線.00402A8C 通常易語言采用浮點計算時,我們可以把TEST AH,41之下的JE使不讓其跳轉
00402A88 |. 33C0 xor eax,eax
00402A8A |. EB 05 jmp short 六開擠線.00402A91
易語言的遠跳轉以及易語言的JE JNZ是非常需要關注的
0043B880 55 push ebp
0043B881 |. 8BEC mov ebp,esp
0043B883 |. 8B45 08 mov eax,[arg.1] ; 六開擠線.004D3690
0043B886 |. 50 push eax
0043B887 |. B9 60364D00 mov ecx,六開擠線.004D3660
0043B88C |. E8 FF85FFFF call 六開擠線.00433E90
0043B891 |. 8B4D 08 mov ecx,[arg.1] ; 六開擠線.004D3690
0043B894 |. 51 push ecx ; /ExitCode = BD8B88
0043B895 \. FF15 90724900 call dword ptr ds:[<&KERNEL32.ExitProces>; \ExitProcess
0043B89B . 5D pop ebp ; user32.77D191AE
0043B89C . C3 retn
把0043B880給RETN掉即可解決退出的暗裝
85 C9 75 09 33 C0 80 3A 00 74 01 40 C3 F7 C2 03 00 00 00 75 37 8B 02 3A 01 75 2B 0A C0 74 24 3A
61 01 75 22 0A E4 74 1B C1 E8 10 3A 41 02 75 16 0A C0 74 0F 3A 61 03 75 0D 83 C1 04 83 C2 04 0A
E4 75 D2 33 C0 C3 1B C0 D1 E0 40 C3004022F8 |> \85C9 test ecx,ecx
004022FA |. 75 09 jnz short 六開擠線.00402305
004022FC |. 33C0 xor eax,eax
004022FE |. 803A 00 cmp byte ptr ds:[edx],0x0
00402301 |. 74 01 je short 六開擠線.00402304
00402303 |. 40 inc eax
00402304 |> C3 retn
00402305 |> F7C2 03000000 test edx,0x3
0040230B |. 75 37 jnz short 六開擠線.00402344
0040230D |> 8B02 /mov eax,dword ptr ds:[edx]
0040230F |. 3A01 |cmp al,byte ptr ds:[ecx]
00402311 |. 75 2B |jnz short 六開擠線.0040233E
00402313 |. 0AC0 |or al,al
00402315 |. 74 24 |je short 六開擠線.0040233B
00402317 |. 3A61 01 |cmp ah,byte ptr ds:[ecx+0x1]
0040231A |. 75 22 |jnz short 六開擠線.0040233E
0040231C |. 0AE4 |or ah,ah
0040231E |. 74 1B |je short 六開擠線.0040233B
00402320 |. C1E8 10 |shr eax,0x10
00402323 |. 3A41 02 |cmp al,byte ptr ds:[ecx+0x2]
00402326 |. 75 16 |jnz short 六開擠線.0040233E
00402328 |. 0AC0 |or al,al
0040232A |. 74 0F |je short 六開擠線.0040233B
0040232C |. 3A61 03 |cmp ah,byte ptr ds:[ecx+0x3]
0040232F |. 75 0D |jnz short 六開擠線.0040233E
00402331 |. 83C1 04 |add ecx,0x4
00402334 |. 83C2 04 |add edx,0x4
00402337 |. 0AE4 |or ah,ah
00402339 |.^ 75 D2 \jnz short 六開擠線.0040230D
0040233B |> 33C0 xor eax,eax 控制跳轉時返回為0
0040233D |. C3 retn
0040233E |> 1BC0 sbb eax,eax 控制跳轉時返回為1
00402340 |. D1E0 shl eax,1
00402342 |. 40 inc eax
00402343 |. C3 retn
0040109A |. 68 C2920152 push 0x520192C2 這里簡稱主窗體特征
易語言破解,不外乎關注EAX
注意遠跳轉
當字符串中存在以下字符串皆為老版本
老版本的查找字符串,就需要先找到
0040118A |$ 810424 761E00>add dword ptr ss:[esp],0x1E76
00401191 |. FFD0 call eax
如果要找按鈕事件,必須在我選中的這句里面去尋找
10028CCE E8 4D050300 call krnln.10059220
10028CD3 - FFE0 jmp eax EAX從這里進 ; 夢幻風霜.00403000
10028CD5 EB 0E jmp short krnln.10028CE5
10028CD7 8B55 08 mov edx,dword ptr ss:[ebp+0x8] ; 夢幻風霜.00403000
10028CDA 52 push edx ; ntdll.7C99C0D8
10028CDB 8B4D F8 mov ecx,dword ptr ss:[ebp-0x8] ; krnln.1002979B
10028CDE E8 3D050300 call krnln.10059220
10028CE3 FFD0 call eax DLL從這里進 ; 夢幻風霜.00403000當出現上圖的錯誤時,可以先鎖定這樣的地址JL和JNS
004770CC /7C 0D jl short 夢幻風霜.004770DB
004770CE |68 01000000 push 0x1
004770D3 |E8 BA890000 call 夢幻風霜.0047FA92
004770D8 |83C4 04 add esp,0x4
004770DB \C1E0 02 shl eax,0x2
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。