-
Create a Android Virtual Device (AVD) using a non Google image to enable root access
-
Start mitmproxy
-
Install DuckDuckGo browser via downloaded apk on AVD
Download via: https://apkcombo.com/duckduckgo/com.duckduckgo.mobile.android/
-
Start ADV emulator with mitmproxy configured:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import SwiftUI | |
| #if canImport(WidgetKit) | |
| import WidgetKit | |
| #endif | |
| /// Displays the app's icon in the current appearance (light, dark, clear, etc). | |
| /// | |
| /// - note: The appearance of the icon will only reflect what's currently selected in System Settings, | |
| /// it will not update in SwiftUI previews or if the app is overriding its own appearance. | |
| public struct AppIconView: View { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // | |
| // NSAlert+NSTextField.swift | |
| // | |
| // Created by Stephan Casas for OpenAI on 2/26/26. | |
| // | |
| import Foundation | |
| import AppKit | |
| extension NSAlert { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // | |
| // IntelligenceUIPlatterView.swift | |
| // | |
| // Created by Stephan Casas on 2/13/25. | |
| // | |
| import SwiftUI | |
| import AppKit | |
| import Combine |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| CFLAGS := -Wall -Wextra -Wpedantic -O3 | |
| CXXFLAGS := ${CFLAGS} | |
| LDFLAGS := -lsimdutf | |
| main: main.o utf8_incremental.o |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // | |
| // CGWindowDictionary.swift | |
| // | |
| // Created by Stephan Casas on 11/2/23. | |
| // | |
| import Foundation | |
| import CoreGraphics | |
| import AppKit |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // | |
| // CGCoordinateSpaces.swift | |
| // | |
| // Created by Stephan Casas on 11/7/23. | |
| // | |
| import Foundation; | |
| // MARK: - CGPoint |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // | |
| // CGEventSupervisor.swift | |
| // Mouseless Messenger Pro | |
| // | |
| // Created by Stephan Casas on 4/24/23. | |
| // | |
| import Cocoa; | |
| class CGEventSupervisor { |
Tested on Workplace for Android version 362.0.0.29.109. This approach might work in other Facebook/Meta applications. Thank you Imre Rad for helping me analyze the binary.
The Workplace Android app uses the Fizz open source TLS-1.3 library to communicate with the backend APIs. This library is written in C++, and is compiled to native code. It is running as a native library attached to the Android app.
The certificate verification is implemented in fizz/client/ClientProtocol.cpp, on line 1944.
The easiest way to bypass this check is to patch the if (state.verifier()) { check on line 1942.
NewerOlder