Looking for Secrets in Disassembled Android APKs (I found one)

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ก.ย. 2024
  • Pretty easy to get Java source from APKs, even easier to find interesting stuff. Just gotta look around a little bit.
    Decompiler:
    github.com/sky...
    Hope you enjoyed the video!
    Join my Discord server and come say hi:
    / discord
    Check out some code on my GitHub:
    github.com/rea...
    github.com/eng...
    Send me a Gab:
    gab.com/engine...
    Other Social:
    / engineerman
    / _engineerman
    / engineermanyt

ความคิดเห็น • 72

  • @urugulu1656
    @urugulu1656 3 ปีที่แล้ว +94

    doing what every programmer does
    ignoring error messages

  • @klekaelly
    @klekaelly 3 ปีที่แล้ว +1

    Are there decompilers for everything? Often times I do open up files and it's just non-readable garbage. How do you know which decompiler to use?

    • @mikeuk1927
      @mikeuk1927 3 ปีที่แล้ว +1

      I believe that for Java it's easy because bytecode is structuraly simillar to source, so Java decompiles are quite readable. On the other hand C/C++'s output machine code is nowhere near close to source so a decompiler cannot do a great job and outputs non-readable garbage

    • @maxemore
      @maxemore 3 ปีที่แล้ว

      @@mikeuk1927 You can decompile it to x86 assembly tho

  • @jasonl8391
    @jasonl8391 3 ปีที่แล้ว +23

    Can you do a video about bypassing ssl/tls certificate pinning? Monitoring API calls from Android app.

    • @Acceleratedpayloads
      @Acceleratedpayloads 3 ปีที่แล้ว

      I actually watched this video because a popular baby monitor app doesn't have a public api, and I want to pull the apk apart to get access to the video feed from my wifi camera from them and the sensor data

    • @jasonl8391
      @jasonl8391 3 ปีที่แล้ว

      @@Acceleratedpayloads you can try packet capture app to see if they use ssl/tls pinning. If they don't, you can see all their API calls. Otherwise you will need to do a bypass.

    • @Acceleratedpayloads
      @Acceleratedpayloads 3 ปีที่แล้ว

      @@jasonl8391 Thanks! I'll probably just do it an an android vm or something.

  • @DoorThief
    @DoorThief 3 ปีที่แล้ว +21

    I'd love to see more disassembly videos!

  • @RadicalEagle
    @RadicalEagle 3 ปีที่แล้ว +14

    Just curious, did you contact pz64 and let them know about this before you uploaded the video?

    • @EngineerMan
      @EngineerMan  3 ปีที่แล้ว +34

      I did not. If this were an actual damaging leak of secrets then I wouldn't have uploaded it in the first place. Everything that can be done with that key could also just be done by using his app. The intent here is to demonstrate concepts on a live example without creating a live security incident.

    • @Solomonwo
      @Solomonwo 11 หลายเดือนก่อน

      Why

  • @salahuddinbangash4785
    @salahuddinbangash4785 3 ปีที่แล้ว +2

    For those who wants to read TLS data use old android os like 4.4 with burpsuite and custom certificate. Thanks me later 😂😂😛

  • @keshavsharma9380
    @keshavsharma9380 3 ปีที่แล้ว +13

    you are so calm boi!

  • @bolt8129
    @bolt8129 3 ปีที่แล้ว +9

    Bro how did u gain so much knowledge?

    • @ShivamJha00
      @ShivamJha00 3 ปีที่แล้ว +1

      Wdym? These are just normal stuffs

    • @anthonyscott1864
      @anthonyscott1864 3 ปีที่แล้ว

      You are amazing

    • @coldcerberus9425
      @coldcerberus9425 3 ปีที่แล้ว

      i guess they are just very good at rtfm

  • @mytechnotalent
    @mytechnotalent 3 ปีที่แล้ว +4

    Just brilliant as always!

  • @radomane
    @radomane 3 ปีที่แล้ว +1

    You can extract an APK from your phone with ADB

  • @ssbrunocode
    @ssbrunocode 3 ปีที่แล้ว +1

    Thanks for de video man, great content!

  • @user-fb2cb6xp7c
    @user-fb2cb6xp7c ปีที่แล้ว

    ty, you helped me to go against the internet Laws and decompile an app's apk to actually hurt the app's company, here is a LIKE for you

  • @thiyamsuresh4918
    @thiyamsuresh4918 3 ปีที่แล้ว +1

    Seems like you started bug hunting.

  • @geronimovera9814
    @geronimovera9814 3 ปีที่แล้ว +1

    My man your videos are super cool!

  • @crazyGodLikE
    @crazyGodLikE 3 ปีที่แล้ว +6

    Loving the increased frequency in pushing out quality content! :)

  • @aprilmintacpineda2713
    @aprilmintacpineda2713 3 ปีที่แล้ว +1

    Can you try doing this but this time try it with the google API key, we literally put those in the app's source code?

    • @nadir2k
      @nadir2k 3 ปีที่แล้ว

      u shouldn't have, lol

    • @aprilmintacpineda2713
      @aprilmintacpineda2713 3 ปีที่แล้ว

      @@nadir2k do you develop mobile apps? Do you understand and have experience about this?

  • @GakisStylianos
    @GakisStylianos 3 ปีที่แล้ว

    They're using AsyncTask, did you expect them to hide their api key? 😂

  • @curtissboots7343
    @curtissboots7343 2 ปีที่แล้ว

    how you find out there ip address so you will have a since where they been working from

  • @hamzabarbara6427
    @hamzabarbara6427 3 ปีที่แล้ว

    i'm just curious about your files i mean how do you manage them you have only numbers on them

  • @bingolio
    @bingolio ปีที่แล้ว

    VERY IMPRESSIVE, Great Job!!!

  • @arfanvlk9351
    @arfanvlk9351 3 ปีที่แล้ว

    Android studio can decompile APKs

  • @ianbdb7686
    @ianbdb7686 3 ปีที่แล้ว

    That fact that u pointed out how sus the sites are

  • @FreeDomSy-nk9ue
    @FreeDomSy-nk9ue 3 ปีที่แล้ว

    What's TLS? And how does it hide the endpoint? Isn't the endpoint just a string?
    I thought TLS encrypts content but has nothing to do with hiding the endpoint's plain text string like something_api.php?

    • @EngineerMan
      @EngineerMan  3 ปีที่แล้ว

      TLS encrypts the entire payload including URL, headers, and body. The only thing that is visible is that the phone connected to some IP address which isn't super useful or informative on its own.

    • @FreeDomSy-nk9ue
      @FreeDomSy-nk9ue 3 ปีที่แล้ว

      @@EngineerMan Thank you

    • @FreeDomSy-nk9ue
      @FreeDomSy-nk9ue 3 ปีที่แล้ว

      @@EngineerMan Do you have a video or a stream where you talk about DDOSing and protecting from it? In many of your video (especially about scammers) you simply use their urls to flood their websites with requests. Isn't there a protection against this? I'm not trying to create a scamming website, but just want to protect my client-server communication side project. Thanks again

  • @zat3995
    @zat3995 3 ปีที่แล้ว

    He must have gone to harvard

  • @qwerasdfhjkio
    @qwerasdfhjkio 3 ปีที่แล้ว +4

    Wait I'm a bit confused about how can we protect our apps from this? You said we could create our own api, with our own api key, but can't they also get this new api key too?

    • @mihainov
      @mihainov 3 ปีที่แล้ว +3

      His idea was that you would create your own server as a middleman between your app and the endpoint e.g. twitter. So the communication would go as app -> your server -> twitter. Since the twitter api key is in your web server, the end user does not have access to it.

    • @qwerasdfhjkio
      @qwerasdfhjkio 3 ปีที่แล้ว +1

      @@mihainov i still don't understand, am I missing something?
      If the communication goes like this:
      App -> my server -> twitter, wouldn't they be able to do the exact same thing that EM did in this video? Like they would be able to make a request using something like postman and get their data from there? Sorry if I'm being repetitive but I'm a bit confused

    • @mihainov
      @mihainov 3 ปีที่แล้ว

      @@qwerasdfhjkio If the API key is in the web server, people can still disassemble the app like in the video, but they won't find the "twitter api key" since it will be in the web server. End users will not be able to disassemble the web server. If you make a request with postman to the web server, you still won't find out what the API key is. The web server will include the API key only when it sends a request to twitter,com, but it won't include the API key when it communicates with the Android app (or postman).

    • @ntkidding
      @ntkidding 3 ปีที่แล้ว

      @@mihainov Another benefit would be that if you change your account, then you should only deploy on your server, it will be unnoticeable for the user

    • @qwerasdfhjkio
      @qwerasdfhjkio 3 ปีที่แล้ว +1

      ​@@mihainov I think this makes sense, just wondering, the part where you said:
      "The web server will include the API key only when it sends a request to twitter,com, but it won't include the API key when it communicates with the Android app"
      How do we do this? (Even if you just link some resources instead of expalin that's fine too)

  • @coffeeguy1887
    @coffeeguy1887 3 ปีที่แล้ว

    Big brain time

  • @Hartley94
    @Hartley94 3 ปีที่แล้ว

    Thank you.

  • @ekemark224
    @ekemark224 3 ปีที่แล้ว

    98 views

  • @Ak47Hangu
    @Ak47Hangu 3 ปีที่แล้ว +2

    Brother you make a block chain of programmers like you by teaching them on daily basis from basic to the edge that goes far beyond ..I am constant watcher and I admire your knowledge and creativity great Respect 🙌💯

  • @ekemark224
    @ekemark224 3 ปีที่แล้ว

    banger

  • @BananaHead223
    @BananaHead223 3 ปีที่แล้ว

    Nice

  • @sasodoma
    @sasodoma 3 ปีที่แล้ว

    You should mention APK Mirror, probably the most reliable APK site.

  • @N7Tonik
    @N7Tonik 3 ปีที่แล้ว

    all users are talking to the api via the private api key anyways, I don't understand how it helps let the app users talk through an own api to the actual api

    • @mikeuk1927
      @mikeuk1927 3 ปีที่แล้ว +1

      It's protection. You don't have to expose all endpoints present in original api. Imagine that a web app frontend instead of talking to the backend which in turn talks to the database server, directly talks to the database server. You don't want users to be able to access your sql directly. I guess it's simillar here

    • @N7Tonik
      @N7Tonik 3 ปีที่แล้ว +1

      @@mikeuk1927 of course, thank you, this absolutely makes sense. I actually don't know why I didn't think of it

  • @wisdomTalkswithme
    @wisdomTalkswithme 3 ปีที่แล้ว +1

    I am sorry man ❤️ i really wanted to listen to you 🥺 but i am in tha "Hello world"✝️

  • @shonkylovesgaming1766
    @shonkylovesgaming1766 3 ปีที่แล้ว

    First viewer here.

  • @adittyasharma6530
    @adittyasharma6530 3 ปีที่แล้ว +1

    Frist comment

  • @michaeldevnews
    @michaeldevnews 2 ปีที่แล้ว

    why do you always say "he or him" and never a "she or her". Please learn your pronouns.

    • @CarlForTuna28
      @CarlForTuna28 ปีที่แล้ว

      She is just being realistic, please be reasonable.

    • @antronx7
      @antronx7 ปีที่แล้ว

      92% of software engineers are men, saying she instead of he is just pandering.

    • @EngineerMan
      @EngineerMan  ปีที่แล้ว +1

      Yeah, no, I'm gonna go ahead and say whatever I want. I'm assuming this is a troll post though.