News for hackers. Stuff that matters.
Re:Apple Is Sending URLs to Tencent? by elwell on Sunday October 13, 2019 @05:07PM (#21243039)
> ____ZN7Backend6Google12SSBUtilities24shouldConsultWithTencentEv_block_invoke_2

I'm glad I don't use Objective-C... That's some Java level function naming there.

Edit: may have spoke too soon, appears to be possible reverse engineered / decompiled?

Re:Apple Is Sending URLs to Tencent? by lelf on Sunday October 13, 2019 @05:21PM (#21243132)

  bash$ c++filt <<< ____ZN7Backend6Google12SSBUtilities24shouldConsultWithTencentEv_block_invoke_2
  invocation function for block in Backend::Google::SSBUtilities::shouldConsultWithTencent()
Edit: what are downvotes for? That is the standard way to decipher C++ mangling, using built-in (binutils) tools.
Re:Apple Is Sending URLs to Tencent? by msbarnett on Sunday October 13, 2019 @05:22PM (#21243139)
You’re looking at the method name after the compiler got done mangling type information into it for the linker. The human-readable name that (what appears to be an anonymous block) likely appears within in the source code appears to be “shouldConsultWithTencent” in a namespace (class?) “Backend::Google::SSBUtilities”.

The other line noise encodes return and argument types via the process of Name Mangling: https://en.wikipedia.org/wiki/Name_mangling

Re:Apple Is Sending URLs to Tencent? by saagarjha on Sunday October 13, 2019 @05:09PM (#21243054)
This is a block invoke for a mangled C++ function. You'd know it as a lambda inside of Backend::Google::SSBUtilities::shouldConsultWithTencent().
Re:Apple Is Sending URLs to Tencent? by jimktrains2 on Sunday October 13, 2019 @05:14PM (#21243090)
It appears to be the symbol in the binary. C++ also does similar things. It's called mangling. https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling

It's also the reason you sometimes need to extern c or otherwise mark symbols being exported via a c-abi in c++ so that they don't get mangled.