dannynr1
Pe lista neagra
Inregistrat: acum 16 ani
Postari: 136
|
|
Primul lucru de făcut este de a deschide Ad Muncher si afla ce se întâmplă şi cum funcţionează. Atunci de încărcare de până procdump şi de memorie, cât şi de exe dll separat. Uită-te la mărimea de exe şi dll, exe este de numai câteva kbytes, dar de dll este mult mai mare (peste o suta de kbytes) şi a fost ambalate cu UPX. Din aceasta putem spune că dll este principala de program şi de exe este un încărcător. Din moment ce mai facem noi pe-acest-a zbura, am avea nevoie de Win32DASM obiceiul, dar dacă ai face, atunci puteţi acum să demontaţi de fişiere care fac obiectul unui dumping
Încărcaţi până Muncher de anunţuri, introduceţi unele informaţii fals. Când alegeţi ce informaţii fictive, pentru a include, asiguraţi-vă că acesta nu conţine orice caractere, de alegere. Aceasta este, pentru că va trece în mod normal, cele mai multe controale privind caracteristicile de intrare. De asemenea, dacă au fost suficient de inteligent pentru a citi de fapt prima pagina de înregistrare, ar trebui să fi observat acest lucru: "Vă rugăm să introduceţi-vă numele şi codul de mai jos, codul hexazecimal constă din două cifre (de exemplu: numerele 0-9 şi litere AF) a aderat cu -o dată ". Care le introduceţi dvs. de serie ar trebui să fie ceva de genul'012345-543210 ". Apoi, setaţi un breakpoint cu SoftIce pe GetWindowTextA, Aceasta înseamnă când faceţi clic pe registru, ar trebui să SoftIce tip pop-up. Ar trebui să fie în mijlocul unei GetDlgItemTextA apel, deci apăsaţi de două ori pe F12 pentru a reveni la Ad Muncher. Dacă didn't pauză, apoi te arent utilizaţi Windows 2000 ca eu sunt, si va trebui doar să setaţi un breakpoint pe GetDlgItemTextA direct. Înapoi la Ad Muncher cod, ar trebui să vedeţi ceva de genul: 00751431 6A68 împinge 00000068 00751433 FF7508 "apasă [ebp 08] 00751436 E80D0C0000 apel USER32.GetDlgItemTextA 0075143B 40 inc eax 0075143C A33C7A4B00 mov dword ptr [004B7A3C], eax
Inchide dvs. de întrerupere cu '* BD ", apoi prin cod urmă cu F10 până veţi găsi ceva care pare interesant. Prin termenul de "interesante" i "reprezintă orice utilizare de tabele ca" mov ecx, [eax * 4 005 B8A1C] "sau orice derivate care conţin un" LODSB "sau" LODSW ". De asemenea, poate doriţi să uite pentru chestii de genul 'XOR ecx, ecx; mov eax, [ecx + 005B8A1C]; inc ecx ". Ar trebui să vii până la această după-un minut de căutare: : bucla LODSB Adăuga ECX, EAX Ror ECX, 08 Adăuga ECX, EBX CMP AL, 00 JNZ bucla NU ECX
Acum, dacă vă uitaţi la începutul acestei funcţii şi oră de ESI, veţi găsi că este contatains numele dvs. de utilizator şi ebx deţine'00012345 '. Wow, prima jumătate a noastră de serie nume de utilizator şi nostru de anunţuri Muncher ia dvs. de serie, şpalturi-o în două, apoi se mută în locaţia de numele dvs. de utilizator în ESI, şi setează valoarea din prima jumătate a ebx în serie. Următorul este nevoie de un caracter de la ESI, începe să fie difuzate în total, role de registru dreptul de 8h ori, adaugă în prima jumătate a ebx de serie în total şi să atunci buclele până când toate caracterele au fost citite. După aceasta nu este de a da totală a doua jumătate a anului de serie în ecx. Pentru a face un keygen tot ce trebuie să faceţi acum este să se transforme în rutină, în orice limbă pe care o alegeţi şi o dau un pic de interfaţă. Puteţi utiliza acum pentru a crea reclame Muncher valabilă fără nici seriale, la toate necazurile, dar este mai bine să ai un keygen separat, asa ca au un du-te la a face unul, aici este de o am creat: -------------------------------------------------- -------------------------------------------------- --------- -------------------------------------------------- -------------------------------------------------- ---------
; Ad Muncher v4.4 keygen de m101 pentru Phrozen Crew
.386 . modelului plat, stdcall casemap opţiune: nici unul includ \ masm32 \ includ \ windows.inc includ \ masm32 \ includ \ user32.inc includ \ masm32 \ includ \ kernel32.inc includelib \ masm32 \ lib \ user32.lib includelib \ masm32 \ lib \ kernel32.lib
WinMain proto WORD, WORD, WORD, WORD
. date ClassName db "SimpleWinClass", 0 AppName db "Ad Muncher keygen crăpate de m101 pentru Phrozen Crew", 0 ButtonText db "Generează cheie", 0 StartupString db "Vă rugăm să introduceţi un nume de ...", 0 EditClassName db "editare", 0 EditID equ 2 EditID2 equ 3 ButtonID equ 1 ButtonClassName db "buton", 0 IDM_GETTEXT equ 3 Serial2 db "FFFFFFFF" Serial db "BADC0DE-" tampon db 512 DUP (?)
. date? hInstance HINSTANCE? LPSTR de comandă? hwndButton HWND? hwndEdit HWND? hwndEdit2 HWND? . codul Start: invoca GetModuleHandle, NULL mov hInstance, eax invoca GetCommandLine mov de comandă, eax invoca WinMain, hInstance, NULL, de comandă, SW_SHOWDEFAULT invoca ExitProcess, eax
WinMain proc hInst: HINSTANCE, hPrevInst: HINSTANCE, cmdline: LPSTR, CmdShowWORD LOCAL WC: WNDCLASSEX LOCAL msg: MSG LOCAL hwnd: HWND mov wc.cbSize, sizeof WNDCLASSEX mov wc.style, CS_HREDRAW sau CS_VREDRAW mov wc.lpfnWndProc, OFFSET WndProc mov wc.cbClsExtra, NULL mov wc.cbWndExtra, NULL Apasă hInstance pop wc.hInstance mov wc.hbrBackground, COLOR_BTNFACE 1 mov wc.lpszMenuName, NULL mov wc.lpszClassName, OFFSET className invoca LoadIcon, NULL, IDI_APPLICATION mov wc.hIcon, eax mov wc.hIconSm, eax invoca LoadCursor, NULL, IDC_ARROW mov wc.hCursor, eax invoca RegisterClassEx, addr WC Invoca CreateWindowEx, WS_EX_CONTROLPARENT sau DS_CENTER, addr className, addr AppName, \ WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, \ CW_USEDEFAULT, 345150, NULL, NULL, \ hInst, NULL mov hwnd, eax invoca ShowWindow, hwnd, SW_SHOWNORMAL invoca UpdateWindow, hwnd . În timp ce TRUE invoca GetMessage, addr msg, NULL, 0,0 . Pauză. If (! Eax) invoca TranslateMessage, addr mesaj invoca DispatchMessage, addr mesaj . ENDW mov eax, msg.wParam ret WinMain endp
WndProc proc hWnd: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM . DACĂ uMsg == WM_DESTROY invoca PostQuitMessage, NULL . Elseif uMsg == WM_CREATE invoca CreateWindowEx, WS_EX_CLIENTEDGE, addr EditClassName, NULL, \ WS_CHILD sau WS_VISIBLE sau WS_BORDER sau ES_LEFT sau \ ES_AUTOHSCROLL, \ 50,20,240,25, hWnd, EditID, hInstance, NULL mov hwndEdit, eax invoca CreateWindowEx, WS_EX_CLIENTEDGE, addr EditClassName, NULL, \ WS_CHILD sau WS_VISIBLE sau WS_BORDER sau ES_LEFT sau \ ES_AUTOHSCROLL sau ES_READONLY, \ 50,45,240,25, hWnd, EditID2, hInstance, NULL mov hwndEdit2, eax invoca SetWindowText, hwndEdit2, addr StartupString invoca SetFocus, hwndEdit invoca CreateWindowEx, NULL, addr ButtonClassName, addr ButtonText, \ WS_CHILD sau WS_VISIBLE sau BS_DEFPUSHBUTTON, \ 80,75,180,25, hWnd, ButtonID, hInstance, NULL mov hwndButton, eax . Elseif uMsg == WM_COMMAND mov eax, wParam . DACĂ lParam == 0 . DACĂ AX == IDM_GETTEXT Apasă EDI Apasă ESI invoca GetWindowText, hwndEdit, addr-tampon, 512 mov ebx, 0BADC0DEh Lea ESI, tampon XOR ecx, ecx looksy: lodsb CMP al, 41h jl looksy2 CMP Al, 5Ah jg looksy2 al adăuga, 20H looksy2: adăuga ecx, eax ror ecx, 08h adăuga ecx, ebx CMP Al, 0h jnz looksy nu ecx mov eax, ecx mov [Serial2 h 3], al mov [Serial2 2 h], ah shr eax, 10h mov [Serial2 1 h], al mov [Serial2], ah Lea ESI, Serial2 XOR ecx, ecx Convertor: XOR AX, AX lodsb CMP ecx, 8h jl conv2 XOR Al, dl conv2: shl ax, 4h shr al, 4h CMP Al, 0ah jl alfa al adăuga, 37h jmp alfanumerice alfa: al adăuga, 30h alfanumerice: CMP ah, 0ah jl alphab adăuga ah, 37h jmp alphanumericb alphab: adăuga ah, 30h alphanumericb: mov [tampon + ecx], ah inc ecx mov [tampon + ecx], al inc ecx CMP ecx, 8h Convertor jl mov [tampon + ecx], 0h invoca SetWindowText, hwndEdit2, addr Serial
pop ESI pop EDI . Altcineva invoca DestroyWindow, hWnd . Endif . Altcineva . DACĂ AX == ButtonID shr eax, 16 . DACĂ AX == BN_CLICKED invoca SendMessage, hWnd, WM_COMMAND, IDM_GETTEXT, 0 . Endif . Endif . Endif . Altcineva invoca DefWindowProc, hWnd, uMsg, wParam, lParam ret . Endif XOR eax, eax ret WndProc endp scop de start
|
|