Google
Resident Elite
 Inregistrat: acum 12 ani
Postari: 433
|
|
external visible check for css if you are fixing the stubcode you can use it for other sourceengine games
hf
Code:
char pCode[177] = {
0x9C ,0x60 ,0xA1 ,0xD5 ,0x10 ,0x00 ,0x10 ,0x05 ,0xC0 ,0x58 ,0x05 ,0x00 ,0xFF ,0xD0 ,0x8B ,0xD0 ,0x8B ,0x0D ,0xD5 ,0x10 ,0x00 ,0x10 ,0x81 ,0xC1 ,0x00 ,0xF1 ,0x01 ,0x00 ,0x8D ,0x05 ,0x39 ,0x11
,0x00 ,0x10 ,0x50 ,0x6A ,0x00 ,0x52 ,0x68 ,0x0B ,0x40 ,0x00 ,0x46 ,0x8D ,0x15 ,0x09 ,0x11 ,0x00 ,0x10 ,0x52 ,0x8D ,0x05 ,0xD9 ,0x10 ,0x00 ,0x10 ,0x50 ,0xFF ,0xD1 ,0x83 ,0xC4 ,0x18 ,0x61 ,0x9D
,0xC3 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00
,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00
,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00
,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x38 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00};
class trace_t
{
public:
Vector vStart; //0x0000
Vector vEnd; //0x000C
char unknown24[20]; //0x0018
float fraction; //0x002C
char unknown48[12]; //0x0030
};
struct shellstruct_s
{
void* pShellCode;
HANDLE process;
DWORD dwPID;
DWORD dwClientAd;
DWORD dwTrace;
DWORD dwStart;
DWORD dwEnd;
};
shellstruct_s adr; |
Code:
void AllocCode()
{
static bool bInit = false;
if(!bInit)
{
adr.pShellCode = VirtualAllocEx(adr.process, 0, sizeof(pCode) + 1, MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(adr.process, adr.pShellCode ,pCode,sizeof(pCode),0);
adr.dwClientAd = (DWORD)adr.pShellCode + 0x41;
WriteProcessMemory(adr.process, (void*)((DWORD)adr.pShellCode + 0x3),&adr.dwClientAd,4,0);
adr.dwClientAd = (DWORD)adr.pShellCode + 0x41;
WriteProcessMemory(adr.process, (void*)((DWORD)adr.pShellCode + 0x12),&adr.dwClientAd,4,0);
adr.dwTrace = (DWORD)adr.pShellCode + 0xA5;
WriteProcessMemory(adr.process, (void*)((DWORD)adr.pShellCode + 0x1E),&adr.dwTrace,4,0);
adr.dwEnd = (DWORD)adr.pShellCode + 0x75;
WriteProcessMemory(adr.process, (void*)((DWORD)adr.pShellCode + 0x2D),&adr.dwEnd,4,0);
adr.dwStart = (DWORD)adr.pShellCode + 0x45;
WriteProcessMemory(adr.process, (void*)((DWORD)adr.pShellCode + 0x34),&adr.dwStart,4,0);
DWORD Value = (DWORD)GetRemoteModuleHandle(adr.dwPID,"client.dll");
WriteProcessMemory(adr.process, (void*)adr.dwClientAd,&Value,4,0);
bInit = true;
}
} |
Code:
void TraceRay(Vector vStart, Vector vEnd, trace_t* pTrace)
{
WriteProcessMemory(adr.process, (void*)adr.dwStart,&vStart,12,0);
WriteProcessMemory(adr.process, (void*)adr.dwEnd,&vEnd,12,0);
HANDLE hRemoteThread = CreateRemoteThread(adr.process, 0, 0, (LPTHREAD_START_ROUTINE)((DWORD)adr.pShellCode), 0, 0, 0);
WaitForSingleObject(hRemoteThread, INFINITE);
CloseHandle(hRemoteThread);
ReadProcessMemory( adr.process, (void*)adr.dwTrace, pTrace, sizeof(trace_t), NULL );
}
bool IsVisible(Vector vStart, Vector vEnd)
{
trace_t trace;
TraceRay(vStart,vEnd,&trace);
return (trace.fraction >= 0.97f);
} |
Code:
if(IsVisible(LocalPlayer::EyePosition(),EnemyPlayer::EyePosition()))
//Draw visible shit |
Shellcode
Code:
00401000 9C PUSHFD
00401001 60 PUSHAD
00401002 A1 D5100010 MOV EAX,DWORD PTR DS:[100010D5]
00401007 05 C0580500 ADD EAX,558C0
0040100C FFD0 CALL EAX
0040100E 8BD0 MOV EDX,EAX
00401010 8B0D D5100010 MOV ECX,DWORD PTR DS:[100010D5]
00401016 81C1 00F10100 ADD ECX,1F100
0040101C 8D05 39110010 LEA EAX,DWORD PTR DS:[10001139]
00401022 50 PUSH EAX
00401023 6A 00 PUSH 0
00401025 52 PUSH EDX
00401026 68 0B400046 PUSH 4600400B
0040102B 8D15 09110010 LEA EDX,DWORD PTR DS:[10001109]
00401031 52 PUSH EDX
00401032 8D05 D9100010 LEA EAX,DWORD PTR DS:[100010D9]
00401038 50 PUSH EAX
00401039 FFD1 CALL ECX
0040103B 83C4 18 ADD ESP,18
0040103E 61 POPAD
0040103F 9D POPFD
00401040 C3 RETN
00401041 0000 ADD BYTE PTR DS:[EAX],AL
00401043 0000 ADD BYTE PTR DS:[EAX],AL
00401045 0000 ADD BYTE PTR DS:[EAX],AL
00401047 0000 ADD BYTE PTR DS:[EAX],AL
00401049 0000 ADD BYTE PTR DS:[EAX],AL
0040104B 0000 ADD BYTE PTR DS:[EAX],AL
0040104D 0000 ADD BYTE PTR DS:[EAX],AL
0040104F 0000 ADD BYTE PTR DS:[EAX],AL
00401051 0000 ADD BYTE PTR DS:[EAX],AL
00401053 0000 ADD BYTE PTR DS:[EAX],AL
00401055 0000 ADD BYTE PTR DS:[EAX],AL
00401057 0000 ADD BYTE PTR DS:[EAX],AL
00401059 0000 ADD BYTE PTR DS:[EAX],AL
0040105B 0000 ADD BYTE PTR DS:[EAX],AL
0040105D 0000 ADD BYTE PTR DS:[EAX],AL
0040105F 0000 ADD BYTE PTR DS:[EAX],AL
00401061 0000 ADD BYTE PTR DS:[EAX],AL
00401063 0000 ADD BYTE PTR DS:[EAX],AL
00401065 0000 ADD BYTE PTR DS:[EAX],AL
00401067 0000 ADD BYTE PTR DS:[EAX],AL
00401069 0000 ADD BYTE PTR DS:[EAX],AL
0040106B 0000 ADD BYTE PTR DS:[EAX],AL
0040106D 0000 ADD BYTE PTR DS:[EAX],AL
0040106F 0000 ADD BYTE PTR DS:[EAX],AL
00401071 0000 ADD BYTE PTR DS:[EAX],AL
00401073 0000 ADD BYTE PTR DS:[EAX],AL
00401075 0000 ADD BYTE PTR DS:[EAX],AL
00401077 0000 ADD BYTE PTR DS:[EAX],AL
00401079 0000 ADD BYTE PTR DS:[EAX],AL
0040107B 0000 ADD BYTE PTR DS:[EAX],AL
0040107D 0000 ADD BYTE PTR DS:[EAX],AL
0040107F 0000 ADD BYTE PTR DS:[EAX],AL
00401081 0000 ADD BYTE PTR DS:[EAX],AL
00401083 0000 ADD BYTE PTR DS:[EAX],AL
00401085 0000 ADD BYTE PTR DS:[EAX],AL
00401087 0000 ADD BYTE PTR DS:[EAX],AL
00401089 0000 ADD BYTE PTR DS:[EAX],AL
0040108B 0000 ADD BYTE PTR DS:[EAX],AL
0040108D 0000 ADD BYTE PTR DS:[EAX],AL
0040108F 0000 ADD BYTE PTR DS:[EAX],AL
00401091 0000 ADD BYTE PTR DS:[EAX],AL
00401093 0000 ADD BYTE PTR DS:[EAX],AL
00401095 0000 ADD BYTE PTR DS:[EAX],AL
00401097 0000 ADD BYTE PTR DS:[EAX],AL
00401099 0000 ADD BYTE PTR DS:[EAX],AL
0040109B 0000 ADD BYTE PTR DS:[EAX],AL
0040109D 0000 ADD BYTE PTR DS:[EAX],AL
0040109F 0000 ADD BYTE PTR DS:[EAX],AL
004010A1 0000 ADD BYTE PTR DS:[EAX],AL
004010A3 0000 ADD BYTE PTR DS:[EAX],AL
004010A5 3800 CMP BYTE PTR DS:[EAX],AL
004010A7 0000 ADD BYTE PTR DS:[EAX],AL
004010A9 0000 ADD BYTE PTR DS:[EAX],AL
004010AB 0000 ADD BYTE PTR DS:[EAX],AL
004010AD 0000 ADD BYTE PTR DS:[EAX],AL
004010AF 0000 ADD BYTE PTR DS:[EAX],AL |
Modificat de Google (acum 12 ani)
|
|