07:08 <+bridge> [ddnet] Send custom messages to people when they join the server: https://github.com/d3fault/ddnet/tree/onjoin-messages --- rushed as fuck sloppy code dgaf 07:24 <+bridge> [ddnet] pro coder 07:34 <+bridge> [ddnet] wow ur ugly 18:51 <+bridge> [ddnet] `'r_anal_get_function_at’ was not declared in this scope` 18:51 <+bridge> [ddnet] Someone wasn't thinking while naming their functions 19:03 <+bridge> [ddnet] radare2 is full of that 19:04 <+bridge> [ddnet] did you see r2ghidra? 19:04 <+bridge> [ddnet] radare2 ghidra and cutter make such a nice combo 19:06 <+bridge> [ddnet] r2ghidra? no 19:06 <+bridge> [ddnet] I heard that ghidra is the much better disassembler 19:06 <+bridge> [ddnet] what's r2ghidra? some sort of brdige between r2 and ghidra? 19:06 <+bridge> [ddnet] It allows you to use ghidras decompiler in r2, so yes 19:07 <+bridge> [ddnet] uh nice 19:12 <+bridge> [ddnet] I'm really loving r2 and cutter 19:12 <+bridge> [ddnet] It might not be as fully featured as some of the other tools but it's very capable 19:13 <+bridge> [ddnet] I like that its interface is much slimmer than all these other tools' 19:32 <+bridge> [ddnet] what r u guys using these tools for? 19:37 <+bridge> [ddnet] reverse engineering 19:44 <+bridge> [ddnet] hm what stuff do you reverse engineere? 19:45 <+bridge> [ddnet] Uhm im not sure if i should open a issue but there was something wrong with the server for sure 19:48 <+bridge> [ddnet] https://paste.zillyhuhn.com/77 19:49 <+bridge> [ddnet] there were many Error sending data disconnects. 19:49 <+bridge> [ddnet] it is a known issue for sending votes but there were no vote changes so its something new 20:23 <+bridge> [ddnet] aaaaaaa 20:23 <+bridge> [ddnet] its the votes 20:23 <+bridge> [ddnet] yea 20:24 <+bridge> [ddnet] if players have bad connection packets often get dropped 20:24 <+bridge> [ddnet] but they are vital 20:24 <+bridge> [ddnet] so they get resent 20:24 <+bridge> [ddnet] and that overloading the buffer 20:27 <+bridge> [ddnet] no its not the votes 20:35 <+bridge> [ddnet] https://paste.zillyhuhn.com/vB 20:35 <+bridge> [ddnet] thats how votes would look like in the logs 20:39 <+bridge> [ddnet] @ChillerDragon I like looking at teeworlds bots 20:51 <+bridge> [ddnet] oh nice 20:51 <+bridge> [ddnet] sounds fun 20:51 <+bridge> [ddnet] do you have a specific process that you use? Do you diff against the unmodified base src? 21:15 <+bridge> [ddnet] I like to work backwards from strings 21:16 <+bridge> [ddnet] e.g. I know `--silent` is a string somewhere in the tw code, and what references that is the main function 21:19 <+bridge> [ddnet] how to anti-re-protect against @Learath2 in 5 easy steps 21:19 <+bridge> [ddnet] If you remove all the strings, sure 😛 21:20 <+bridge> [ddnet] Should store all strings encrypted, that should slow me down 21:21 <+bridge> [ddnet] To be even more annoying, encrypt them all with different keys 21:21 <+bridge> [ddnet] r2ghidra is sadly not good enough yet 😦 21:23 <+bridge> [ddnet] in what way? 21:23 <+bridge> [ddnet] have you tried using ghidra's SLEIGH before btw? 21:24 <+bridge> [ddnet] haven't really used ghidra yet 21:24 <+bridge> [ddnet] r2ghidra is having trouble mapping the types between ghidras decompiler and r2 21:39 <+bridge> [ddnet] @heinrich5991 and what do you use these tools for or do you keep that secret o.O? 21:40 <+bridge> [ddnet] @Learath2 so it’s mostly Windows executables that you look at? Any easy/interesting bots for me to start? I am kinda lazy but I would love to learn it a bit. Such a useful and interesting skill. 21:42 <+bridge> [ddnet] tried looking at some old games, nowadays doing ctf challenges, mostly 21:42 <+bridge> [ddnet] also looked at teeworlds servers occasionally 21:44 <+bridge> [ddnet] try some easy challenges first, maybe? I don't know how to start 21:44 <+bridge> [ddnet] @ChillerDragon windows, linux, doesn't really matter much 21:44 <+bridge> [ddnet] also wanted to reverse-engineer the aoc "binaries" with ghidra 21:44 <+bridge> [ddnet] but didn't get around to that yet 21:44 <+bridge> [ddnet] You can grab crackme's from a lot of places they come in a lot of different difficulties 21:46 <+bridge> [ddnet] There was that one teeworlds server with a hidden backdoor rcon password, you can try that 21:47 <+bridge> [ddnet] @ChillerDragon thats how votes look like in the log when they got added, yes 21:47 <+bridge> [ddnet] Not when they get sent to the client 21:48 <+bridge> [ddnet] https://youtu.be/kx2xp7IQNSc This is a decent talk 21:48 <+bridge> [ddnet] it's also ironic that the NSA is giving a talk at blackhat 😛 21:48 <+bridge> [ddnet] what's that? 21:49 <+bridge> [ddnet] the talk 21:49 <+bridge> [ddnet] Introduction to ghidra and the motivation behind how/why they made it 22:13 <+bridge> [ddnet] > There was that one teeworlds server with a hidden backdoor rcon password, you can try that 22:13 <+bridge> [ddnet] @Learath2 22:13 <+bridge> [ddnet] 22:13 <+bridge> [ddnet] lol like a teeworlds ctf? Where? 22:14 <+bridge> [ddnet] @fokkonaut aren’t they sent to the client after the server type changed and thus they get added? 22:14 <+bridge> [ddnet] ye 22:14 <+bridge> [ddnet] they get added (loaded from a config) 22:14 <+bridge> [ddnet] and then sent to the clienzs 22:14 <+bridge> [ddnet] Yes 22:14 <+bridge> [ddnet] but also sent on connect 22:14 <+bridge> [ddnet] So the Crash I found was not on connect or vote 22:15 <+bridge> [ddnet] it can also happen after connect ofc 22:15 <+bridge> [ddnet] When? 22:15 <+bridge> [ddnet] bad Internet -> more resends 22:15 <+bridge> [ddnet] Hm 22:15 <+bridge> [ddnet] because more drop 22:15 <+bridge> [ddnet] It was a bunch of people 22:15 <+bridge> [ddnet] see 22:15 <+bridge> [ddnet] well 22:15 <+bridge> [ddnet] that doesnt matter 22:16 <+bridge> [ddnet] So you assume it’s the known Vize issue? 22:16 <+bridge> [ddnet] when the buffer is full, which can happen with thousands of votes + resends etc, then also other people receiving packets like emote can drop 22:16 <+bridge> [ddnet] I see 22:16 <+bridge> [ddnet] Do votes get send multiple times? 22:16 <+bridge> [ddnet] (I guess, this is afaik about the networking) 22:17 <+bridge> [ddnet] I thought only once 22:17 <+bridge> [ddnet] no, but they get resend if failed to send (vital) 22:17 <+bridge> [ddnet] like any vital packet 22:17 <+bridge> [ddnet] Idk anything about this stuff 22:17 <+bridge> [ddnet] So vital packets get resend until they get a ok response? 22:17 <+bridge> [ddnet] yes 22:18 <+bridge> [ddnet] That would mean a bunch of people play a while and all the time the votes failed to send and then something happend that caused to much traffic and all those players get a disconnect? 22:18 <+bridge> [ddnet] everybody can in this case 22:19 <+bridge> [ddnet] not only those who receive the packet i think 22:19 <+bridge> [ddnet] because there is traffic at all time, to every client 22:20 <+bridge> [ddnet] This is a problem for rainbow in 0.7, which I couldnt find a solution for yet 22:20 <+bridge> [ddnet] Because rainbow in 0.7 can not be handled in the snap anymore, instead is sent as a net object 22:20 <+bridge> [ddnet] (skin change) 22:21 <+bridge> [ddnet] increasing the buffer, which i did, is of course a solution, but it only increases the time until the buffer is full, so disconnects still happen, but a bit later mostly 22:22 <+bridge> [ddnet] i had a player with 200+ ping on my server, and gave rainbow to myself only. This caused multiple people to disconnect (error sending data), not only him. But when there were only people with ~40 ping, it was possible to give rainbow to multiple people, as they do not have to get resent 22:23 <+bridge> [ddnet] -> not filling the buffer 22:23 <+bridge> [ddnet] Ah interesting 22:23 <+bridge> [ddnet] Ok really all seems to be one issue 22:24 <+bridge> [ddnet] That’s why I asked before opening a GitHub issue 🙂 thanks for explaining and sharing your experience @fokkonaut 22:24 <+bridge> [ddnet] np