|
You last visited: Today at 13:48
Advertisement
Warrock - Code Snippets
Discussion on Warrock - Code Snippets within the WarRock forum part of the Shooter category.
05/27/2013, 23:28
|
#1006
|
elite*gold: 73
Join Date: Mar 2011
Posts: 2,908
Received Thanks: 8,548
|
Quote:
sicher doch
Quote:
|
7) Solltet ihr einen Sourcecode posten, welcher nicht von euch stammt, seid ihr verpflichtet wahrheitsgemäße Credits anzugeben.
|
|
|
|
05/28/2013, 14:16
|
#1007
|
elite*gold: 0
Join Date: May 2013
Posts: 109
Received Thanks: 145
|
Quote:
Originally Posted by Zyzz__
|
Nächste mal mal geht Credits an mich
& nun zu dir du lappen du schreibst auch nicht Credits hin obwohl ich dir sources gegeben hab
Die Scene früher war viel gechillter und nicht so Arrogant wie jetzt.
es würde früher viel mehr geholfen & now denken jeder is babo o.O
|
|
|
05/28/2013, 14:41
|
#1008
|
elite*gold: 73
Join Date: Mar 2011
Posts: 2,908
Received Thanks: 8,548
|
Quote:
|
& nun zu dir du lappen du schreibst auch nicht Credits hin obwohl ich dir sources gegeben hab
|
ich nutz nix von dir du vogel aber wenn du das meinst kannst du mir sicher die funktion nennen die angeblich von dir ist
|
|
|
05/28/2013, 14:53
|
#1009
|
elite*gold: 420
Join Date: Jan 2012
Posts: 1,082
Received Thanks: 1,000
|
Zum Thema VirtualProtect: Klasse, RAII
|
|
|
05/28/2013, 15:38
|
#1010
|
elite*gold: 0
Join Date: May 2013
Posts: 4
Received Thanks: 0
|
please someone help me, need not be full bypass, only to leave without being detected by signatures.
I will not use it for warrock but to combat arms is for my personal use.
page of ehsvc dump:
|
|
|
05/28/2013, 16:33
|
#1011
|
elite*gold: 123
Join Date: Sep 2009
Posts: 1,920
Received Thanks: 1,052
|
Quote:
Originally Posted by SilverRazzer <3
Nächste mal mal geht Credits an mich
& nun zu dir du lappen du schreibst auch nicht Credits hin obwohl ich dir sources gegeben hab
Die Scene früher war viel gechillter und nicht so Arrogant wie jetzt.
es würde früher viel mehr geholfen & now denken jeder is babo o.O
|
Was bist du denn für neh Käsemilbe?
Heulst in deinem "Abschiedsthread" herum, dass ja alle so scheiße sind und dich fertig machen, aber selber biste nicht besser. Wenn du die Leute hier beleidigst, die dir helfen wollen bzw. dich darauf hinweisen, dass nicht DU der Verfasser des Quellcodes bist, brauchst du dich ueberhaupt nicht wundern, wenn Du dann auch mal etwas abbekommst.
Eigentlich ist es peinlich, auch noch zu wollen, dass die Credits an dich gehen - wenn man sich den Code mal genauer anschaut ....
EDIT:// Außerdem ist Kazbah / Zyzz schon seit 2011/2012 dabei.
|
|
|
05/28/2013, 21:41
|
#1012
|
elite*gold: 297
Join Date: Dec 2010
Posts: 1,129
Received Thanks: 1,687
|
Mapping von SEH-Exceptions (EXCEPTION_ACCESS_VIOLATION etc.) zu C++-Exceptions
seh_exceptions.h
Code:
#pragma once
#include <system_error>
#include <utility>
#include <Windows.h>
#include <excpt.h>
#include <eh.h>
class seh_exception : public std::system_error
{
EXCEPTION_POINTERS *_ep;
static __declspec(thread) _se_translator_function _old_translator;
static void translator(unsigned int code, EXCEPTION_POINTERS *ep);
seh_exception(unsigned int code, EXCEPTION_POINTERS *ep);
public:
static void enable_for_this_thread();
static void disable_for_this_thread();
static bool is_enabled_for_this_thread();
static void ignore(const seh_exception &e);
template <typename TryBlock, typename CatchBlock = decltype(&ignore)>
static bool handle(TryBlock &&try_block, CatchBlock &&catch_block = &ignore);
virtual ~seh_exception();
virtual const char *what() const override;
virtual EXCEPTION_POINTERS *exception_pointers() const;
};
template <typename TryBlock, typename CatchBlock>
bool seh_exception::handle(TryBlock &&try_block, CatchBlock &&catch_block)
{
bool was_enabled = seh_exception::is_enabled_for_this_thread();
try
{
seh_exception::enable_for_this_thread();
std::forward<TryBlock>(try_block)();
return true;
}
catch(const seh_exception &e)
{
std::forward<CatchBlock>(catch_block)(e);
if (!was_enabled)
seh_exception::disable_for_this_thread();
return false;
}
catch(...)
{
if (!was_enabled)
seh_exception::disable_for_this_thread();
throw;
}
}
seh_exception.cpp
Code:
#include "seh_exception"
__declspec(thread) _se_translator_function seh_exception::_old_translator = &seh_exception::translator;
void seh_exception::translator(unsigned int code, EXCEPTION_POINTERS *ep)
{
throw seh_exception(code, ep);
}
seh_exception::seh_exception(unsigned int code, EXCEPTION_POINTERS *ep)
: _ep(ep), std::system_error(code, std::generic_category())
{
}
void seh_exception::enable_for_this_thread()
{
if (!is_enabled_for_this_thread())
_old_translator = _set_se_translator(&translator);
}
void seh_exception::disable_for_this_thread()
{
if (is_enabled_for_this_thread())
_old_translator = _set_se_translator(_old_translator);
}
bool seh_exception::is_enabled_for_this_thread()
{
return _old_translator != &translator;
}
void seh_exception::ignore(const seh_exception &)
{
}
seh_exception::~seh_exception()
{
}
const char *seh_exception::what() const
{
return "seh_exception";
}
EXCEPTION_POINTERS *seh_exception::exception_pointers() const
{
return _ep;
}
main.cpp (Beispielhafte Anwendung)
Code:
#include <iostream>
#include "seh_exception.h"
int main(int argc, char *argv[])
{
seh_exception::handle([]
{
int *p = nullptr;
*p = 1; // raise EXCEPTION_ACCESS_VIOLATION
}, [](const seh_exception &e)
{
std::cerr << e.code().value() << std::endl;
});
// keep cmd.exe alive
std::cin.get();
return 0;
}
Im Beispiel wird eine SEH-Exceptions aufgefangen, die geworfen wurde, als nullptr dereferenziert wurde. Der ExceptionCode dieser Exception ist EXCEPTION_ACCESS_VIOLATION und die für uns im folgenden interessanteste.
Was muss ich bei der Benutzung von seh_exception beachten?
Um das benutzen zu können, muss man in Visual Studio die Einstellung /EHa setzen: Projekt > Eigenschaften > C/C++ > Codegenerierung > C++ Ausnahmen aktivieren > Ja bei SEH-Ausnahmen (/EHa)
SEH-Exceptions werden für jeden Thread, der seh_exception::enable_for_this_thread() aufgerufen hat, aktiviert.
Das deaktiveren ist für den jeweiligen Thread mit seh_exception::disable_for_this_thread() möglich, aber optional.
seh_exception::handle übernimmt das jeweils für euch.
Die Funktion _set_se_translator sollte nicht innerhalb von seh_exception::handle verwendet werden.
Ist das zweite Parameter von seh_exception::handle nicht spezifiziert, ist es &seh_exception::ignore; diese Funktion macht nichts.
Wichtig ist außerdem, dass DisableThreadLibraryCalls nicht für ein Modul benutzt werden darf, das seh_exception benutzt. Grund dafür ist, dass seh_exception TLS (Thread-Local Storage) benutzt.
Warum seh_exception die Stabilität eurer Cheats erhöhen kann? Ein weiteres Beispiel (Pseudo-Code):
pseudo-code.cpp
Code:
// solange der cheat aktiv ist
while(cheat_is_enabled())
{
// warte, bis der spieler ingame ist
wait_until_player_is_ingame();
// führe die player cheats aus
player_cheats();
}
Aber was ist, wenn der Spieler das Spiel verlässt, während player_cheats() ausgeführt wird?
Es crasht! Der Playerpointer ist dann nämlich nullptr, bei dessen Zugriff eine EXCEPTION_ACCESS_VIOLATION auftritt.
Um das zu verhindern wollen wir also bei Auftritt einer solchen Exception wieder zu wait_until_player_is_ingame() springen.
Wir wollen also seh_exception::handle so benutzen:
Code:
// solange der cheat aktiv ist
while(cheat_is_enabled())
{
// warte, bis der spieler ingame ist
wait_until_player_is_ingame();
// jetzt kommt der spannende trick
seh_exception::handle([]
{
// rufe player_cheats auf und breche bei einer seh_exception ab
player_cheats();
}, [](const seh_exception &err)
{
// das wird aufgerufen, wenn eine seh_exception stattgefunden hat
write_to_log(err.what());
});
}
|
|
|
05/30/2013, 13:45
|
#1013
|
elite*gold: 158
Join Date: Sep 2011
Posts: 878
Received Thanks: 2,493
|
Quote:
Originally Posted by Raz9r
...
|
Danke, dass du es für mich gemacht hast, dadurch läuft mein Cheat viel stabiler !
Ich empfehle allen, es zu nutzten
|
|
|
05/30/2013, 16:36
|
#1014
|
elite*gold: 0
Join Date: May 2013
Posts: 4
Received Thanks: 2
|
Hat mir sehr geholfen! Danke
|
|
|
05/30/2013, 16:49
|
#1015
|
elite*gold: 0
Join Date: Sep 2012
Posts: 169
Received Thanks: 130
|
Fix and Update WarRock ByPass 30.05.2013
Code:
void CzytajFunkcjeMemory(void *adr, void *ptr, int size)
{
DWORD dwback;
VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &dwback);
memcpy(adr,ptr,size);
VirtualProtect(adr,size,dwback, &dwback);
}
template <typename T>void WriteMEM(void* adr,T Vaule,T *Input = NULL)
{
if(Input == 0)
CzytajFunkcjeMemory((void*)adr,(void*)&Vaule,sizeof(T));
else
CzytajFunkcjeMemory((void*)Input,(void*)adr,sizeof(T));
}
void ObejsciePrzeciwAntyCheata (void)
{
int CzytajEhSvc;
do
{
CzytajEhSvc = (int)GetModuleHandle("EhSvc.dll");
Sleep(1000);
}
while(!CzytajEhSvc);
CzytajFunkcjeMemory((void*)(CzytajEhSvc+0x008518E),(void *)"\xC2\x04\x00", 3);
CzytajFunkcjeMemory((void*)(CzytajEhSvc+0x00A1A0),(void *)"\xC2\x04\x00", 3);
CzytajFunkcjeMemory((void*)0x5DA1BC, (void*)"\xC3", 1);
}
Credits:
Fix and Update: Speaker
Source: Xave
|
|
|
05/30/2013, 18:19
|
#1016
|
elite*gold: 40
Join Date: Mar 2013
Posts: 1,396
Received Thanks: 778
|
Quote:
Originally Posted by Spe@ker
...
|
Da wir hier in einem Deutsch / Englisch sprachigem Forum sind und da Programmiersprachen meistens Englisch sind, sollte man die Funktionen auf Deutsch oder Englisch beschriften.
|
|
|
05/30/2013, 19:37
|
#1017
|
elite*gold: 123
Join Date: Sep 2009
Posts: 1,920
Received Thanks: 1,052
|
Quote:
Originally Posted by C0RE'
Da wir hier in einem Deutsch / Englisch sprachigem Forum sind und da Programmiersprachen meistens Englisch sind, sollte man die Funktionen auf Deutsch oder Englisch beschriften.
|
Da hast Du natürlich Recht.
Hier geht's aber nicht darum, den Benutzern dieser Funktion alles recht zu machen.
Kann ja jeder so nennen, wie er möchte.
Daher ist der gewählte namen für die Klassen i.O.
|
|
|
05/30/2013, 20:06
|
#1018
|
elite*gold: 40
Join Date: Mar 2013
Posts: 1,396
Received Thanks: 778
|
Finde das aber gerade für Anfänger schlecht. Besser wären richtige Beschriftungen.
Man beschriftet ja auch nicht ein Mathematik Heft mit Physik o.Ä
|
|
|
05/30/2013, 21:48
|
#1019
|
elite*gold: 0
Join Date: Apr 2013
Posts: 80
Received Thanks: 159
|
Code:
Name : Walk Position or PlayerHeight
Author : CyberMask
Description : With this function you can establish walk position & increase player height
Screen :
Code:
switch ( pPlayerHacks->WalkHeight )
{
default : MakeFloat(0x8C89A4,40.0f);break;
case 1: MakeFloat(0x8C89A4,70.0f);break;
case 2: MakeFloat(0x8C89A4,100.0f);break;
case 3: MakeFloat(0x8C89A4,150.0f);break;
case 4: MakeFloat(0x8C89A4,200.0f);break;
case 5: MakeFloat(0x8C89A4,300.0f);break;
}
Source made by me and Addy found by me
Enjoy and give credits
|
|
|
05/31/2013, 08:40
|
#1020
|
elite*gold: 0
Join Date: Jul 2012
Posts: 1,426
Received Thanks: 1,370
|
Quote:
Originally Posted by CyberMask
Code:
Name : Walk Position or PlayerHeight
Author : CyberMask
Description : With this function you can establish walk position & increase player height
Screen :
Code:
switch ( pPlayerHacks->WalkHeight )
{
default : MakeFloat(0x8C89A4,40.0f);break;
case 1: MakeFloat(0x8C89A4,70.0f);break;
case 2: MakeFloat(0x8C89A4,100.0f);break;
case 3: MakeFloat(0x8C89A4,150.0f);break;
case 4: MakeFloat(0x8C89A4,200.0f);break;
case 5: MakeFloat(0x8C89A4,300.0f);break;
}
Source made by me and Addy found by me
Enjoy and give credits
|
Code:
oO ist VirtualJump other coders found it since 3years xD :)
|
|
|
Similar Threads
|
WarRock EU - Code Snippets
07/12/2012 - WarRock - 7490 Replies
Hi Leute,
in diesem Thread könnt ihr:
-> Nach Sourcecodes fragen(Beispiel unten)
-> Eure Sourcecodes posten(Wenn sie nicht von euch sind mit Credits!)
-> Fragen ob eure Source evtl. einen Fehler hat
-> Fragen was welcher Fehler bedeuted
-> Sourcecodes entnehmen(Bitte beim Release dann Credits angeben!)
|
All times are GMT +1. The time now is 13:49.
|
|