Python 提供了两个基本的 socket 模块:
Socket
它提供了标准的BSD Socket API。SocketServer
它提供了服务器重心,可以简化网络服务器的开发。
下面讲解下 Socket模块功能。
#!/bin/bash | |
# A simple script to backup an organization's GitHub repositories. | |
#------------------------------------------------------------------------------- | |
# NOTES: | |
#------------------------------------------------------------------------------- | |
# * Under the heading "CONFIG" below you'll find a number of configuration | |
# parameters that must be personalized for your GitHub account and org. | |
# Replace the `<CHANGE-ME>` strings with the value described in the comments | |
# (or overwrite those values at run-time by providing environment variables). |
// | |
// LMApiaryDeviceCrypto.h | |
// | |
// Created by Leptos on 11/18/18. | |
// Copyright © 2018 Leptos. All rights reserved. | |
// | |
#import <Foundation/Foundation.h> | |
#define kYouTubeBase64EncodedProjectKey @"vOU14u6GkupSL2pLKI/B7L3pBZJpI8W92RoKHJOu3PY=" |
I’ve been using YouTube Music as my main music streaming service for almost a year and a half. The iOS client is great- I’ve never had a single complaint. It’s potentially one of the most bug free apps I’ve ever used, it has an extremely friendly, and simple, graphical interface, and the service itself is great.
I was curious how the client worked in terms of networking, and while curiosity may treat cats poorly, it lands researchers in black sites can provide a lot of insight.
The first thing I do when reverse engineering a client is monitor HTTP requests while the application starts up, and when doing the tasks interested in. On a jailbroken iOS device, I use FLEX by FlipBoard.
// A minimal iOS app set up entirely in code using Objective-C rather than using a storyboard and UIApplicationSceneManifest in the Info.plist. | |
// Last updated for iOS 18. | |
// Swift version: https://gist.github.com/douglashill/b8125f7e2336b6a47461df0d4898f64d | |
@import UIKit; | |
@interface SceneDelegate : UIResponder <UIWindowSceneDelegate> | |
@end | |
@implementation SceneDelegate |
var SecTrustEvaluate_handle = | |
Module.findExportByName('Security', 'SecTrustEvaluate'); | |
var SecTrustEvaluateWithError_handle = | |
Module.findExportByName('Security', 'SecTrustEvaluateWithError'); | |
var SSL_CTX_set_custom_verify_handle = | |
Module.findExportByName('libboringssl.dylib', 'SSL_CTX_set_custom_verify'); | |
var SSL_get_psk_identity_handle = | |
Module.findExportByName('libboringssl.dylib', 'SSL_get_psk_identity'); | |
var boringssl_context_set_verify_mode_handle = Module.findExportByName( | |
'libboringssl.dylib', 'boringssl_context_set_verify_mode'); |
Mute these words in your settings here: https://twitter.com/settings/muted_keywords | |
ActivityTweet | |
generic_activity_highlights | |
generic_activity_momentsbreaking | |
RankedOrganicTweet | |
suggest_activity | |
suggest_activity_feed | |
suggest_activity_highlights | |
suggest_activity_tweet |