Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- v334.0 JMS SendHook2
- ////////////////////////////////////////////////
- bool bCreatingPacket = false;
- char Buffer[1024*4];
- DWORD p;
- void _stdcall StartHook(){
- ZeroMemory(Buffer, 1024*4);
- p = 0;
- bCreatingPacket = true;
- }
- void _stdcall ReadBYTE(BYTE b){
- Air2::CreateFormatString(&Buffer[p], " %b", b);
- p += 2 + 1;
- }
- void _stdcall ReadWORD(WORD w){
- if(!p){
- Air2::CreateFormatString(&Buffer[p], "%w", w);
- p += 4;
- }
- else{
- Air2::CreateFormatString(&Buffer[p], " %w", w);
- p += 4 + 1;
- }
- }
- void _stdcall ReadDWORD(DWORD d){
- Air2::CreateFormatString(&Buffer[p], " %d", d);
- p += 8 + 1;
- }
- void _stdcall ReadString(char *s){
- DWORD i;
- for(i=0; s[i]; i++){}
- Air2::CreateFormatString(&Buffer[p], " \"%s\"", s);
- p += i + 2 + 1;
- }
- void _stdcall ReadData(BYTE *Data, DWORD dwSize){
- Air2::CreateFormatString(&Buffer[p], " %a", Data, dwSize);
- p += dwSize*2 + 1;
- }
- void _stdcall ReadQWORD(DWORD dw1, DWORD dw2){
- Air2::CreateFormatString(&Buffer[p], " %q", dw1, dw2);
- p += 16 + 1;
- }
- void _stdcall EndHook(){
- bCreatingPacket = false;
- }
- DWORD WriteQWORD = 0x00528CC1;
- void _declspec(naked) WriteQWORD_Hook(){
- _asm{
- pop edi
- pop esi
- push eax
- mov eax,esp
- pushad
- push [eax+0x0C]
- push [eax+0x08]
- call ReadQWORD
- popad
- pop eax
- ret 0x0008
- }
- }
- DWORD CreatePacket = 0x00AE9BDE;//jmp
- void _declspec(naked) CreatePacket_Hook(){
- _asm{
- push esi
- mov esi,[esp+0x08]
- pushad
- call StartHook
- push esi
- call ReadWORD
- popad
- pop esi
- ret 0x0004
- }
- }
- DWORD WriteBYTE = 0x00499A46;//jmp
- void _declspec(naked) WriteBYTE_Hook(){
- _asm{
- pop edi
- pop esi
- push eax
- mov eax,[esp+0x08]
- pushad
- push eax
- call ReadBYTE
- popad
- pop eax
- ret 0x0004
- }
- }
- DWORD WriteWORD = 0x00499A9B;//jmp
- void _declspec(naked) WriteWORD_Hook(){
- _asm{
- pop edi
- pop esi
- push eax
- mov eax,[esp+0x08]
- pushad
- push eax
- call ReadWORD
- popad
- pop eax
- ret 0x0004
- }
- }
- DWORD WriteDWORD = 0x00491819;//jmp
- void _declspec(naked) WriteDWORD_Hook(){
- _asm{
- pop edi
- pop esi
- push eax
- mov eax,[esp+0x08]
- pushad
- push eax
- call ReadDWORD
- popad
- pop eax
- ret 0x0004
- }
- }
- DWORD WriteString = 0x00529BB7;//jmp
- void _declspec(naked) WriteString_Hook(){
- _asm{
- add esp,0x10
- push eax
- mov eax,[esp+0x08]
- pushad
- push eax
- call ReadString
- popad
- pop eax
- ret 0x0004
- }
- }
- DWORD WriteData = 0x005986A5;//jmp
- void _declspec(naked) WriteData_Hook(){
- _asm{
- pop esi
- pop ebx
- push eax
- mov eax,esp
- pushad
- push [eax+0x0C]
- push [eax+0x08]
- call ReadData
- popad
- pop eax
- ret 0x0008
- }
- }
- DWORD SentPacket = 0x01F08141;
- DWORD SentPacket_Ret = 0x01F08149;
- void _declspec(naked) SentPacket_Hook(){
- _asm{
- pushad
- call EndHook
- popad
- pushfd
- mov dword ptr [esp],0xAE2D2DEA
- jmp dword ptr [SentPacket_Ret]
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement