Oct 18

Building a Titan: Better security through a tiny chip

Posted by Nagendra Modadugu and Bill Richardson, Google Device Security Group

At the Made by Google event last week, we talked about the combination of AI + Software + Hardware to help organize your information. To better protect that information at a hardware level, our new Pixel 3 and Pixel 3 XL devices include a Titan M chip.We briefly introduced Titan M and some of its benefits on our Keyword Blog, and with this post we dive into some of its technical details.

Titan M is a second-generation, low-power security module designed and manufactured by Google, and is a part of the Titan family. As described in the Keyword Blog post, Titan M performs several security sensitive functions, including:

  • Storing and enforcing the locks and rollback counters used by Android Verified Boot.
  • Securely storing secrets and rate-limiting invalid attempts at retrieving them using the Weaver API.
  • Providing backing for the Android Strongbox Keymaster module, including Trusted User Presence and Protected Confirmation. Titan M has direct electrical connections to the Pixel’s side buttons, so a remote attacker can’t fake button presses. These features are available to third-party apps, such as FIDO U2F Authentication.
  • Enforcing factory-reset policies, so that lost or stolen phones can only be restored to operation by the authorized owner.
  • Ensuring that even Google can’t unlock a phone or install firmware updates without the owner’s cooperation with Insider Attack Resistance.

Including Titan M in Pixel 3 devices substantially reduces the attack surface. Because Titan M is a separate chip, the physical isolation mitigates against entire classes of hardware-level exploits such as Rowhammer, Spectre, and Meltdown. Titan M’s processor, caches, memory, and persistent storage are not shared with the rest of the phone’s system, so side channel attacks like these—which rely on subtle, unplanned interactions between internal circuits of a single component—are nearly impossible. In addition to its physical isolation, the Titan M chip contains many defenses to protect against external attacks.

But Titan M is not just a hardened security microcontroller, but rather a full-lifecycle approach to security with Pixel devices in mind. Titan M’s security takes into consideration all the features visible to Android down to the lowest level physical and electrical circuit design and extends beyond each physical device to our supply chain and manufacturing processes. At the physical level, we incorporated essential features optimized for the mobile experience: low power usage, low-latency, hardware crypto acceleration, tamper detection, and secure, timely firmware updates. We improved and invested in the supply chain for Titan M by creating a custom provisioning process, which provides us with transparency and control starting from the earliest silicon stages.

Finally, in the interest of transparency, the Titan M firmware source code will be publicly available soon. While Google holds the root keys necessary to sign Titan M firmware, it will be possible to reproduce binary builds based on the public source for the purpose of binary transparency.

A closer look at Titan M

Titan (left) and Titan M (right)

Titan M’s CPU is an ARM Cortex-M3 microprocessor specially hardened against side-channel attacks and augmented with defensive features to detect and respond to abnormal conditions. The Titan M CPU core also exposes several control registers, which can be used to taper access to chip configuration settings and peripherals. Once powered on, Titan M verifies the signature of its flash-based firmware using a public key built into the chip’s silicon. If the signature is valid, the flash is locked so it can’t be modified, and then the firmware begins executing.

Titan M also features several hardware accelerators: AES, SHA, and a programmable big number coprocessor for public key algorithms. These accelerators are flexible and can either be initialized with keys provided by firmware or with chip-specific and hardware-bound keys generated by the Key Manager module. Chip-specific keys are generated internally based on entropy derived from the True Random Number Generator (TRNG), and thus such keys are never externally available outside the chip over its entire lifetime.

While implementing Titan M firmware, we had to take many system constraints into consideration. For example, packing as many security features into Titan M’s 64 Kbytes of RAM required all firmware to execute exclusively off the stack. And to reduce flash-wear, RAM contents can be preserved even during low-power mode when most hardware modules are turned off.

The diagram below provides a high-level view of the chip components described here.

Better security through transparency and innovation

At the heart of our implementation of Titan M are two broader trends: transparency and building a platform for future innovation.

Transparency around every step of the design process — from logic gates to boot code to the applications — gives us confidence in the defenses we’re providing for our users. We know what’s inside, how it got there, how it works, and who can make changes.

Custom hardware allows us to provide new features, capabilities, and performance not readily available in off-the-shelf components. These changes allow higher assurance use cases like two-factor authentication, medical device control, P2P payments, and others that we will help develop down the road.

As more of our lives are bound up in our phones, keeping those phones secure and trustworthy is increasingly important. Google takes that responsibility seriously. Titan M is just the latest step in our continuing efforts to improve the privacy and security of all our users.

Android Developers Blog

Oct 17

Discover and celebrate the best local games at Indonesia Games Contest

Posted by David Yin, Business Development Manager, Indonesia, Google Play.

It is a great time to be a mobile game developer on Android with the opportunity
reaching more than a billion global users on Google Play. At the same time,
developers in fast growing mobile markets like Indonesia have an additional
opportunity in the form of a huge local audience that is hungry for local
content. We have already seen thousands of Indonesian developers launch high
quality, locally relevant games for this new audience, such as “Tahu
Bulat” & “Tebak

In our continuous quest to discover, nurture growth, and showcase the best games
from Indonesia, we are really happy to announce Indonesia Games
Contest. This contest celebrates the passion and great potential of local
game developers, and provides an opportunity to raise awareness of your game
with global and local industry experts, together with gamers, from across
Indonesia. It’s also a chance to showcase your creativity and win cool

Entering the contest

The contest is only open to developers based in Indonesia who have published a
new game on Google Play after 1 January 2016. Make sure to visit our contest
website for the full list of eligibility
criteria and terms. A quick summary of the process is below:
  1. If you are eligible, submit your game by 19 March 2017.
  2. Entries will be reviewed by Google Play team and industry experts, and up to
    15 finalists will be announced in early April 2017.
  3. The finalists will get to showcase their games at the final event in Jakarta
    on 26 April 2017.
  4. Winner and runners up will be announced at final event.
To get started
Visit our contest
website to find out more about the contest and submit your game.

Terima Kasih!

How useful did you find this blogpost?

Android Developers Blog

Oct 17

New permissions requirements for Android TV

Posted by Anirudh Dewani, Developer Advocate

Android 6.0 introduces a new runtime permission model that gives users more granular control over granting permissions requested from their apps and leads to faster app installs. Users can also revoke these permissions from Settings at any point of time. If an app running on the M Preview supports the new permissions model, the user does not have to grant any permissions when they install or upgrade the app. Developers should check for permissions that require runtime grant from users, and request them if the app doesn’t already have them.

To list all permissions that require runtime grant from users on Android 6.0 -

adb shell pm list permissions -g -d


Apps should generally request as few permissions as possible. Voice search is an integral part of Android TV content discovery experience. When using the internal SpeechRecognizer to enable Voice Search, apps must declare RECORD_AUDIO permission in the manifest. RECORD_AUDIO requires explicit user grant during runtime in Android 6.0. When using the Android TV Leanback support library, apps can eliminate the need for requesting RECORD_AUDIO during runtime by using SpeechRecognitionCallback instead of SpeechRecognizer.


Commit from Android TV Leanback Sample repository.

mFragment = (SearchFragment) getFragmentManager()


    mSpeechRecognitionCallback = new SpeechRecognitionCallback() {

        public void recognizeSpeech() {
            if (DEBUG) Log.v(TAG, "recognizeSpeech");

            startActivityForResult(mFragment.getRecognizerIntent(), REQUEST_SPEECH);

When SpeechRecognitionCallback is set, Android Leanback support library will let the your activity process the voice search action instead of using the internal SpeechRecognizer. The app can then use RecognizerIntent to support speech recognition.

If you have an Android TV app targeting API Level 23, please update the app to use SpeechRecognitionCallback and remove RECORD_AUDIO permission from your manifest.

Android Developers Blog

Oct 17

Modern background execution in Android

Posted by Luiz Gustavo Martins, Partner Developer Advocate, Partner DevRel

This is the third in a series of blog posts in which outline strategies and guidance in Android with regard to power.

Over the years, executing background tasks on Android has evolved. To write modern apps, it’s important to learn how to run your background tasks in modern fashion.

When is an app in the background?

Before understanding what background execution is, we need to have a clear view of when Android understands an app to be in the foreground. An app is considered to be in the foreground if any of the following is true:

  • The app has a visible activity, whether the activity is started or paused.
  • The app has a foreground service.
  • Another foreground app is connected to the app, either by binding to one of its services, or using one of its content providers. For example, an app is in the foreground if another app or the system binds to its:
    • IME
    • Wallpaper service
    • Notification listener
    • Voice or text service
    • Music app when streaming music to your car. (Android Auto-specific case)

If none of those conditions is true, the app is considered to be in the background.

Background execution changes

Running tasks in the background consumes a device’s limited resources, like RAM and battery. This might result in a bad user experience. For example, background tasks may degrade the battery life of the device or the user may experience poor device performance at times such as watching a video, playing a game, using the camera.

To improve battery life and give a better user experience, Android has evolved over several releases to establish limits on background execution. These limits include:

  • Doze and App Standby, which restricts app behavior when the screen is off, and the device is idle and not charging.
  • Background Location restrictions, limits how frequently background apps can retrieve the user’s current location.
  • Background Service Limits, that restrict background services from being run and consuming CPU/network in a hidden/non-visible way.
  • Most recently, App Standby Buckets that can limit the device resources available to apps that aren’t used by users, and App Restrictions where the system will prompt the user to restrict the app’s access to system resources in the background if the app exhibits bad behaviors, and several Battery Saver improvements.

Use cases and solutions

Deciding which tools to use to implement background execution requires the developer to have a clear understanding of what they want to accomplish, and under which restrictions. This flowchart can help you make a decision:

  • WorkManager is the recommended solution for background execution, taking into account all OS background execution limits. If you need to guarantee that a task will run even if it is deferred, you should use WorkManager. This API allows you to schedule jobs (one-off or repeating) and chain and combine jobs. You can also apply execution constraints to them such as triggering when the device is idle or charging, or executing when a content provider changes.

    One example is if you need to compress logs to upload them to your server. To do this you can create two work requests:

    • First: compress the file. On this step you may add the constraint that the device should be charging.
    • Second: upload it to the server. For this request you should add a network connectivity constraint so that the work only gets triggered when you have a valid connection.

    After enqueuing both tasks, WorkManager will take care of executing them when your app has access to the resources you need.

    Another nice feature of WorkManager is that it respects power-management features, so that if a job is scheduled to run at a defined time and the device is in Doze at that time, WorkManager will try to run the task during a maintenance window if the constraints are met or after Doze is lifted.

  • If a long-running task is to be scheduled in response to an external event like syncing for new online content, use Firebase Cloud Messaging to notify your app and then create a work request with WorkManager to sync the content. You can learn more about this in “Notifying your users with FCM”.
  • If the app needs to complete a user-initiated task without deferring even if the user leaves the app or turns off the screen, such as in the case of music/video playback or navigation, you should use a Foreground service. (The next blog post in this series dives deeper into this use case.)
  • If you need to run a task at an exact time that triggers actions, involves user interactions, and cannot be deferred, use AlarmManager (more specifically the method setExactAndAllowWhileIdle). Examples of time alarms include:
    • a reminder to take medicine
    • a notification that a TV show is about to start.

    When the alarm is triggered, you have very few seconds to finish the work and your app may not have access to the network (for example during Doze or due to App Standby buckets). If you really need network or to do a long task, use WorkManager. Every time a wakeup alarm is triggered, the device comes out of low-power mode and holds a partial wake lock which can significantly impact the battery life over time. This can be monitored via excessive wakeups stats highlighted on Android Vitals, provided via Google Play Console.

In Summary:

Use Case Examples Solution
Guaranteed execution of deferrable work
  • Upload logs to your server
  • Encrypt/Decrypt content to upload/download
A task initiated in response to an external event
  • Syncing new online content like email
FCM + WorkManager
Continue user-initiated work that needs to run immediately even if the user leaves the app
  • Music player
  • Tracking activity
  • Transit navigation
Foreground Service
Trigger actions that involve user interactions, like notifications at an exact time.
  • Alarm clock
  • Medicine reminder
  • Notification about a TV show that is about to start

Use background execution judiciously so that you can build cool apps that delight users while saving their battery. If you need more information on executing background tasks on Android, there’s great content at the Android developer site.

Note: WorkManager is still in public preview. If you need an alternative solution right now, you should use JobScheduler, although it has limitations that don’t apply to WorkManager. JobScheduler is part of the Android Framework, and only available for Android API 21 and above; WorkManager works on API 14 and above.

Acknowledgements: This series of blog posts is produced in collaboration between the Android Framework and DevRel teams

Android Developers Blog

Oct 16

Final Android Wear 2.0 Developer Preview: iOS support. Time to upload your apps to the Play Store!

Posted by Hoi Lam, Developer

Cross platform support by Telegram Messenger

Today, we are releasing the fifth and final developer preview for Android Wear
2.0. In this release, we have added iOS support and included a number of bug
fixes and enhancements. Apps compiled with this preview are now ready for final
submission to the Google Play Store, so it’s time to publish
your apps. As Android Wear 2.0 approaches its final release in early
February, we would like to thank you for your continued feedback during the
developer preview program. Your input has helped us uncover bugs as well as
drive critical product decisions. Thank you!

iOS Support

Since 2015,
you’ve been able to pair Android Wear watches with iPhones, and now you can
distribute your apps to iPhone-paired watches as well. To do so, just set the standalone=true
flag in your watch app manifest. This lets the Play Store know that your watch
app doesn’t require an Android phone app, and therefore can appear in the Play
Store on watches paired to iPhones. To pair your watch to an iPhone and
test, just follow these

The available network bandwidth for standalone apps can be lower than expected,
as the platform balances battery savings vs network bandwidth. Make sure to
check out these guidelines
for accessing the network, including accessing Wi-Fi and cellular networks on
watches paired with iPhones.

Also with this developer preview release, Android Wear apps running on watches
paired with iOS devices will be able to perform phone hand-off flows such as OAuth
and RemoteIntent
for launching a web page on a paired iOS device.

Uploading Your App to the Google Play Store

The final developer preview includes an update to the Wearable Support Library.
Apps compiled with API level 25 and this support library are considered ready
for deployment in the Google Play Store. Please note that there are no updates
to the preview watch image or emulator in this developer preview release.

Other Enhancement and Bug Fixes

  • Navigation Drawer: Flip
    a flag to toggle to the single-page, icon-only action drawer, which provides
    faster, more streamlined navigation to different views in your app.
  • NFC HCE support: NFC
    Host Card Emulation FEATURE_NFC_HOST_CARD_EMULATION is now
  • ProGuard and Complication API: New ProGuard configuration
    means complication data container classes will no longer be obfuscated. This
    fixes a ClassNotFoundException when watch faces are trying to access data supplied
    by a complication data provider.

Countdown to Launch

Thank you for the fantastic level of feedback we have gotten from you as
developers. Check out g.co/wearpreview for
the latest builds and documentation, and be sure to publish
your apps before the Android Wear 2.0 consumer launch in early February. As
we work towards the consumer launch and beyond, please continue filing bugs or posting comments in our Android Wear
Developers community. We can’t wait to see your Android Wear 2.0 apps!

Android Developers Blog

Oct 16


fringUpdated : 04 July,2013
Rate: *****
Size: 1.17MB
Type: sisx
Category:Video calling & chatting
Current Version: Latest

Details:Fring is free video calling and massaging software.It has some new features like,(a)You can now fring your friends on Symbian,(b) Use your phone number for registration instead of username / password,(c)Group calling with 4 friends at the same time,(d)Free calls, messaging & video calls to other fring users worldwide,(e) Free text messaging (no more expensive SMS),(f) Almost free calls to mobiles and landlines with fringOut.So lets make FREE mobile calls, video calls & live chat to fringsters and other internet friends.



 This application is allowed for:

01.Sony Ericsson P900
02.Nokia 6600
03.Nokia N-Gage
04.Fujitsu F2102V
05.Fujitsu F2051
06.Sony Ericsson P800
06.Nokia 7650
07.Nokia 3650/3600
08.Nokia 9290 Communicator
09.Nokia 9210 Communicators
10.Motorola A925                                       

Mobile Software’s world

Oct 15

Racing Moto 2014 3.0 apk

Racing Moto 2014 3.0 apk

The funnest and most extreme Moto Racing game for Android!
Very realistic 3D graphics and environment.
Very addictive, very fun.
Many levels and upgrades to keep you playing for many hours!
Tap to accelerate and tilt to control your direction.

 ===download info===
file size: 35.7 mb
Download Share File : Download here

Free Software Download

Oct 15

Android Instant Apps starts initial live testing

Posted by Aurash Mahbod, Software Engineer, Google Play

Android Instant Apps was previewed at Google I/O last year as a new way to run Android apps without requiring installation. Instant Apps is an important part of our effort to help users discover and run apps with minimal friction.

We’ve been working with a small number of developers to refine the user and developer experiences. Today, a few of these Instant Apps will be available to Android users for the first time in a limited test, including apps from BuzzFeed, Wish, Periscope, and Viki. By collecting user feedback and iterating on the product, we’ll be able to expand the experience to more apps and more users.

To develop an instant app, you’ll need to update your existing Android app to take advantage of Instant Apps functionality and then modularize your app so part of it can be downloaded and run on-the-fly. You’ll use the same Android APIs and Android Studio project. Today, you can also take some important steps to be ready for Instant Apps development. The full SDK will be available in the coming months.

There has already been a tremendous amount of interest in Instant Apps from thousands of developers. We can’t wait to hear your feedback and share more awesome experiences later this year. Stay tuned!

Android Developers Blog

Oct 14

WWE Smackdown 23/08/2013 – Results, Review and Analysis

WWE Smackdown 23/08/2013 – Results, Review and Analysis

WWE’s Friday Night Smackdown that’s about to air tonight (23/08/2013) was taped on Tuesday Night from Bakersfield, California.  This was the first episode to take place after Summerslam and was expected to reveal a bit more about the storylines moving forward.  Read on for the complete WWE Smackdown 23/08/2013 Results along with the performance review of the matches and analysis of the show.

Note: Spoilers Below.

The show officially kicked off with Vickie Guerrero introducing the new WWE world heavyweight champion ‘Randy Orton’ to the ring.  Orton confidently claimed that he was a true role model and a champion who told the truth.  He further said he was not aware of Triple H’s plans and further claimed he didn’t need anyone’s help to be the new champion.  Daniel Bryan then made it out to the ring and thanked John Cena for the opportunity.  He called Orton arrogant and said that Orton was given everything while he had to work hard for every opportunity, he also said he would beat Orton again for the title.  Bryan then asked for a rematch but Orton refused.  Orton then tried to give a sneaky RKO to Bryan but failed after which Bryan dropkicked him.

A backstage segment at Smackdown 23/08/2013 saw Wade Barrett requesting for a match against Daniel Bryan.  Vickie Guerrero politely obliged as she sanctioned a steel cage match.

*The Results of the match between Curtis Axel and Cody Rhodes went in favor of Axel after a distraction from Paul Heyman.  Post Match, Heyman spoke about the pain and emotional distress caused by CM Punk and praised Brock Lesnar’s  win.  The segment ended with Heyman claiming Punk’s action at Raw as low and issued a challenged to Punk on Behalf of Curtis Axel for next week’s raw.

*Dolph Ziggler pinned Big E Langston after a Zig Zag despite AJ’s interference.

*Alberto Del Rio defeated Christian after he locked in an armbreaker.

Post Match, Del Rio took the Mic and played to the fans and spoke against them.  Ricardo came out and praised the crowd in spanish and brought out Rob Van Dam.  Christian who had regained strength by now nailed a Missle Drop Kick while RVD hit a rolling thunder and the segment ended with RVD and Ricardo holding the title.

*Big Show and Mark Henry won against 3MB in a handicap match.

*Darren Young defeated Antonio Cesaro despite Jack Swagger’s interference.

*The Steel cage match between Daniel Bryan and Wade Barrett saw Bryan eventually winning after he nailed a running knee.

Post match, just as Bryan was leaving the cage he was attacked by Randy Orton who was present under the ring. That’s it for my recap.

What are your thoughts of the WWE Smackdown 23/08/2013 Results?

Gaming,Cricket,WWE and lots more

Oct 14

Pakistan Vs South Africa 30/11/2013 – Results and Review

Pakistan Vs South Africa 30/11/2013 – Results, Review and Statistical Highlights

The 3rd One Day International (ODI) Cricket match between Pakistan and South Africa kicked off with South Africa winning the toss and electing to field first.  At the toss, AB De Villiers confirmed that he wanted his side to chase the target as he wanted to see if they were able to cope up with the pressure.  To know about what happened durin the course of the match, Read on for the complete Results, batting and bowling performance Review, Scorecard and Statistical Highlights below.

Statistical Highlights

CricketWhen Pakistan came in to bat, they once again had a poor start as they lost their openers quite cheaply.  The responsibility once again came on Misbah-Ul-Haq who didn’t disappoint and scored a decent half century but unfortunately he did not have many players to play around him as the team ended at a score of 179 in 46.5 overs.  As far as South Africa’s bowling was concerned, all their pacers as well as spinners bowled pretty decently to get a team which was running high on confidence after winning the first two matches bowled out.

When South Africa came in to bat, they had a decent start but had a mini collapse.  Luckily for them, the target was a small one which they reached comfortably in the end, thanks to a score of 46 by AB De Villiers who ensured he saw his team through.  As far as Pakistan’s bowling was concerned, Saeed Ajmal was once again the pick of their bowlers as he took two wickets.

Have a look at the scorecard of the match between South Africa and Pakistan  as it happens on 30/11/2013.

Pakistan innings (50 overs maximum) R B 4s 6s SR
Umar Amin c Amla b McLaren 25 35 4 1 71.42
Ahmed Shehzad c Amla b Philander 0 3 0 0 0
Asad Shafiq c †de Kock b Tsotsobe 1 5 0 0 20
Sohaib Maqsood c & b McLaren 25 39 4 0 64.1
Misbah-ul-Haq* not out 79 107 4 2 73.83
Umar Akmal† c †de Kock b Philander 5 26 0 0 19.23
Bilawal Bhatti c Amla b Imran Tahir 1 9 0 0 11.11
Anwar Ali c †de Kock b Philander 1 2 0 0 50
Abdur Rehman c Amla b Imran Tahir 22 40 2 0 55
Sohail Tanvir c Parnell b Tsotsobe 6 11 1 0 54.54
Saeed Ajmal c de Villiers b Parnell 0 4 0 0 0
Extras (lb 1, w 13) 14
Total (all out; 46.5 overs; 207 mins) 179 (3.82 runs per over)
Fall of wickets 1-2 (Ahmed Shehzad, 0.4 ov), 2-7 (Asad Shafiq, 3.1 ov), 3-48 (Umar Amin, 10.6 ov), 4-67 (Sohaib Maqsood, 16.2 ov), 5-85 (Umar Akmal, 24.2 ov), 6-96 (Bilawal Bhatti, 27.5 ov), 7-97 (Anwar Ali, 28.1 ov), 8-148 (Abdur Rehman, 41.4 ov), 9-164 (Sohail Tanvir, 44.5 ov), 10-179 (Saeed Ajmal, 46.5 ov)
Bowling O M R W Econ Extras
VD Philander 10 3 26 3 2.6 (2w)
LL Tsotsobe 10 2 38 2 3.8 (4w)
R McLaren 8 1 28 2 3.5
WD Parnell 8.5 0 30 1 3.39 (2w)
Imran Tahir 10 0 56 2 5.6 (1w)
South Africa innings (target: 180 runs from 50 overs) Dismissal R B 4s 6s SR
Q de Kock† c Saeed Ajmal b Bilawal Bhatti 15 18 3 0 83.33
HM Amla run out (Umar Amin/†Umar Akmal) 41 48 6 0 85.41
H Davids st †Umar Akmal b Saeed Ajmal 7 18 0 0 38.88
JP Duminy c †Umar Akmal b Abdur Rehman 16 23 2 0 69.56
AB de Villiers* not out 48 63 3 0 76.19
DA Miller c †Umar Akmal b Sohail Tanvir 24 26 3 0 92.3
R McLaren b Saeed Ajmal 17 29 2 0 58.62
WD Parnell not out 7 9 1 0 77.77
Extras (lb 4, nb 2) 6
Total (6 wickets; 38.4 overs; 168 mins) 181 (4.68 runs per over)
Did not bat VD Philander, LL Tsotsobe, Imran Tahir
Fall of wickets 1-39 (de Kock, 5.5 ov), 2-49 (Davids, 10.5 ov), 3-75 (Amla, 15.6 ov), 4-84 (Duminy, 19.2 ov), 5-124 (Miller, 26.5 ov), 6-164 (McLaren, 35.5 ov)
Bowling O M R W Econ Extras
Sohail Tanvir 7.4 0 42 1 5.47 (2nb)
Anwar Ali 2 0 15 0 7.5
Bilawal Bhatti 8 1 35 1 4.37
Saeed Ajmal 10 1 34 2 3.4
Abdur Rehman 9 0 40 1 4.44
Sohaib Maqsood 2 0 11 0 5.5

What are your thoughts about the Pakistan Vs South Africa 30/11/2013 Results?

Gaming,Cricket,WWE and lots more