最近一直在做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文件,然后使用我自己的密钥把他原来的给替换掉。

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

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

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

逆向某停车app(原创)的更多相关文章

  1. 逆向工程之App脱壳

    http://www.cnblogs.com/ludashi/p/5725743.html iOS逆向工程之App脱壳 本篇博客以微信为例,给微信脱壳."砸壳"在iOS逆向工程中是 ...

  2. Python 逆向抓取 APP 数据

    今天继续给大伙分享一下 Python 爬虫的教程,这次主要涉及到的是关于某 APP 的逆向分析并抓取数据,关于 APP 的反爬会麻烦一些,比如 Android 端的代码写完一般会进行打包并混淆加密加固 ...

  3. 逆向番茄社区app的rsa加密方式

    Parse RSA public and private key pair from string in Java 逆向某APP,发现其大部分配置文件都是加密的 .所以逆向算法并解密 RSA和AES密 ...

  4. iOS逆向工程之App脱壳

    本篇博客以微信为例,给微信脱壳."砸壳"在iOS逆向工程中是经常做的一件事情,,因为从AppStore直接下载安装的App是加壳的,其实就是经过加密的,这个“砸壳”的过程就是一个解 ...

  5. Android无需权限显示悬浮窗, 兼谈逆向分析app

    前言 最近UC浏览器中文版出了一个快速搜索的功能, 在使用其他app的时候, 如果复制了一些内容, 屏幕顶部会弹一个窗口, 提示一些操作, 点击后跳转到UC, 显示这个悬浮窗不需要申请android. ...

  6. ios 逆向编程(环境搭建)

    首先如果你想要逆向其他的APP 动态的查看 或者修改人家APP里面的东西 1, 首先要有一台越狱的手机 最好是9.1以下的,因为9.2以上(包括9.2)就不能完美越狱了 2,手机也要5s以上的(因为从 ...

  7. 爬虫工程师分享:三步就搞定 Android 逆向

    本文源于我近期的一次公司内部分享,通过逆向某款 APP 来介绍逆向过程.由于仅作为学习用途,APP 的相关信息会被遮盖,敬请理解. 关于逆向 逆向--包括但不限于通过反编译.Hook 等手段,来解析一 ...

  8. 浅析手机抓包方法实践(zt)

    原文:http://drops.wooyun.org/tips/12467 0x00 摘要 在移动逆向分析以及 App 开发的时候,总会需要对其网络行为进行监控测试,本文总结一些抓包思路,并对其使用方 ...

  9. 【转】其实你不知道MultiDex到底有多坑

    遭遇MultiDex 愉快地写着Android代码的总悟君往工程里引入了一个默默无闻的jar然后Run了一下, 经过漫长的等待AndroidStudio构建失败了. 于是带着疑惑查看错误信息. UNE ...

随机推荐

  1. servlet的生命周期详解

    一.servlet生命周期原理解析 1.Servlet生命周期分为三个阶段: (1)初始化阶段  调用init()方法 (2)响应客户请求阶段 调用service()方法 (3)终止阶段 调用dest ...

  2. SQL server数据异地备份到OSS

    背景需求: 某部门需要将windows机器上的SQL server数据做一个异地备份,经过对现有的软硬件资源评估,决定使用阿里云的OSS存储 方法:利用SQLserver自带的维护计划做指定数据库的备 ...

  3. Android Asynctask与Handler的比较,优缺点区别,Asynctask源码

    1  AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以 ...

  4. Java I/O系列(一)InputStream与OutputStream源码分析及理解

    1. InputStream 定义 字节输入流,是一个抽象类,核心是通过read()方法,从数据源中读取一个个字节出来,另有skip,mark功能 核心源码理解 源码: public abstract ...

  5. 【星云测试】开发者测试(4)-采用精准测试工具对dubbo微服务应用进行测试

    简介:本文主要目的是把现今主流的Dubbo框架项目和精准测试进行对接,通过精准测试的数据穿透.数据采集.测试用例与代码的双向追溯.数据分析等一系列精准测试的特有功能达到对项目质量的保证. 本次环境搭建 ...

  6. 【.net开发者自学java系列】使用Eclipse开发SpringMVC(3)

    [.net开发者自学java系列]使用Eclipse开发SpringMVC(3) 标签(空格分隔): Spring RESTful 很久没继续学习java的spring了.接下来继续 回忆一下上个随笔 ...

  7. Java并发编程(四)锁的使用(上)

    锁的作用 锁是一种线程同步机制,用于实现互斥,当线程占用一个对象锁的时候,其它线程如果也想使用这个对象锁就需要排队.如果不使用对象锁,不同的线程同时操作一个变量的时候,有可能导致错误.让我们做一个测试 ...

  8. JSON定义及应用

    1 什么是JSON? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) 是轻量级的文本数据交换格式,JSON 比 XML 更小.更快,更易解析 ...

  9. php无限极分类处理

    /** * 无限极分类处理(通过递归方式实现) * @param $section 原始数据Array * @param $html 界面显示前缀,比如 |- * @param $spear 分级中所 ...

  10. bootstrap世界探索1——山川河流(文字排版)

    世界到底是什么?其实世界很简单,正所谓一花一世界,一树一菩提,世界就在我们身边.造物神是伟大的,在我看来无论是HTML,css,js都可以看作是一个世界,但是他们是构成宏观世界不可或缺的,正如IU框架 ...