Gỡ b� GoBack ko cần pass
Norton GoBack cấp 3 mức phân quy�n để quản lý chương trình, đó là Admin, User và None. 2 mức phân quy�n Admin và User dùng pass để bảo vệ, còn None thì ko cần.
Bà i viết sau hướng dẫn cách thiết đặt phân quy�n quản lý v� None.
1. Chạy chương trình OllyDbg, mở file GBOption.exe trong thư mục "%Program Files%\Norton GoBack". Ä?ây là chương trình GoBack dùng để thiết đặt lại cách quản lý.
2. Chạy chương trình GBOption Ä‘ang mở trong OllyDbg bằng cách nhấn F9. Má»™t cá»a sổ vá»›i tiêu Ä‘á»? "Norton GoBack Options" xuất hiện. Chá»?n tab thứ 2 và click và o "Change Level...". Xuất hiện má»™t cá»a sổ để thay đổi phân quyá»?n quản lý các chức năng cá»§a chương trình như : enable/disable, uninstall, autobackup... (Như đã nói ở trên, GoBack có 3 mức phân quyá»?n đó là : ADMIN, USER và NONE. Mặc định, chức năng uninstall được gán cho ADMIN, nghÄ©a là phải có phân quyá»?n ADMIN thì má»›i thá»±c hiện chức năng uninstall được. Tương tá»± như váºy cho các chức năng khác). Sau khi thay đổi sang NONE hết, click OK, lúc nà y chương trình sẽ yêu cầu nháºp pass ADMIN, và mục Ä‘Ãch cá»§a chúng ta là phải bá»? qua được yêu cầu nà y.
3. Quay lại cá»§a sổ chương trình OllyDbg, jump đến address 0x0043697D (thá»±c hiện bằng cách bấm Ctrl+G, nháºp address và bấm OK). OllyDbg sẽ nhảy đến address nà y, và chúng ta có thể thấy Ä‘oạn code sau :
CODE00436970 > 8B0D A8964700 MOV ECX,DWORD PTR DS:[4796A8]
00436976 . 50 PUSH EAX
00436977 . 51 PUSH ECX
00436978 . E8 93E9FFFF CALL GBOption.00435310
0043697D . 83C4 08 ADD ESP,8
00436980 . 85C0 TEST EAX,EAX; eax == 0 nếu như đúng pass
00436982 . 0F954424 0F SETNE BYTE PTR SS:[ESP+F]
Chú ý tại addr 0x00436978, đây chÃnh là hà m GoBack dùng để kiểm tra pass ADMIN. Sẽ trả vá»? true nếu pass đúng và ngược lại là false nếu pass sai. Bởi vì chúng ta ko có pass nên tất nhiên hà m nà y sẽ trả vá»? false. Vì thế thiết đặt breakpoint tại address 0x0043697D để thay đổi giá trị trả vá»? : phải chắc chắn con trá»? Ä‘ang ở address 0x0043697D, bấm F2 để đặt breakpoint (dòng nà y sẽ đổ thà nh mà u Ä‘á»?).
4. Nháºp và o pass bất kì & và bấm OK. Lúc nà y quyá»?n Ä‘iá»?u khiển được chuyển cho OllyDgb, nó chạy đến address đã set breakpoint và dừng lại. Nhìn và o cá»a sổ các thanh ghi cá»§a OllyDbg, ta thấy EAX = 0x00000090. Double click và o nó, thay đổi EAX thà nh 0x00000000 và bấm F9 để chương trình tiếp tục chạy. Lúc nà y sẽ ko có bấy cứ warning message nà o xuất hiện. Tất cả những setting mà bạn đã thay đổi đã được lưu lại. Bạn có thể kiểm tra lại bằng cách click và o "Change Level..".
5. Sau khi thay đổi tất cả sang phân quy�n NONE, bạn có thể là m bất cứ đi�u gì đối Norton GoBack mà ko cần phải lo lắng đến việc h�i pass ADMIN. Bạn có thể enable/disable it, uninstall... Let ẹnoy & Good luck!
CODEAutomatic loader:
/*
* AUTHOR: LightPhoenix
* EMAIL: light.phoenix@gmail.com
* DATE: 07/20/2005
*
* DESCRIPTION:
* This loader is used in bypassing admin password
* of Norton GoBack 4.0
*
* TODO:
* Patch in memory at @0x436980
* Origin: 0x85,0xC0,0x0F,0x95,0x44,0x24,0x0F
* Patch: 0x33,0xC0,0xC6,0x44,0x24,0x0F,0x00
*/
// Goback Loader.cpp
#include <windows.h>
LPTSTR strExecFile = TEXT("GBOptions.exe");
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
HANDLE hFile;
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
ZeroMemory(Ï€, sizeof(pi));
//Find GBOptions.exe
if( (hFile = CreateFile(strExecFile, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL) ) == INVALID_HANDLE_VALUE)
{
MessageBox(0, "GBOptions.exe does not exist", "Bypass Norton GoBack 4.0 by LightPhoenix[light.phoenix@gmail.com]", MB_ICONERROR);
return -1;
}
CloseHandle(hFile);
//createprocess with suspend
if( CreateProcess(NULL, strExecFile, NULL, NULL, FALSE,
CREATE_SUSPENDED, NULL, NULL, &si, π) == FALSE)
{
MessageBox(0, "Error executing GBOptions.exe", "Bypass Norton GoBack 4.0 by LightPhoenix[light.phoenix@gmail.com]", MB_ICONERROR);
return -1;
}
//patching
BYTE buf[10];
DWORD bytesRead, bytesWritten;
ReadProcessMemory(pi.hProcess, (LPVOID)0x436980, buf, 7, &bytesRead);
//Compare origin bytes
if( buf[0] == 0x85 && buf[1] == 0xC0 && buf[2] == 0x0F && buf[3] == 0x95 &&
buf[4] == 0x44 && buf[5] == 0x24 && buf[6] == 0x0F )
{
//Correct!
BYTE newData[] = {0x33, 0xC0, 0xC6, 0x44, 0x24, 0x0F, 0x00};
WriteProcessMemory(pi.hProcess, (LPVOID)0x436980, newData, sizeof(newData) /sizeof(newData[0]), &bytesWritten);
//resume
ResumeThread(pi.hThread);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
MessageBox(0, "Bypass succesfully!", "Bypass Norton GoBack 4.0 by LightPhoenix[light.phoenix@gmail.com]", MB_ICONINFORMATION);
}
else
{
//Failed
MessageBox(0, "Wrong size???\nWrong version!", "Bypass Norton GoBack 4.0 by LightPhoenix[light.phoenix@gmail.com]", MB_ICONERROR);
TerminateProcess(pi.hProcess, 0);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
return 0;
}
AUTHOR: LightPhoenix of HVA
Re: Gỡ b� GoBack ko cần pass
bà i viết rất ấn tượng, tiếc là máy ko có cà i Go Back để test thỠ:D
Re: Gỡ b� GoBack ko cần pass
hay do
de toi thu xem sao
thanks