lessons
- Android Forensics and Reverse Engineering
- Contact
- iOS Forensics Part 3 - Intercepting Network Traffic
- iOS Forensics Part 1
- Keychain Entropy on iOS 9
- iOS Forensics Part 2 - Reverse Engineering
- ASN.1 and DER
- NSSecureCoding findings
- Secure Coding with Concurrency in C++ - Condition Variables
- Secure Coding with Concurrency in C++ - Mutual Exclusion
- AES Encryption using Common Crypto
- Objective-C Runtime Security and Obfuscation
- Secure Wipe Memory
- Hashing Algorithms in Core Foundation
- ECDSA in OpenSSL
- HMAC in OpenSSL
- SHA Hashing in OpenSSL
- Auditing and Logging
- Overlooked Areas of Data Privacy - Keyboard and Screenshot Caches
- Application Integrity - Jailbreak and Debugger Detection
- Input Validation
- Buffer Overflows and Format String Attacks
- Secure Coding with Concurrency in C++ - Threads
- XCode Security Project Settings
- Secure Coding with Concurrency in C++ - Atomic
- Low level socket programming in POSIX and Core Foundation
- Keychain Services in C
- Customizing TLS Server Trust Evaluation
- HTTPS CFNetwork POST and Callback Functions
- HTTPS CFNetwork GET Request
- AES Encryption in OpenSSL
- Boost.Asio TLS experiments