Skip to content

Commit ea25438

Browse files
committed
Update README and release the new version
1 parent 6b5f3df commit ea25438

File tree

2 files changed

+37
-12
lines changed

2 files changed

+37
-12
lines changed

Diff for: README.md

+30-7
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,26 @@ pinning - within iOS Apps.
88
Description
99
-----------
1010

11-
Once installed on a jailbroken device, iOS SSL Kill Switch patches
12-
NSURLConnection and SecTrustEvaluate() to override and disable the system's
13-
default certificate validation as well as any kind of custom certificate
14-
validation (such as certificate pinning). It was succesfully tested against
15-
Twitter, Card.io and Square; all of them implement certificate pinning. iOS
16-
SSL Kill Switch was initially released at Black Hat Vegas 2012.
11+
Once installed on a jailbroken device, iOS SSL Kill Switch patches low-level
12+
SSL functions within the Secure Transport API, including _SSLSetSessionOption()_
13+
and _SSLHandshake()_ in order to override and disable the system's default
14+
certificate validation as well as any kind of custom certificate validation
15+
(such as certificate pinning).
16+
17+
It was successfully tested against the Twitter, Facebook, Square and Apple App
18+
Store apps; all of them implement certificate pinning. iOS SSL Kill Switch was
19+
initially released at Black Hat Vegas 2012.
20+
21+
For more technical details on how it works, see
22+
http://nabla-c0d3.github.io/blog/2013/08/20/ios-ssl-kill-switch-v0-dot-5-released/
1723

1824

1925
Installation
2026
------------
2127

2228
Users should first download the pre-compiled Debian package (tested on iOS 6.1):
23-
http://nabla-c0d3.blogspot.com/2013/06/ios-ssl-kill-switch-v04-released.html
29+
http://nabla-c0d3.github.io/blog/2013/08/20/ios-ssl-kill-switch-v0-dot-5-released/
30+
2431

2532
### Dependencies
2633

@@ -50,6 +57,13 @@ Finally, kill and restart the App you want to test.
5057
dpkg -r com.isecpartners.nabla.sslkillswitch
5158

5259

60+
Intercepting the App Store's traffic
61+
------------------------------------
62+
63+
Additional instructions are available here:
64+
http://nabla-c0d3.github.io/blog/2013/08/20/intercepting-the-app-stores-traffic-on-ios/
65+
66+
5367
Build
5468
-----
5569

@@ -65,6 +79,15 @@ Then, the package can be built using:
6579
make package
6680

6781

82+
Changelog
83+
---------
84+
85+
* v0.5: Complete rewrite in order to add support for proxy-ing Apple's App Store application.
86+
* v0.4: Added hooks for SecTrustEvaluate().
87+
* v0.3: Bug fixes and support for iOS 6.
88+
* v0.2: Initial release.
89+
90+
6891
License
6992
-------
7093

Diff for: Tweak.xm

+7-5
Original file line numberDiff line numberDiff line change
@@ -59,20 +59,22 @@ static SSLContextRef replaced_SSLCreateContext (
5959
SSLProtocolSide protocolSide,
6060
SSLConnectionType connectionType
6161
) {
62-
6362
SSLContextRef sslContext = original_SSLCreateContext(alloc, protocolSide, connectionType);
6463

65-
// Immediatly set the kSSLSessionOptionBreakOnServerAuth option in order to disable cert validation
64+
// Immediately set the kSSLSessionOptionBreakOnServerAuth option in order to disable cert validation
6665
original_SSLSetSessionOption(sslContext, kSSLSessionOptionBreakOnServerAuth, true);
6766
return sslContext;
6867
}
6968

7069

7170
// Hook SSLHandshake()
72-
static OSStatus (*original_SSLHandshake)(SSLContextRef context);
73-
74-
static OSStatus replaced_SSLHandshake(SSLContextRef context) {
71+
static OSStatus (*original_SSLHandshake)(
72+
SSLContextRef context
73+
);
7574

75+
static OSStatus replaced_SSLHandshake(
76+
SSLContextRef context
77+
) {
7678
OSStatus result = original_SSLHandshake(context);
7779

7880
// Hijack the flow when breaking on server authentication

0 commit comments

Comments
 (0)