Skip to content

Instantly share code, notes, and snippets.

@elliotwutingfeng
Forked from kcchu/ssb_reverse.c
Created February 22, 2022 14:02
Show Gist options
  • Save elliotwutingfeng/e5835abf576672d2c12a80ec84eb8e44 to your computer and use it in GitHub Desktop.
Save elliotwutingfeng/e5835abf576672d2c12a80ec84eb8e44 to your computer and use it in GitHub Desktop.
SSB Reverse
char ____ZN7Backend6Google12SSBUtilities24shouldConsultWithTencentEv_block_invoke_2(void * _block) {
rax = [NSLocale currentLocale];
rax = [rax retain];
r14 = [[rax countryCode] retain];
[rax release];
rbx = [r14 isEqualToString:@"CN"] != 0x0 ? 0x1 : 0x0;
[r14 release];
rax = rbx;
return rax;
}
int __ZNK7Backend6Google13Configuration44getEncodedUpdatesRequestURLRequestForTencentERKNS0_43FetchThreatListUpdatesRequestJSONSerializerENS0_19DatabaseUpdateStyleE(void * arg0, int arg1) {
r14 = rdx;
r12 = arg1;
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string<decltype(&var_38);
rax = Backend::Google::getURL("https://safebrowsing.urlsec.qq.com/v4/threatListUpdates:fetch", &var_38);
r15 = [rax retain];
if ((var_38 & 0x1) != 0x0) {
operator delete(var_28);
}
rax = Backend::Google::FetchThreatListUpdatesRequestJSONSerializer::serializedData();
rax = [rax retain];
rbx = [Backend::Google::makeRequest(r15, rax, r14 != 0x0 ? 0x1 : 0x0) retain];
[rax release];
[r15 release];
rax = [rbx autorelease];
return rax;
}
int __ZNK7Backend6Google13Configuration34getEncodedUpdatesRequestURLRequestERKNS0_39FetchThreatListUpdatesRequestSerializerENS0_19DatabaseUpdateStyleE(void * arg0, int arg1) {
r14 = rdx;
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string<decltype(&var_30);
Backend::Google::FetchThreatListUpdatesRequestSerializer::serializedData();
rax = Platform::encodeURLSafeBase64(&var_48, var_60);
rax = std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(&var_30, "?$ct=application%2Fx-protobuf&$req=");
rdx = var_48 & 0xff;
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(&var_30);
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(&var_30, "&key=");
rax = std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(&var_30, "AIzaSyANT-dOXDTNxZS4flEImFNycnoeDh4ehQI");
if ((var_30 & 0x1) != 0x0) {
rdx = var_20;
}
else {
rdx = &var_2F;
}
rax = [NSString stringWithUTF8String:rdx];
rax = [rax retain];
r15 = [[NSURL URLWithString:rax] retain];
[rax release];
r14 = [Backend::Google::makeRequest(r15, r14 != 0x0 ? 0x1 : 0x0) retain];
[r15 release];
if ((var_48 & 0x1) != 0x0) {
operator delete(var_38);
}
rdi = var_60;
if (rdi != 0x0) {
operator delete();
}
if ((var_30 & 0x1) != 0x0) {
operator delete(var_20);
}
rax = [r14 autorelease];
return rax;
}
int __ZNK7Backend6Google13Configuration47getEncodedFullHashesRequestURLRequestForTencentERKNS0_35FindFullHashesRequestJSONSerializerE(void * arg0) {
r15 = rsi;
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string<decltype(&var_38);
rax = Backend::Google::getURL("https://safebrowsing.urlsec.qq.com/v4/fullHashes:find", &var_38);
r14 = [rax retain];
if ((var_38 & 0x1) != 0x0) {
operator delete(var_28);
}
rax = Backend::Google::FindFullHashesRequestJSONSerializer::serializedData();
rax = [rax retain];
r15 = [Backend::Google::makeRequest(r14, rax, 0x1) retain];
[rax release];
[r14 release];
rax = [r15 autorelease];
return rax;
}
int __ZNK7Backend6Google13Configuration37getEncodedFullHashesRequestURLRequestERKNS0_31FindFullHashesRequestSerializerE(void * arg0) {
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string<decltype(&var_30);
Backend::Google::FindFullHashesRequestSerializer::serializedData();
rax = Platform::encodeURLSafeBase64(&var_48, var_60);
rax = std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(&var_30, "?$ct=application%2Fx-protobuf&$req=");
rdx = var_48 & 0xff;
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(&var_30);
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(&var_30, "&key=");
rax = std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(&var_30, "AIzaSyANT-dOXDTNxZS4flEImFNycnoeDh4ehQI");
if ((var_30 & 0x1) != 0x0) {
rdx = var_20;
}
else {
rdx = &var_2F;
}
rax = [NSString stringWithUTF8String:rdx];
rax = [rax retain];
r15 = [[NSURL URLWithString:rax] retain];
[rax release];
r14 = [Backend::Google::makeRequest(r15, 0x1) retain];
[r15 release];
if ((var_48 & 0x1) != 0x0) {
operator delete(var_38, 0x1);
}
rdi = var_60;
if (rdi != 0x0) {
operator delete();
}
if ((var_30 & 0x1) != 0x0) {
operator delete(var_20, 0x1);
}
rax = [r14 autorelease];
return rax;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment