Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 04:21

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



rPE Filter coding Thread

Discussion on rPE Filter coding Thread within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2007
Posts: 4
Received Thanks: 0
rPE Filter coding Thread

Ich bin ein Fan von rPE und versuche mich schon seit längerer Zeit mit dem Schreiben von eigenen Filtern. Nur bin ich der Programmiersprache Delphi nicht mächtig, und habe nicht die Zeit bei 0 anzufangen und mich bis auf das Niveau von Redox hochzuarbeiten. Deswegen ist mir die Idee für diesen Thread gekommen:

Jeder hat die Möglichkeit einen eigenen Filter für rPE hier zu posten und zu beschreiben welches Problem er damit hat, oder um anderen Usern dabei zu helfen. Das pure Fragen nach Filtern, ohne sich selber damit beschäftigt zu haben und das Ergebnis seiner Arbeit zu posten, ist nicht erlaubt.

__________________


Ich mache gleich mal den Anfang:

Ich will einen einfachen Filter schreiben mit der Option das er per Tastendruck (de)aktiviert werden kann. Der Filter ist für das Spiel Ragnarok Online und soll helfen, das Animationsdelay bei diversen Skills zu umgehen.

Ich habe meine Gedanken zu einzeln hinzugefügten Codeuzeilen farbig hervorgehoben. Auch wenn der Code auch ohne Kommentare zu verstehen wäre, soll es einfach meine Gedankengänge schildern und diese können dann gegebenfalls berichtigt werden, was zur meiner eigenen Verständnis erheblich beiträgt. Neue Erkenntnisse werden mit Grün hineineditiert.

Code:
library rPE_ex;

uses
  windows,
  Winsock2,
  winsock,
  rpefuncs;

var
enable: Boolean = false; [color=red]//definiert die Bedinung unter der der Spaming-Filter aktiviert werden soll[/color]
                  
procedure hot;
begin
 enable := true;  [color=red]//per hotkey wird diese Prozedur aufgerufen, welche diese Variable auf true gesetzt um den spaming Filter zu aktivieren[/color]
end;     
     
function Send_WS1(s: TSocket; var Buf : PChar; len, flags: Integer; pSendWs1, pRecvWs1, pSendWs2, pRecvWs2: Pointer; var IsWorking : Boolean):Integer; stdcall;

var
CurHex: string;
i : integer;

[color=green]begin[/color]
if enable then [color=red]//prüfe ob der Filter aktiviert sein soll[/color]
begin
 begin
   CurHex := GetBufferAsHex(buf, len);
   if (pos('7200',CurHex) <> 0) and (pos('005400',CurHex) <> 0) then [color=red]//suche in den gesendeten Packets nach den Hexwerten...[/color]
   begin
      @Send_Callback := pSendWs1;
      for i := 0 to 50 do  [color=red]//um ein zutreffendes Packet 50 mal[/color]
      begin
        sleep(5);  [color=red]//mit 5 ms Delay zu senden[/color]
        SendPacket(s,CurHex);
      end;
   end;
   result := 0;
 end;
end; 
[color=green]end;[/color]

begin
 Send_Callback := pSendWs1;
 aSock := s;
 result := 0;
end;

procedure DLL_Load;
begin
 IntLog('rpe_log.log');
end;

procedure DLL_UnLoad;
begin
 Running := false;
 sleep(60);
 EndLog;
end;

procedure DLLMain(dwR: integer);
begin
  case dwR of
    DLL_PROCESS_ATTACH:
      DLL_Load;
    DLL_PROCESS_DETACH:
      DLL_UnLoad;
  end;
end;

exports
 Send_WS1;
 
var a : THotKey; 
begin
  setlength(a,1);
  a[0] := VK_DOWN; [color=red]//setze den Hotkey auf "Pfeiltaste nach unten"[/color]
  SetHotKey(@Hot,a);
  Running := true;
  DLLProc := @DLLMain;
  DLLMain(DLL_PROCESS_ATTACH);
end.
Das Ganze sieht für mich relativ plausibel aus, nur kommen beim Compilen folgende Fehlermeldungen:

Code:
C:\DOKUME~1\admin\LOKALE~1\Temp\rPE\rPE_ex.dpr(23) Error: Declaration expected but 'IF' found [color=green]  //beseitigt durch einfügen von begin und end;[/color]

[color=green]C:\DOKUME~1\schueler\LOKALE~1\Temp\rPE\rPE_ex.dpr(39) Warning: Return value of function 'Send_WS1' might be undefined  //neuer Fehler dazugekommen[/color]

C:\DOKUME~1\admin\LOKALE~1\Temp\rPE\rPE_ex.dpr(41) Error: Undeclared identifier: 'pSendWs1'

C:\DOKUME~1\adminr\LOKALE~1\Temp\rPE\rPE_ex.dpr(42) Error: Undeclared identifier: 's'
Weiß ungefär was die Bedeutung der Meldung ist, weiß aber nich wie ich dabei weiter vorgehen soll. Kann mir jemand weiterhelfen?


MFG

The cr@ckp0t
cr@ckp0t is offline  
Old 03/02/2009, 14:44   #2
 
rEdoX's Avatar
 
elite*gold: 20
Join Date: Jan 2006
Posts: 539
Received Thanks: 228
Ungetestet und hier im Editor getippt:

Code:
library rPE_ex;

uses
  windows,
  Winsock2,
  winsock,
  rpefuncs;

var
  enable: Boolean = false;

procedure hot;
begin
  enable := not enable;
end;

function Send_WS1(s: TSocket; var Buf: PChar; len, flags: Integer; pSendWs1, pRecvWs1, pSendWs2, pRecvWs2: Pointer; var IsWorking: Boolean): Integer; stdcall;
var
  CurHex: string;
  i: integer;
begin
  if enable then
  begin
    CurHex := GetBufferAsHex(buf, len);
    if ((pos('7200', CurHex) <> 0) and (pos('005400', CurHex) <> 0)) then
    begin
      @Send_Callback := pSendWs1;
      for i := 0 to 50 do
      begin
        sleep(5);
        SendPacket(s, CurHex);
      end;
    end;
  end;
  result := 0;
end;

procedure DLL_Load;
var
  a: THotKey;
begin
  Running := true;
  setlength(a, 1);
  a[0] := VK_DOWN;
  SetHotKey(@Hot, a);
end;

procedure DLL_UnLoad;
begin
  Running := false;
end;

procedure DLLMain(dwR: integer);
begin
  case dwR of
    DLL_PROCESS_ATTACH:
      DLL_Load;
    DLL_PROCESS_DETACH:
      DLL_UnLoad;
  end;
end;

exports
  Send_WS1;

begin
  DLLProc := @DLLMain;
  DLLMain(DLL_PROCESS_ATTACH);
end.
rEdoX is offline  
Old 03/02/2009, 18:08   #3
 
elite*gold: 0
Join Date: Aug 2007
Posts: 4
Received Thanks: 0
Danke redox, dein Code hat mir weitergeholfen. Bei der Prozedur HOT hatte ich selber

Code:
procedure hot;
begin
 case enable of
  false: enable := true;
  true: enable := false;
 end;
end;
hinzugefügt, aber deine Lösung ist doch wesendlich einfacher.

Langsam entdecke ich Spaß an Delphi und es wäre schön, wenn sich hier noch andere anschließen würden.

Mein nächstes Projekt ist etwas Komplexer; Ich versuche mich daran, den WPE Filter zum Aufdecken von Spielern im Cloaking, Chasewalk oder Hiding nach rPE zu portieren. RPE hat zwar unter dem Beispielfilter "ro_funcs" eine Prozedur zum Aufdecken mit dabei, jedoch erkennt man keinen Unterschied zwischen Spielern mit einem der aktiven Skills und denen ohne. Als Anlage habe ich mal den rPE Filter der die Funktion beinhaltet und den "unhide_perfect" Filter von WPE. Mein erstes Ziel wäre es, den Filtercode zu strippen und nur alle Elemente zu behalten die für die "view-all" Funktion relevant sind.

MFG
Attached Files
File Type: rar FIlter für rPE und WPE.rar (3.2 KB, 66 views)
cr@ckp0t is offline  
Old 03/03/2009, 07:34   #4
 
elite*gold: 0
Join Date: Feb 2009
Posts: 22
Received Thanks: 0
..Can u help me with this sir? Please?

..pls help me how to configure this one, i dont know if this is right or what, this is for the skill of Zen+Fury+Zen to spamm Asura..but everytime i try to run it i always get the error -> Runtime error 5 at 1295690A and Runtime error 103 at 1295693b.. this is what i did, but im not so sure if its correct, pls help me


library rPE_ex;

uses12956
windows,
Winsock2,
winsock,
rpefuncs;

function Send_WS1(s: TSocket; var Buf : PChar; len, flags: Integer; pSendWs1, pRecvWs1, pSendWs2, pRecvWs2: Pointer; var IsWorking : Boolean):Integer; stdcall;
var
CurHex: string;
i : integer;
begin
CurHex := GetBufferAsHex(buf, len);
if (pos('7200',CurHex) <> 0) and ((pos('009101',CurHex)<> 0) or (pos('000E01',CurHex)<> 0) or (pos('009101',CurHex)<> 0)) then //here you can add much more skills
begin
@Send_Callback := pSendWs1;
for i := 0 to 50 do // the number how often this packet should be send
begin
sleep(10); // delay you can chhose however you like (time in ms)
SendPacket(s,CurHex);
end;
end;
result := 0;
end;

procedure DLL_Load;
begin
IntLog('c:\rpe_log.log');
end;

procedure DLL_UnLoad;
begin
Running := false;
EndLog;
end;

procedure DLLMain(dwR: integer);
begin
case dwR of
DLL_PROCESS_ATTACH:
DLL_Load;
DLL_PROCESS_DETACH:
DLL_UnLoad;
end;
end;

exports
Send_WS1;
begin
Running := true;
DLLProc := @DLLMain;
DLLMain(DLL_PROCESS_ATTACH);
end



..please help me i really wanna try it, and i had been researching on how to do this correctly but cant understand it with just simply reading of tutorials.. please sir help me..
arnie17 is offline  
Old 03/03/2009, 18:28   #5
 
rEdoX's Avatar
 
elite*gold: 20
Join Date: Jan 2006
Posts: 539
Received Thanks: 228
Code:
library rPE_ex;

uses
	windows,
	Winsock2,
	winsock,
	rpefuncs;

function Send_WS1(s: TSocket; var Buf : PChar; len, flags: Integer; pSendWs1, pRecvWs1, pSendWs2, pRecvWs2: Pointer; var IsWorking : Boolean):Integer; stdcall;
var
	CurHex: string;
	i : integer;
begin
	CurHex := GetBufferAsHex(buf, len);
	if (pos('7200',CurHex) <> 0) and ((pos('009101',CurHex)<> 0) or (pos('000E01',CurHex)<> 0) or (pos('009101',CurHex)<> 0)) then
	begin
		@Send_Callback := pSendWs1;
		for i := 0 to 50 do
		begin
			sleep(10); 
			SendPacket(s,CurHex);
		end;
	end;
	result := 0;
end;

procedure DLL_Load;
begin
	Running := true;
end;

procedure DLL_UnLoad;
begin
	Running := false;
end;

procedure DLLMain(dwR: integer);
begin
	case dwR of
	DLL_PROCESS_ATTACH:
		DLL_Load;
	DLL_PROCESS_DETACH:
		DLL_UnLoad;
end;
end;

exports
	Send_WS1;

begin
	DLLProc := @DLLMain;
	DLLMain(DLL_PROCESS_ATTACH);
end
rEdoX is offline  
Old 03/03/2009, 20:13   #6
 
elite*gold: 0
Join Date: Aug 2007
Posts: 4
Received Thanks: 0
Hi arnie, your filter won't work as you expected, because it would do the following:

If you cast Zen, rPE will send the Zen packet 50 times with 10 ms delay at once. Same thing happens if you cast Fury but after you cast the skill once it will fail because you don't have any Spheres.

If i understand this right, you want automatically send the "Zen, Fury, Zen", after you have cast Asura Strike. In this case you must add Asura Strike to the Packet which rPE looking for and if the send packets met the condition, it must send the "Zen, Fury, Zen" packets with a delay between then. To do this, capture the packets which send by the client if you cast Zen and Fury. (lil hint: skill packets normally begin with "7200") Then write a send function that send the packets with a delay.

I don't want to give you a complete filter because that is not the aim of this thread to request a filter without doing anything yourself.

My english is not the best but it's good enough to understand what i mean.


MFG
cr@ckp0t is offline  
Old 03/10/2009, 03:19   #7
 
elite*gold: 0
Join Date: Mar 2009
Posts: 3
Received Thanks: 0
dear cr@ckpot you can share ur filter asura>?
champion123 is offline  
Old 03/10/2009, 12:15   #8
 
elite*gold: 0
Join Date: Aug 2005
Posts: 443
Received Thanks: 72
ich pin das erstmal. Viel Spaß
neji is offline  
Old 03/11/2009, 10:25   #9
 
elite*gold: 0
Join Date: Mar 2009
Posts: 3
Received Thanks: 0
neji can u share the filter of asura? anyone please
champion123 is offline  
Old 03/11/2009, 10:39   #10
 
elite*gold: 0
Join Date: Mar 2009
Posts: 3
Received Thanks: 0
anyone can share ur filter asura?
champion123 is offline  
Reply


Similar Threads Similar Threads
WPE Pro - Dupe Filter + Tutorial + Klassen Filter Download (3.3.3a & 3.3.5)
03/27/2012 - WoW PServer Exploits, Hacks & Tools - 165 Replies
WPE Pro - Dupe Filter + Tutorial + Klassen Filter Download (3.3.3a & 3.3.5) Hier stelle ich euch mal eine tolle Filter Sammlung für WPE rein. Warum ich das reinstelle? Weil ich das im Inet gefunden habe und vielen die Arbeit ersparen will was ich in der letzten Woche hier hatte und immer noch zu keinem Ziel gekommen bin. Das Packet ist Viren frei, habe es selber gepackt, ihr könnt gern nachprüfen weil ich weis nicht wie das funktioniert. Download: WPE Pro - Dupe Filter + Tutorial +...
Uce Coding+ winhex coding
03/05/2009 - Dekaron - 8 Replies
i was just wondering is it true if u do coding with winhex is it less dc?? tats all cuz uce coding dcs me alot



All times are GMT +1. The time now is 04:22.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.