| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 区块链钱包APP逆向分析及实现 -> 正文阅读 |
|
[区块链]区块链钱包APP逆向分析及实现 |
PS: 有单子找我接呀,点击这里加我 前言1.早在8月中旬接到一个粉丝加我,说是有开发需求,找我来聊聊,能否实现 2.还真搞定了,但是由于这个钱来路有点黑,最后不接,对方开了很高的价钱也不接 3.也很久没更新博客了,也没什么技术亮点,这次水一篇吧,好歹是逆向某APP,也学习到了一些东西 4.本篇内容篇幅就不介绍脱壳、签名的问题,本篇文章侧重介绍:Smali 源码修改及重打包 逆向定位小技巧PS: 先了解区块链钱包的实现原理
1.明知山有虎,偏向虎山行——还是老套路,抓包分析(固有套路,排除最简单的方式) 2.发现抓包并没有什么发现,都是加密的东西(TCP/UDP/HTTPS) 3.灵光一闪,想到了前面的原理所提及的关键词,直接拿去谷歌翻译啊笨——当时心情突然开心了一下子 4.助记词——Mnemonic,真行啊这都被我想到了,而且一点混淆也没有(我骄傲了吗,哼!) 5.使用 frida hook 来分析到的关键代码处(这里忽略过程) 6.本文介绍的最重要的一点来了:smali 源码修改及打包 6-1、首先来分析一下,我们可以直接修改 smali 源码来实现我们需要的操作,比如:
6-2、那么问题来了,我们需要对 smali 源码进行修改,那不得按照它的语法来编写呀? 很好,你有这个意识就好; 来到了,我的政治老师教给我的,怎么办?我们直接写一大篇幅的 smali 代码那简直是头疼呀,不是不可能,是很容易出错,需要多次修改; 有没有更好的思路及实现呢?有吧,我觉得 7.正向开发——>再反编译成 smali 项目——>拷贝 smali 文件——>修改 smali 文件的包路径为正确的包路径——>最后引用 发送内容到指定的服务器 demo 代码: ForSmaliUtils.java
调用发送数据到指定的服务器:
然后将正向开发的代码,我的是在一个 xposed 插件 APP 里面的,所以直接编译这个项目输出一个 APP 包就行了; 然后将这个输出的 APP 包,反编译成 smali 项目,我这里同样是使用 Android killer来修改, 请看第一篇手把手教学的教程 查看 smali 源码 直接拷贝 ForSmaliUtils 的 smali 文件,及使用、调用它 然后重新打包,成功之后,直接打印日志试试,因为我里面做了日志打印,标签为:SmaliLog 使用 服务端接收成功: 至此,这 APP 算逆向成功了 关于去掉APP盗版检测思考比如,检测到了盗版是这样的:
怎么过呢?目前考虑的情况有这些:
目前实现的步骤来看,不再继续研究了,因为这是违法的事,我也跟那哥们说了,不接这单子了,然后他找别人做去了 区块链安全思考
总结
其他
之前说好的,每个月至少一更,现在都很多个月没写了,对不起粉丝们,这么久没有输出内容 感谢某人的默默支持,这好长一段时间,辛苦了,谢谢 很深夜了,睡觉啦,晚安 关注这里,了解更多原创资讯:打赏喝咖啡你的支持就是我的动力,感谢感谢 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:17:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |