zoukankan      html  css  js  c++  java
  • 逆向某停车app(原创)

          最近一直在做python开发的事情,信息安全方面做得很少,也是"蛋蛋"的忧伤呀。今天有朋友请我帮忙,将一个app里的文字和图标替换一下,花了一下午和一晚上的时间搞了一下,主要是图标的PS很伤脑筋,弱项呀。。。满眼都是泪。。。。。。只能慢慢的做了。。。

          先把工具更新一下,发现AndroidKiller_v1.3已经发布一段时间,看来真是好久没搞了。。。把apk拖进去进行反编译。

         AndroidKiller提供了很好的搜索和替换功能,所以文本替换变得极其的方便。

      替换文字极其方便,替换图标稍微麻烦一点,首先找到对应16进制ID,再找到布局文件,接着找到图标,最后PS修改一下,改一下布局,就OK了,技术上不复杂,就是费时间。

     

     

            当然这不是我们几天说的重点,咱们讨论的是反编译,修改,打包,签名,这一系列工作之后遇到的难点。

     

            这个停车app在我改完之后,能在手机上安全运行,不出现异常,以为就要大功告成的时候。我的朋友发现了问题,就是百度地图显示不出来了。。。

    此番逆向的难度也就在这个地方了。怎么解决这个问题呢?

     

            既然是百度地图显示不出来,可以判断出百度地图进行了校验,反编译后的app和原app最大的不同是签名,差不多可以肯定是校验了签名。幸亏之前做过两三年的android开发,了解过百度地图的开发,这次发挥了作用。看来要搞好信息安全,学会开发是基本功呀。废话不多说,既然确定了秘钥问题,那咱们就去 百度地图开发者中心 去解决问题。

           登录百度地图开发者中心,注册成开发者。我已经注册完成了。

       大家注意到图中这句话了吗!!!

      百度地图Android SDK提供的所有服务是免费的,接口使用无次数限制。您需申请密钥(key)后, 才可使用百度地图Android SDK。

          由此看来咱们的猜测是对的,是通过密钥进行判断,是否被允许使用百度地图SDK。咱们看一下,密钥是怎么生成的,怎么放到程序中校验的。

           http://lbsyun.baidu.com/index.php?title=androidsdk/guide/key

    这就是申请密钥的整个流程,密钥的生成主要和数字签名(SHA1)和包名有关。

    包名咱们可以在manifest文件中找到。

    由于咱们使用的是AndroidKiller的签名文件(原程序的也搞不到。。。),所以数字签名(SHA1)就使用AndroidKiller的。

    最后咱们把包名和数字签名填写好,提交之后,就生成咱们自己的应用和密钥。

    那这个密钥应该填写到什么地方呢????

    从开发文档中,咱们可以看到

    好,那咱们就直接找到咱们反编译程序的AndroidManifest文件,然后使用我自己的密钥把他原来的给替换掉。

    当这一切都做完后,打包安装,看效果,可想而知,成功了,地图出来了。

    今天的分享就到这里,如果大家觉得不错的话,记得打赏呦。

    欢迎大家支持我的公众号:

  • 相关阅读:
    Two Sum II
    Subarray Sum
    Intersection of Two Arrays
    Reorder List
    Convert Sorted List to Binary Search Tree
    Remove Duplicates from Sorted List II
    Partition List
    Linked List Cycle II
    Sort List
    struts2结果跳转和参数获取
  • 原文地址:https://www.cnblogs.com/qiyeboy/p/5300739.html
Copyright © 2011-2022 走看看