{"id":1335,"date":"2017-05-31T10:20:20","date_gmt":"2017-05-31T04:50:20","guid":{"rendered":"https:\/\/abhinavkr.com\/musings\/?p=1335"},"modified":"2017-12-11T18:39:13","modified_gmt":"2017-12-11T13:09:13","slug":"as-a-software-developer-how-often-do-you-leave-a-backdoor-in-your-code","status":"publish","type":"post","link":"https:\/\/abhinavkr.com\/musings\/2017\/05\/as-a-software-developer-how-often-do-you-leave-a-backdoor-in-your-code\/","title":{"rendered":"As a software developer, how often do you leave a backdoor in your code?"},"content":{"rendered":"<p><span class=\"rendered_qtext\">As a software developer, how often do you leave a backdoor in your code? by Anonymous<\/p>\n<p>Answer by Anonymous:<\/p>\n<blockquote>\n<p class=\"qtext_para\">I once left a backdoor on an Android app since I was working with a client that couldn\u2019t be trusted whether they would pay me or not. Heard from another developer that they let him develop and ran away with the software and never paid him.<\/p>\n<p class=\"qtext_para\">It was like this, whenever the app starts it proceeds as usual but on the background it sends a request to one of my servers, if the request reaches the server and the response is code 200, then its ok, am still waiting for the payment the app can proceed as usual, if 201 then I wasn\u2019t paid, so crash the app, clean all preferences and change url that was saved in preferences makes the app completely unusable for good. If 203 then I have been paid in full, proceed never send any request to my server again.<\/p>\n<p class=\"qtext_para\">And my guess was right,I made the app, haven\u2019t send the code to the client yet (they didn\u2019t need the code though, it was a full running app), they started using the app, told me some stuffs, I fixed them, everything is set, they love the app, it was even more than they expected, I even made them an admin dashboard with a bunch of analytics to monitor all their data for free as a way to make them like me to work with them in the future, in my price I even included free up to 3 months bugs fixing if any were to occur, they were so happy with the results.<\/p>\n<p class=\"qtext_para\">Then they immediately disappeared, waited for their reply for two weeks, nothing, not even a reply to tell me to wait, its like they all died from a hurricane or something, they even changed the pass to their server so I couldn\u2019t get in and kill it, that was proof enough that they clearly ran away with my software. So I sent the 201 status code from my server and the whole app froze, all clients they connected couldn\u2019t use the app anymore, immediately the following day they tried to contact me, I tripled the price after seeing they wanted to scam me. They paid me in full the same day through western union, I sent a fully working app with no backdoor, and all the source code. And that was it, I\u2019ll never work with these guys again.<\/p>\n<p class=\"qtext_para\">I will put a backdoor if you are a bad client, if you are a good one or pay in advance I\u2019m not putting any, or if we are in the same country because I know I could sue you. I hate backdoors anyway because they are too risky no matter how much I try to secure them, the fact that they exist is a problem.<\/p>\n<\/blockquote>\n<p><span class=\"qlink_container\"><a href=\"https:\/\/www.quora.com\/As-a-software-developer-how-often-do-you-leave-a-backdoor-in-your-code\/answers\/42071021\" class=\"broken_link\">As a software developer, how often do you leave a backdoor in your code?<\/a><\/span><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As a software developer, how often do you leave a backdoor in your code? by Anonymous Answer by Anonymous: I once left a backdoor on an Android app since I was working with a client that couldn\u2019t be trusted whether they would pay me or not. Heard from another developer that they let him develop&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[6],"tags":[],"class_list":["post-1335","post","type-post","status-publish","format-standard","hentry","category-misc"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4KGvB-lx","jetpack-related-posts":[{"id":564,"url":"https:\/\/abhinavkr.com\/musings\/2014\/08\/be-a-good-programmer\/","url_meta":{"origin":1335,"position":0},"title":"Be a good Programmer","author":"Abhinav","date":"August 24, 2014","format":false,"excerpt":"Recommendations for Academic Learning Introduction to CS Course Notes: Introduction to Computer Science Course that provides instructions on coding. Online Resources: Udacity- \u00a0Intro to CS course, Coursera - Computer Science 101 Code in at least one object oriented programming language: C++, Java, or Python Beginner Online Resources: Coursera - Learn\u2026","rel":"","context":"In &quot;Knowledge&quot;","block_context":{"text":"Knowledge","link":"https:\/\/abhinavkr.com\/musings\/category\/knowledge\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":691,"url":"https:\/\/abhinavkr.com\/musings\/2015\/02\/what-are-the-best-kept-secrets-of-great-programmers\/","url_meta":{"origin":1335,"position":1},"title":"What are the best-kept secrets of great programmers?","author":"Abhinav","date":"February 11, 2015","format":false,"excerpt":"Answer by Jeff Darcy: Never reveal all that you know. OK, seriously this time.\u00a0 I think there are really a few things that distinguish great programmers. Know the concepts.\u00a0 Solving a problem via memory or pattern recognition is much faster than solving it by reason alone.\u00a0 If you've solved a\u2026","rel":"","context":"In &quot;Knowledge&quot;","block_context":{"text":"Knowledge","link":"https:\/\/abhinavkr.com\/musings\/category\/knowledge\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1236,"url":"https:\/\/abhinavkr.com\/musings\/2016\/12\/what-the-hell-is-linux\/","url_meta":{"origin":1335,"position":2},"title":"What the Hell is Linux?","author":"Abhinav","date":"December 27, 2016","format":false,"excerpt":"Alright. Here we go! I've done some itty bitty research and will shortly forget what Linux is all about cuz I vaguely remember searching the same info before. So yeah! Let's Start! Unix: Initially, it was a AT&T built\u00a0operating system. Now, It's a family of operating systems that derive from\u2026","rel":"","context":"In &quot;Tech&quot;","block_context":{"text":"Tech","link":"https:\/\/abhinavkr.com\/musings\/category\/knowledge\/tech\/"},"img":{"alt_text":"Linux Distribution timeline 2016","src":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/1\/1b\/Linux_Distribution_Timeline.svg","width":350,"height":200},"classes":[]},{"id":998,"url":"https:\/\/abhinavkr.com\/musings\/2016\/09\/what-is-the-best-strategy-to-improve-my-skills-in-competitive-programming-in-2-3-months\/","url_meta":{"origin":1335,"position":3},"title":"What is the best strategy to improve my skills in competitive programming in 2-3 months?","author":"Abhinav","date":"September 11, 2016","format":false,"excerpt":"Answer by Sachin Gupta: This post has been taken from the blog post\u00a0 Learn to Code by Competitive Programming written by MV Kaushik when he was interning at HackerEarth Here are some steps to get started and be good at it. Get comfortable writing code in either of one of\u2026","rel":"","context":"In &quot;Knowledge&quot;","block_context":{"text":"Knowledge","link":"https:\/\/abhinavkr.com\/musings\/category\/knowledge\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":986,"url":"https:\/\/abhinavkr.com\/musings\/2016\/08\/what-was-anudeep-nekkantis-competitive-programming-strategy-to-become-35th-in-global-ranking-in-just-6-7-months\/","url_meta":{"origin":1335,"position":4},"title":"What was Anudeep Nekkanti&#8217;s Competitive Programming strategy to become 35th in Global ranking, in just 6-7 months?","author":"Abhinav","date":"August 19, 2016","format":false,"excerpt":"Answer by Anudeep Nekkanti: What I did ? Solved about 300 problems on SPOJ in this order - Sphere Online Judge (SPOJ) Result ? Became very good with C++ and STL Got introduced to most Competitive programming KEYWORDS (like DP, maxflow, sets, hashing, etc) Learned Standard Problems and Algorithms Indenting\u2026","rel":"","context":"In &quot;Knowledge&quot;","block_context":{"text":"Knowledge","link":"https:\/\/abhinavkr.com\/musings\/category\/knowledge\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":967,"url":"https:\/\/abhinavkr.com\/musings\/2016\/07\/what-is-the-latest-fad-among-the-youth-of-india\/","url_meta":{"origin":1335,"position":5},"title":"What is the latest fad among the youth of India?","author":"Abhinav","date":"July 25, 2016","format":false,"excerpt":"What is the latest fad among the youth of India? by @iAmoghAnswer by Amogh Talpallikar:Let me take this opportunity to highlight a trend that I have observed on social media among young Indian IT \u201cprofessionals\u201d.They grow up having not explored nooks and corners of their heart to find out what\u2026","rel":"","context":"In &quot;Fun Stuff&quot;","block_context":{"text":"Fun Stuff","link":"https:\/\/abhinavkr.com\/musings\/category\/fun-stuff\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/abhinavkr.com\/musings\/wp-json\/wp\/v2\/posts\/1335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/abhinavkr.com\/musings\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/abhinavkr.com\/musings\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/abhinavkr.com\/musings\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/abhinavkr.com\/musings\/wp-json\/wp\/v2\/comments?post=1335"}],"version-history":[{"count":1,"href":"https:\/\/abhinavkr.com\/musings\/wp-json\/wp\/v2\/posts\/1335\/revisions"}],"predecessor-version":[{"id":1336,"href":"https:\/\/abhinavkr.com\/musings\/wp-json\/wp\/v2\/posts\/1335\/revisions\/1336"}],"wp:attachment":[{"href":"https:\/\/abhinavkr.com\/musings\/wp-json\/wp\/v2\/media?parent=1335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/abhinavkr.com\/musings\/wp-json\/wp\/v2\/categories?post=1335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/abhinavkr.com\/musings\/wp-json\/wp\/v2\/tags?post=1335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}