Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence in /home/iano/public_html/tpforums-vb5/forum/includes/class_core.php on line 5842

PHP Warning: Use of undefined constant MYSQL_NUM - assumed 'MYSQL_NUM' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: Use of undefined constant MYSQL_ASSOC - assumed 'MYSQL_ASSOC' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: Use of undefined constant MYSQL_BOTH - assumed 'MYSQL_BOTH' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ..../includes/functions_navigation.php on line 588

PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ..../includes/functions_navigation.php on line 612

PHP Warning: Use of undefined constant misc - assumed 'misc' (this will throw an Error in a future version of PHP) in ..../global.php(29) : eval()'d code(6) : eval()'d code on line 1

PHP Warning: Use of undefined constant index - assumed 'index' (this will throw an Error in a future version of PHP) in ..../global.php(29) : eval()'d code(6) : eval()'d code on line 1

PHP Warning: Use of undefined constant misc - assumed 'misc' (this will throw an Error in a future version of PHP) in ..../includes/class_bootstrap.php(1422) : eval()'d code(4) : eval()'d code on line 1

PHP Warning: Use of undefined constant index - assumed 'index' (this will throw an Error in a future version of PHP) in ..../includes/class_bootstrap.php(1422) : eval()'d code(4) : eval()'d code on line 1

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6
Full working 8.11 Delphi Hook - Page 2
Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 26

Thread: Full working 8.11 Delphi Hook

  1. #11

    Full working 8.11 Delphi Hook

    Quote Originally Posted by yaboomaster
    Uhm I still get errors when I input invalid password :/ anybody know how to fix it?
    Code:
    Injecting...
    Hook Injected!
    Sent: ? . 5sLPI . - . b?Hu?> . h;0jgQv?]`Em@_P<?? . j8A4?=g7y??F???9f?? . ANW .  . v;ö(--:M . ??B . U . ?S . 0?-%?I85\) . _{ . ?
    Recv: ( . & .  . # . You must enter your account number.
    Recv:
    working fine for me, did u update to 0.3 version?

  2. #12

    Full working 8.11 Delphi Hook

    Sorry It was my mistake, I was testing it at OT :P Srry one more time :*

    Any ideas how to block packets?

  3. #13

    Full working 8.11 Delphi Hook

    remove the Result := recvNext(s, Buf, len, flags);

    for example

    Code:
    If ( ReadPacketAbleToBlock = True ) then
        begin
          //Result := recvNext(s, Buf, len, flags);
        end
    else
         begin
            Result := recvNext(s, Buf, len, flags);
         end;
    u have to make a function to read incoming packet and say if its ok to block or dont block

  4. #14

    Full working 8.11 Delphi Hook

    Quote Originally Posted by Diogo
    remove the Result := recvNext(s, Buf, len, flags);

    for example

    Code:
    If ( ReadPacketAbleToBlock = True ) then
        begin
          //Result := recvNext(s, Buf, len, flags);
        end
    else
         begin
            Result := recvNext(s, Buf, len, flags);
         end;
    u have to make a function to read incoming packet and say if its ok to block or dont block
    Yea but for this I need to decrypt packets inside of Dll ;P

  5. #15

    Full working 8.11 Delphi Hook

    Ok I have decryption iside of dll.

    hook.dll (with source code)


    Part of code that shows my command system (in dll ofc) :

    Code:
      DecryptPacket( Dados.BufArray,Dados.Tamanho );
    
      if (dados.BufArray[4]=$96) then
        begin
          if ConvertDataToASCII( Dados.BufArray,8,0)='\' then
          begin
           if ConvertDataToASCII( Dados.BufArray,9,1)='up' then
             begin
              Pakiet.BufArray[0] := $08;
              Pakiet.BufArray[1] := $00;
              Pakiet.BufArray[2] := $01;
              Pakiet.BufArray[3] := $00;
              Pakiet.BufArray[4] := $65;
              Pakiet.BufArray[5] := $00;
              Pakiet.BufArray[6] := $00;
              Pakiet.BufArray[7] := $00;
              Pakiet.BufArray[8] := $00;
              Pakiet.BufArray[9] := $00;
              EncryptPacket(Pakiet.BufArray,Pakiet.Tamanho);
              sendNext(s,@Pakiet.BufArray,Sizeof(Pakiet.BufArray),flags);
             end;
            end else
              result := sendNext(s, Buf, len, flags);
        end else
          result := sendNext(s, Buf, len, flags);
    And when I send packet 'move up' my character goes one sqm up and then connection with server is closed O.o I happens always when I'm trying to send something too TibiaServer trough dll

  6. #16
    Senior Member
    Join Date
    Mar 2007
    Posts
    1,323

    Full working 8.11 Delphi Hook

    Do you have correct socketID?

  7. #17

    Full working 8.11 Delphi Hook

    Quote Originally Posted by OsQu
    Do you have correct socketID?
    Yea

    Code:
    function sendCallBack(s: TSocket; Buf: Pointer; len, flags: Integer): Integer; stdcall;
    var
      bResposta:Boolean;
      Dados:TPacote;
    
      //command system
      msg:string;
      Pakiet:Tpacote;
    begin
    
      Dados.BufArray := ConvertDataToArray( Buf,len );
      Dados.Tipo := 4; //sent
      Dados.Tamanho := len;
      Dados.flags := flags;
      Dados.TibiaSocket := s;
      TibiaSocketH:= s;
      TibiaFlag := flags;
    
      DecryptPacket( Dados.BufArray,Dados.Tamanho );
    
      if (dados.BufArray[4]=$96) then
        begin
          if ConvertDataToASCII( Dados.BufArray,8,0)='\' then
          begin
           if ConvertDataToASCII( Dados.BufArray,9,1)='up' then
             begin
              Pakiet.BufArray[0] := $08;
              Pakiet.BufArray[1] := $00;
              Pakiet.BufArray[2] := $01;
              Pakiet.BufArray[3] := $00;
              Pakiet.BufArray[4] := $65;
              Pakiet.BufArray[5] := $00;
              Pakiet.BufArray[6] := $00;
              Pakiet.BufArray[7] := $00;
              Pakiet.BufArray[8] := $00;
              Pakiet.BufArray[9] := $00;
              EncryptPacket(Pakiet.BufArray,Pakiet.Tamanho);
              sendNext(s,@Pakiet.BufArray,Sizeof(Pakiet.BufArray),flags);
             end;
            end else
              result := sendNext(s, Buf, len, flags);
        end else
          result := sendNext(s, Buf, len, flags);
    
      BmsComunicaIpc( 'IpcHook' , @Dados, SizeOf(Dados) ,@bResposta, SizeOf( Boolean ));
    end;

  8. #18

    Full working 8.11 Delphi Hook

    Quote Originally Posted by yaboomaster
    Ok I have decryption iside of dll.

    hook.dll (with source code)


    Part of code that shows my command system (in dll ofc) :

    Code:
      DecryptPacket( Dados.BufArray,Dados.Tamanho );
    
      if (dados.BufArray[4]=$96) then
        begin
          if ConvertDataToASCII( Dados.BufArray,8,0)='\' then
          begin
           if ConvertDataToASCII( Dados.BufArray,9,1)='up' then
             begin
              Pakiet.BufArray[0] := $08;
              Pakiet.BufArray[1] := $00;
              Pakiet.BufArray[2] := $01;
              Pakiet.BufArray[3] := $00;
              Pakiet.BufArray[4] := $65;
              Pakiet.BufArray[5] := $00;
              Pakiet.BufArray[6] := $00;
              Pakiet.BufArray[7] := $00;
              Pakiet.BufArray[8] := $00;
              Pakiet.BufArray[9] := $00;
              EncryptPacket(Pakiet.BufArray,Pakiet.Tamanho);
              sendNext(s,@Pakiet.BufArray,Sizeof(Pakiet.BufArray),flags);
             end;
            end else
              result := sendNext(s, Buf, len, flags);
        end else
          result := sendNext(s, Buf, len, flags);
    And when I send packet 'move up' my character goes one sqm up and then connection with server is closed O.o I happens always when I'm trying to send something too TibiaServer trough dll
    I think u are not using the changed packet for example
    thats your changed packet
    Code:
    sendNext(s,@Pakiet.BufArray,Sizeof(Pakiet.BufArray),flags);
    the result must receive it
    Code:
            end else
              result := sendNext(s, Buf, len, flags);
        end else
          result := sendNext(s, Buf, len, flags);
    to

    Code:
            end else
              result := sendNext(s,@Pakiet.BufArray,Sizeof(Pakiet.BufArray),flags);
        end else
          result := sendNext(s,@Pakiet.BufArray,Sizeof(Pakiet.BufArray),flags);
    Algo i think u have to use result out of your if because result must have a value so if u dont receive the right value "if (dados.BufArray[4]=$96) then" u will have nothing on result

  9. #19

    Full working 8.11 Delphi Hook

    Updated to 0.4

    Now you can send your own packet instantly =*
    Enjoy

  10. #20
    Senior Member
    Join Date
    Mar 2007
    Posts
    766

    Full working 8.11 Delphi Hook

    How did you fix the decryption of large packets? Im interested in that.
    Also to send packets to the client you must change the buffer pointer in the recv() hook and then call the real recv() function.

    Good job btw

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •