[Release] PacketLogger

07/06/2020 19:33 romdrak#271
Might be useful for someone [Only registered and activated users can see links. Click Here To Register...]. (get player name, inject packetlogger, hide packetlogger) Again in python.

Edit, example use:
Code:
from utils import setup_all_clients, PacketLoggerWrapper
from asyncio import run

async def main():
    port = 13245
    packet_logger = PacketLoggerWrapper(port)
    packet_logger.serve()
    while True:
        print("Waiting for map change.")
        c_map_packet = await packet_logger.wait_for_packet(lambda _packet: _packet[1] == "c_map")
        print("Map have been changed, c_map packet:", c_map_packet)

run(main())
07/07/2020 12:13 maxderloser2#272
I've wrote a little Helper-Function in C# to get the IP:Port by ProcessName.

Leaving it here in case anybody needs it.

Function (First Adress Only)
Function (IEnumerable All Addresses)
07/07/2020 18:12 Hatz~#273
Hello, im a beginner programmer and i would like to learn how to send packets to this packetlogger with a c++ programm but i dont really know how, i read some ppl saying you have to make a TCP connection or something like that? but i dont really know how to do this on c++ so my questions are: Should i just search for a youtube video or something of someone making a TCP client in c++ and copy it to my program? Should i learn AutoIT to use the TCP feature provided by BladeTiger12? If someone can help me i'd be so grateful :)
07/07/2020 21:11 romdrak#274
Quote:
Originally Posted by Hatz~ View Post
Hello, im a beginner programmer and i would like to learn how to send packets to this packetlogger with a c++ programm but i dont really know how, i read some ppl saying you have to make a TCP connection or something like that? but i dont really know how to do this on c++ so my questions are: Should i just search for a youtube video or something of someone making a TCP client in c++ and copy it to my program? Should i learn AutoIT to use the TCP feature provided by BladeTiger12? If someone can help me i'd be so grateful :)
You can use almost every language that supports sockets. If you don't care much about speed, then I recommend python (pretty easy to write something that somehow works). Today I wrote small snippet, where I keep track of player position, id, name. [Only registered and activated users can see links. Click Here To Register...]. Maybe it helps
07/07/2020 22:00 Hatz~#275
Quote:
Originally Posted by romdrak View Post
You can use almost every language that supports sockets. If you don't care much about speed, then I recommend python (pretty easy to write something that somehow works). Today I wrote small snippet, where I keep track of player position, id, name. [Only registered and activated users can see links. Click Here To Register...]. Maybe it helps
The problem is i dont really know anything about TCP connections and that kind of stuff so i have no idea what code to write x). I've been playing a bit on autoit with the API provided by BladeTiger12 and i have one question, how can i send x packet to 1 client and y packet to second client?
07/07/2020 22:17 Limoo#276
Quote:
Originally Posted by Hatz~ View Post
The problem is i dont really know anything about TCP connections and that kind of stuff so i have no idea what code to write x). I've been playing a bit on autoit with the API provided by BladeTiger12 and i have one question, how can i send x packet to 1 client and y packet to second client?
I'm using VB.NET
This is my code (not mine but i use it XD)

The first function is used to connect to the packetlogger.
To connect you have to write: ConnectTCP("127.0.0.1", "65656") (65656 is the port)
If you want to know if it's connected correctly you can use an if: If ConnectTCP("127.0.0.1", "65656") = True Then ...

Now that you are connected, you can receive the packets and send them.

To receive them you must write: STRING() = Split(ReceiveFromPacketLogger(), vbCr) (vbCr = return to line beginning)
Now you have a string with multiple lines, so you can use a loop to read them all.
Code:
For K As Integer = 0 To STRING.Length - 1
        STRING(K) is the string of your packet
Next K
To send the packets you have to write:
SendToPacketLogger("1 u_s 3 1 1010") (1 u_s 3 1 1010 is the string of the packet that I want to send. It has 1 ahead because it's a SEND)

I'm not a programmer and I understood these things with Google. I hope I have explained myself well :D
You can contact me on discord if you don't understand something
07/07/2020 22:24 Hatz~#277
Quote:
Originally Posted by Limoo View Post
I'm using VB.NET
This is my code (not mine but i use it XD)

The first function is used to connect to the packetlogger.
To connect you have to write: ConnectTCP("127.0.0.1", "65656") (65656 is the port)
If you want to know if it's connected correctly you can use an if: If ConnectTCP("127.0.0.1", "65656") = True Then ...

Now that you are connected, you can receive the packets and send them.

To receive them you must write: STRING() = Split(ReceiveFromPacketLogger(), vbCr) (vbCr = return to line beginning)
Now you have a string with multiple lines, so you can use a loop to read them all.
Code:
For K As Integer = 0 To STRING.Length - 1
        STRING(K) is the string of your packet
Next K
To send the packets you have to write:
SendToPacketLogger("1 u_s 3 1 1010") (1 u_s 3 1 1010 is the string of the packet that I want to send. It has 1 ahead because it's a SEND)

I'm not a programmer and I understood these things with Google. I hope I have explained myself well :D
You can contact me on discord if you don't understand something
Thx for your answer :). And how can you send packets to different clients each one with a different packetlogger(port)?
07/07/2020 22:30 Limoo#278
Quote:
Originally Posted by Hatz~ View Post
Thx for your answer :). And how can you send packets to different clients each one with a different packetlogger(port)?
It's a little tricky haha, try creating multiple Sockets.TcpClient and Sockets.NetworkStream
07/07/2020 22:33 jorgehermo9#279
As many ppl are posting their port-detection code, here is mine on python:

Code:
import pygetwindow as gw

def getPorts():
    windows = gw.getWindowsWithTitle('BladeTiger')
    titles = []
    for i in range(0, len(windows)):
        titles.append(windows[i].title)
    ports = []
    for i in range(0, len(titles)):
        ports.append(titles[i].split('127.0.0.1:')[1])
    return ports
07/08/2020 01:39 Hatz~#280
Uh i have another question, i almost created a program for invite myself to the miniland and use buff on the alters using the packetlogger but i want my sader to click on my main character and i think the right packet to send is the "ncif" packet but when i send it nothing happens, anyone know why does this happens?
07/08/2020 06:55 romdrak#281
Ncif is just requesting data about currently targeted entity. If you want to target spell on someone, you have to pass target id (or how is it called) to u_s packet.

"u_s {skill.cast_id} {target.type} {target.id}"
07/08/2020 14:31 Hatz~#282
i got another question, what's the packet "eff" used for? i searched on google but i couldnt find anything
07/08/2020 14:48 FI0w#283
Quote:
Originally Posted by Hatz~ View Post
i got another question, what's the packet "eff" used for? i searched on google but i couldnt find anything
eff stands for effect. it applies a effect to the character like the blue dog when u use the amulet from act1.
07/09/2020 14:55 Hatz~#284
Im here with a new question :). When i send the "walk" packet i noticed that the character move on other nostale windows but on the character that it's moving the character stays on the same position so i was looking for some packet needed to see the walk animation and some ppl said only way of changing the position of the character was with "tp" packet but that packet teleports de character to the specified location, so i would like to know if there's a packet for the "walk animation" because some bots like NosBota worked pretty good (i dont know if that bot used packets for walking, i guess it did)
07/09/2020 19:02 BladeTiger12#285
Quote:
Originally Posted by Hatz~ View Post
Im here with a new question :). When i send the "walk" packet i noticed that the character move on other nostale windows but on the character that it's moving the character stays on the same position so i was looking for some packet needed to see the walk animation and some ppl said only way of changing the position of the character was with "tp" packet but that packet teleports de character to the specified location, so i would like to know if there's a packet for the "walk animation" because some bots like NosBota worked pretty good (i dont know if that bot used packets for walking, i guess it did)
Nope, the most bots use a "walk to position X/Y" function. (Function calling)
It sends the packet automatically and calculates the whole way/pathing if I'm not wrong.
If you want to see yourself there, you could only "fake" it by sending the "tp" package. (You will teleport but at least you will be at the X/Y position)