-
Tamper protection
-
In this lesson, we learn how to protect our app against tampering and reverse-engineering.
-
-
Testing types
-
In this lesson, we learn about the different types of testing we can use while developing our app.
-
-
Exception handling, Part 2
-
In this lesson, we learn how to throw exceptions in our code.
-
-
Activity: Working with external code
-
In this activity, we see how easy it is to integrate a Java class into our Kotlin app.
-
-
Application integrity
-
In this lesson, we learn how to maintain the integrity of our Android app.
-
-
Secure Android coding roundup
-
In this lesson, we review what we have learned in this path.
-
-
Activity: Handling exceptions, logging and printing, Part 2
-
We continue our activity of exceptions, printing and logging.
-
-
Testing types, Part 2
-
In this lesson, we learn about test-driven development.
-
-
Activity: Handling exceptions, logging and printing
-
In this activity, we implement exception handling, printing and logging in our code.
-
-
Activity: Reverse engineering an Android app
-
In this activity, we decompile an app to extract sensitive information.
-
-
Printing and logging, Part 2
-
We continue our lesson on printing. We also learn about logging in Android.
-
-
Printing and logging
-
In this lesson, we learn how to use print() and println() functions.
-
-
Exception handling
-
In this lesson, we learn about exception handling and try-catch blocks.
-
-
Understanding risks of embedding third-party code
-
In this lesson, we learn about the risks of using third-party code in our app, including libraries and scripting languages.
-
-
Conclusion
-
Concluding our course.
-
-
New vulnerability research
-
In this lesson, we discuss the benefits of researching new vulnerabilities.
-
-
Social engineering
-
In this lesson, we learn about social engineering and how to reduce the risk of social engineering in our app.
-
-
System integrity
-
In this lesson, we learn about maintaining Android system integrity.
-
-
Root detection
-
In this activity, we learn about rooting an Android device and how to protect our app from rooted devices.
-
Syllabus
Syllabus
Course description
No study of secure application development would be complete without also understanding how to protect your code and the platform it runs on. In this final course, you will consider the risks of integrating code you did not write into your app. You will learn how to handle and log errors generated within your app. You will also learn about the many types of tests your app should go through before it is released to users. You will see the risks of running your app on a rooted device, and how your app can detect if it has been installed on such a device. You will learn about the risks of reverse engineering and how to protect your app from tampering. You will also learn a little more about the risks social engineering poses to your users. Finally, you will learn where to go to continue your security education and finish up with a review of key points from this path.


Meet the author
Chrys Thorsen is a technology and education consultant with 25 years of experience. Her work has taken her around the U.S. and overseas, including as a contractor for the CDC using technology to help fight HIV/AIDS in Africa.
During her career, she has acquired 40 IT certifications, authored over 25 textbooks on a wide range of IT subjects, including secure iOS and Android coding, and created an equal number of IT-related video courses. When not working, Chrys enjoys reading scientific articles and experimenting with Internet-of-Things devices. She currently lives in Virginia with her sister, her cat and her dog which, as she describes it, “have the worst sibling rivalry imaginable.”
You're in good company
We use Infosec Skills to provide continuous training to our technicians and to prepare them for various certifications. Infosec Skills allows us to create personalized training programs that focus on each of our technicians’ particular roles and see their progress as they take courses. We also, recommend it to clients to make their IT support teams better.
Caleb Yankus
This has been utilized to bridge the skills gap across our cyber team and to aid them as they prepare for their various certifications. It also has provided a nice learning foundation for our various cyber team members to utilize as we continue to find ways for cross-utilization with operations while minimizing the downtime needed to ensure everyone’s knowledge is the same.
Daniel Simpson
We use Infosec Skills to provide base level knowledge for employees. We also use the services to provide in depth learning for employees as they encounter new technologies. If an employee is is assigned to a new project, we can rely on Infosec Skills to provide a rapid concentrated learning environment. This rapid concentrated learning positions our employees for success.
Infosec Skills Teams client
Plans & pricing
-
Infosec Skills Personal
- 190+ role-guided learning paths (e.g., Ethical Hacking, Threat Hunting)
- 100s of hands-on labs in cloud-hosted cyber ranges
- Custom certification practice exams (e.g., CISSP, Security+)
- Skill assessments
- Infosec peer community support
-
Infosec Skills Teams
- Team administration and reporting
- Dedicated client success manager
-
Single sign-on (SSO)
Easily authenticate and manage your learners by connecting to any identity provider that supports the SAML 2.0 standard.
-
Integrations via API
Retrieve training performance and engagement metrics and integrate learner data into your existing LMS or HRS.
- 190+ role-guided learning paths and assessments (e.g., Incident Response)
- 100s of hands-on labs in cloud-hosted cyber ranges
- Create and assign custom learning paths
- Custom certification practice exams (e.g., CISSP, CISA)
- Optional upgrade: Guarantee team certification with live boot camps
Unlock 7 days of free training
- 1,400+ hands-on courses and labs
- Certification practice exams
- Skill assessments
Award-winning training that you can trust




