00:00 < deen> Learath2 likes to push binaries around! 00:00 < deen> Learath2 likes to push binaries around! 00:01 * matricks continues to pack 00:01 * matricks continues to pack 00:02 < Learath2> how dare you say that about me deen!!! 00:02 < Learath2> how dare you say that about me deen!!! 00:02 < deen> Learath2: aren't you working on the autoupdater that would push binaries around the internet!? 00:02 < deen> Learath2: aren't you working on the autoupdater that would push binaries around the internet!? 00:03 < Learath2> deen: I decided i really dont get along with STL containers :P 00:03 < Learath2> deen: I decided i really dont get along with STL containers :P 00:04 < Learath2> debugging them is painful too 00:04 < Learath2> debugging them is painful too 00:04 <@matricks> hehe 00:04 <@matricks> hehe 00:04 < deen> Intel decided the same and now I'm stuck converting STL code to plain C 00:04 < deen> Intel decided the same and now I'm stuck converting STL code to plain C 00:05 <@matricks> STL is.. well.. overengineered :) 00:05 <@matricks> STL is.. well.. overengineered :) 00:05 < Learath2> thats nice :) 00:05 < Learath2> thats nice :) 00:05 < Learath2> you should thank them deen 00:05 < Learath2> you should thank them deen 00:07 < Learath2> while im here any idea what "0x0051d740 in std::string::c_str() const ()" is trying to tell me 00:07 < Learath2> while im here any idea what "0x0051d740 in std::string::c_str() const ()" is trying to tell me 00:07 < Learath2> SIGSEGV :/ 00:07 < Learath2> SIGSEGV :/ 00:07 <@matricks> sounds like a broken string 00:07 <@matricks> sounds like a broken string 00:07 <@matricks> run it through valgrind 00:07 <@matricks> run it through valgrind 00:08 < Learath2> oh yeah the string is broken b/c libcurl decided it no longer wants to download from https :( 00:08 < Learath2> oh yeah the string is broken b/c libcurl decided it no longer wants to download from https :( 00:34 < JulianAssange> el oh el @ https://github.com/teeworlds/teeworlds/commit/a766cb44bcffcdb0b88e776d01c5ee1323d44f85 00:34 < JulianAssange> el oh el @ https://github.com/teeworlds/teeworlds/commit/a766cb44bcffcdb0b88e776d01c5ee1323d44f85 00:35 < JulianAssange> does that even fix the problem 00:35 < JulianAssange> does that even fix the problem 00:35 < JulianAssange> or just make it harder to cause 00:35 < JulianAssange> or just make it harder to cause 00:36 < deen> JulianAssange: fixes it because the Offset doesn't get negative anymore 00:36 < deen> JulianAssange: fixes it because the Offset doesn't get negative anymore 00:36 < deen> checking whether the offset is negative after the overflow is undefined in C as I learned the hard way 00:36 < deen> checking whether the offset is negative after the overflow is undefined in C as I learned the hard way 00:40 < Peasant65> deen , are you still here? I don't seem to get that patch binary to work (yes i know i said i'd go t sleep, fuck it) 00:40 < Peasant65> deen , are you still here? I don't seem to get that patch binary to work (yes i know i said i'd go t sleep, fuck it) 00:41 < deen> JulianAssange: did you find anything interesting in TW? I think you were running some automated tool on the source? 00:41 < deen> JulianAssange: did you find anything interesting in TW? I think you were running some automated tool on the source? 00:41 < deen> Peasant65: Hm, I've never tried it myself, I prefer to compile everything. Are you on Windows? 00:41 < deen> Peasant65: Hm, I've never tried it myself, I prefer to compile everything. Are you on Windows? 00:41 < Peasant65> ubuntu linux 64 bit 00:41 < Peasant65> ubuntu linux 64 bit 00:41 < deen> then it should work. you probably have to remain the binary to have a .exe file ending 00:41 < deen> then it should work. you probably have to remain the binary to have a .exe file ending 00:42 < Peasant65> File "fix.py", line 38 print("{:2d}, {:2d}".format(offset_prev_mov, offset_prev_imul), end=", ") ^ SyntaxError: invalid syntax 00:42 < Peasant65> File "fix.py", line 38 print("{:2d}, {:2d}".format(offset_prev_mov, offset_prev_imul), end=", ") ^ SyntaxError: invalid syntax 00:42 < deen> try python2/python3? 00:42 < deen> try python2/python3? 00:43 < Peasant65> ive tried ./fix.py ./srv ./fix.py srv python ./fix.py ./srv and all possible combinations that are lgically following :P 00:43 < Peasant65> ive tried ./fix.py ./srv ./fix.py srv python ./fix.py ./srv and all possible combinations that are lgically following :P 00:43 < Peasant65> I will 00:43 < Peasant65> I will 00:43 < deen> Peasant65: but if you're on ubuntu recompiling is pretty easy 00:43 < deen> Peasant65: but if you're on ubuntu recompiling is pretty easy 00:43 < Learath2> you need py3 for the script 00:43 < Learath2> you need py3 for the script 00:43 < Peasant65> deen I havn't compiled anything yet 00:43 < Peasant65> deen I havn't compiled anything yet 00:44 < Peasant65> yes i see it patched it 00:44 < Peasant65> yes i see it patched it 00:44 < Peasant65> is there a real benefit with recompiling instead of using the patcher ? 00:44 < Peasant65> is there a real benefit with recompiling instead of using the patcher ? 00:45 < deen> for me the benefit is that I don't have to trust the person who compiled it and can easily change stuff myself 00:45 < deen> for me the benefit is that I don't have to trust the person who compiled it and can easily change stuff myself 00:45 < Learath2> only benefit is you see what you are compiling 00:45 < Learath2> only benefit is you see what you are compiling 00:47 < Peasant65> ok 00:47 < Peasant65> ok 00:47 < Peasant65> so functionally there's no benefit ? 00:47 < Peasant65> so functionally there's no benefit ? 00:47 < deen> You may get a bit better optimization with a more recent compiler 00:47 < deen> You may get a bit better optimization with a more recent compiler 00:47 < Peasant65> I should be looking into compiling myself anyway, just to learn :P 00:47 < Peasant65> I should be looking into compiling myself anyway, just to learn :P 00:47 < Peasant65> ok 00:47 < Peasant65> ok 00:48 < Peasant65> but I think that won't be noticable with something like teeworlds server ? 00:48 < Peasant65> but I think that won't be noticable with something like teeworlds server ? 00:48 < deen> Depends on the number of players you expect, but yeah, CPU usage is pretty low 00:48 < deen> Depends on the number of players you expect, but yeah, CPU usage is pretty low 00:49 < Peasant65> ok 00:49 < Peasant65> ok 00:49 < Peasant65> thx again :) you saved my ehm month or so, and i've learned some things to :D 00:49 < Peasant65> thx again :) you saved my ehm month or so, and i've learned some things to :D 00:49 < deen> Good luck with compiling and learning more =) 00:49 < deen> Good luck with compiling and learning more =) 00:49 < Peasant65> thx 00:49 < Peasant65> thx 00:50 < Peasant65> g'night :P 00:50 < Peasant65> g'night :P 00:50 < deen> good night 00:50 < deen> good night 01:58 < JulianAssange> i didn't bother to look at the integar issues 01:58 < JulianAssange> i didn't bother to look at the integar issues 01:58 < JulianAssange> perhaps I should 01:58 < JulianAssange> perhaps I should 01:59 < JulianAssange> so deen it was like somearray[ChunkSize] ? 01:59 < JulianAssange> so deen it was like somearray[ChunkSize] ? 02:03 < JulianAssange> but the only immediate issues i found were in the [outdated] libraries and stuff 02:03 < JulianAssange> but the only immediate issues i found were in the [outdated] libraries and stuff 02:05 < JulianAssange> https://i.imgur.com/ViqGR6k.png was something 02:05 < JulianAssange> https://i.imgur.com/ViqGR6k.png was something 02:06 < JulianAssange> so if an image has the length of 2^31, it'll segfault I guess 02:06 < JulianAssange> so if an image has the length of 2^31, it'll segfault I guess 04:06 < deen> JulianAssange: interesting, I tried some (very limited) fuzzing using afl-fuzz but found nothing 04:06 < deen> JulianAssange: interesting, I tried some (very limited) fuzzing using afl-fuzz but found nothing 04:07 < deen> JulianAssange: yes, it was 04:07 < deen> JulianAssange: yes, it was 04:10 < deen> i found a segfault in wavpack as well 04:10 < deen> i found a segfault in wavpack as well 04:11 < deen> Sounds like upgrading the libraries is pretty important, zlib for example says "Version 1.2.8 fixes a very rare bug in decompression. All users are encouraged to upgrade immediately." 04:11 < deen> Sounds like upgrading the libraries is pretty important, zlib for example says "Version 1.2.8 fixes a very rare bug in decompression. All users are encouraged to upgrade immediately." 08:47 < JulianAssange> lol that zlib 08:47 < JulianAssange> lol that zlib 08:47 08:47 < JulianAssange> the same zlib that went to mars< JulianAssange> the same zlib that went to mars 08:48 08:48 < JulianAssange> http://blog.securitymouse.com/2014/06/raising-lazarus-20-year-old-bug-that.html< JulianAssange> http://blog.securitymouse.com/2014/06/raising-lazarus-20-year-old-bug-that.html 08:48 08:48 < JulianAssange> deen: did you disable checksums< JulianAssange> deen: did you disable checksums 11:19 < deen> JulianAssange: in TW? I disabled compression and recalculated the UDP checksum 11:19 < deen> JulianAssange: in TW? I disabled compression and recalculated the UDP checksum 16:01 16:01 < JulianAssange> deen: doesn't TW have checksums on maps? if it does, that would have messed up the afl-fuzz stuff< JulianAssange> deen: doesn't TW have checksums on maps? if it does, that would have messed up the afl-fuzz stuff 16:02 < deen> Well, I stopped fuzzing maps because that segfaulted everywhere and looked hard to fix 16:02 < deen> Well, I stopped fuzzing maps because that segfaulted everywhere and looked hard to fix 16:02 < deen> I fuzzed the network input 16:02 < deen> I fuzzed the network input 16:03 < deen> JulianAssange: but the map segfaults are at least all on reads it seems 16:03 < deen> JulianAssange: but the map segfaults are at least all on reads it seems 16:03 < deen> no boundary checks at all 16:03 < deen> no boundary checks at all 16:04 16:04 < JulianAssange> can those segfaults be caused on clients too?< JulianAssange> can those segfaults be caused on clients too? 16:05 16:05 < JulianAssange> i.e patch the server, don't patch the client, client joins patched server, client crashes< JulianAssange> i.e patch the server, don't patch the client, client joins patched server, client crashes 16:22 < deen> JulianAssange: yes 16:22 < deen> JulianAssange: yes 16:22 < deen> (iirc) 16:22 < deen> (iirc) 16:24 16:24 < JulianAssange> should probably be fixed, idk< JulianAssange> should probably be fixed, idk 16:24 16:24 < JulianAssange> should try fuzzing the serverlist< JulianAssange> should try fuzzing the serverlist 16:24 < deen> JulianAssange: I tried, but couldn't find a way to find the boundaries for some indices and gave up 16:24 < deen> JulianAssange: I tried, but couldn't find a way to find the boundaries for some indices and gave up 16:24 < deen> you mean server list display in client? 16:24 < deen> you mean server list display in client? 16:25 16:25 < JulianAssange> yes< JulianAssange> yes 16:25 < deen> my fuzzing methodology is too primitive for that 16:25 < deen> my fuzzing methodology is too primitive for that 16:26 16:26 < JulianAssange> me too< JulianAssange> me too 16:26 16:26 < JulianAssange> but in output/(or whatever you use)/queues/< JulianAssange> but in output/(or whatever you use)/queues/ 16:26 16:26 < JulianAssange> you will have every config that is 'unique'< JulianAssange> you will have every config that is 'unique' 16:26 16:26 < JulianAssange> a unique path*< JulianAssange> a unique path* 16:28 16:28 < JulianAssange> you could also try to fuzz the masterservers locally< JulianAssange> you could also try to fuzz the masterservers locally 16:35 < deen> hm, i found it more rewarding to fuzz libraries and programs that work on simple files 16:35 < deen> hm, i found it more rewarding to fuzz libraries and programs that work on simple files