记一次安卓逆向过程(思路篇)

简介:        研究某安卓app,特记录下。        Fiddler4设置代理,抓包。发现请求存在签名值,响应内容加密过。        直接用apktools逆向得到dex,使用jd-gui查看代码。

       研究某安卓app,特记录下。

       Fiddler4设置代理,抓包。发现请求存在签名值,响应内容加密过。

       直接用apktools逆向得到dex,使用jd-gui查看代码。

       请求的签名算法不可读,直接看smail文件。参数存在对应寄存器中。从上下文找到对应参数顺序。摸清请求的构成。

       相应内容,继续研究源码,发现调用so库进行处理。初步打算将so文件逆向后,使用别的语言改写。使用ida研究后,因太过复杂,放弃。

       继续找资料,结合网友的思路,编写一个调用这个库的安卓应用,并通过内建httpServer的方式对外提供服务。

       因为没有写过安卓应用,不知为什么能在模拟器中运行,但不能在真机中运行。之前怀疑为android高版本后的权限申明,但先放弃。之后有机会再研究。

       复盘:

1、遇到问题,先进行分析,不着急下手

2、 当以结果为导向时,不要纠结在某问题。针对问题,设置合理的超时,当在指定时间内无法完成,更换思路。条条大路通罗马。正是所谓的旁注

3、  空余时间多了解新技术及新思路。不要陷入自己的舒适区。

目录
相关文章
|
12月前
|
存储 监控 小程序
《优化接口设计的思路》系列:第三篇—留下用户调用接口的痕迹
大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟练工,掌握了一些实用的技巧。
86 0
《优化接口设计的思路》系列:第三篇—留下用户调用接口的痕迹
|
2月前
|
SQL 缓存 监控
技术方案到底怎么写?7步完美搞定!
总结了作者多年编写技术方案的经验,介绍了如何通过七个步骤来编写技术方案,包括系统用例、功能链路、核心业务流程、数据库设计、接口设计、非功能设计和系统风险点评估,帮助开发人员更高效地进行系统设计和需求分析。
技术方案到底怎么写?7步完美搞定!
|
5月前
|
算法
二分查找算法的细节刨析 --适合有基础的朋友阅读
二分查找算法的细节刨析 --适合有基础的朋友阅读
|
10月前
|
C语言
近期一系列个人做题反复记不住以及思路不清晰问题的总结
近期一系列个人做题反复记不住以及思路不清晰问题的总结
36 0
|
12月前
|
机器学习/深度学习 算法 搜索推荐
程序员的算法“必抓清单”:那些我们一定会遇见的算法
程序员的算法“必抓清单”:那些我们一定会遇见的算法
77 0
|
算法 Java API
逆向的流程和思路
逆向的流程和思路
|
算法 搜索推荐 编译器
用调试来帮你分析并拿捏折半插入排序算法的流程
用调试来帮你分析并拿捏折半插入排序算法的流程
84 0
|
存储 算法 C++
数据结构与算法——第四节 栈和队列(C 模拟实现+思路分析+运行截图)
对于栈和队列,我们在这里只是把 其底层的原理简单的说一下,等到C++说到STL的时候,我们还会详细地说。
181 0
数据结构与算法——第四节 栈和队列(C 模拟实现+思路分析+运行截图)