吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 59217|回复: 83
上一主题 下一主题
收起左侧

[Android 原创] 《教我兄弟学Android逆向07 IDA破解第一个so》

    [复制链接]
跳转到指定楼层
楼主
会飞的丑小鸭 发表于 2018-4-28 13:39 回帖奖励
本帖最后由 会飞的丑小鸭 于 2018-7-19 10:27 编辑

上一篇 《教我兄弟学Android逆向06 用AndroidStudio编写第一个so》我带你用AS编写了第一个so 现在回顾一下 首先我创建了一个myJNI类 里面包含一个Native的sayHello方法 这个方法在native层返回一句话 hello 52pojie! 然后我在java层通过Log函数调用并输入了sayHello方法完成了第一个so的编写。
课程写到这我已经不再是面向威一个人了 有很多同学私信我问威学的怎么样了 找到工作了吗 其实威已经找到了逆向的工作 待遇还不错 今年七月份回学校拿毕业证 现在正在忙着写毕业论文等学校一堆的事情 当然他学的并不止这些东西。 虽然威找到了工作 但是应很多同学的要求课程还会继续更新 后面我还会陆续放出来一些课程。

希望同学们好好学习 认真学习的人都能找到满意的工作。  

教我兄弟学逆向系列课程中的每一课我认为均是一个框架 这是一个抛砖引玉的过程 课程中我不会把东西讲的这么细 我只会教给大家一种破解的思路和实现方式 具体原理请自行百度。


要么学!要么不学!学和不学之间没有中间值 不学就放弃,学就要去认真的学!    --致选择

本节课给你带来的是so的破解 本节课用到的例子是上节课我带你做的Demo 题目是更改Native方法sayHello的返回值 让它原来返回的hello 52pojie!变成hello world!
那么开始今天的课程。


本节课所有到的工具和Demo
IDA

链接:https://pan.baidu.com/s/15uCX8o6tTSSelgG_RN7kBQ 密码:ftie

第六课Demo
链接:https://pan.baidu.com/s/1vKC1SevvHfeI7f0d2c6IqQ 密码:u1an


一 解包
1.使用apktool解包app-debug.apk  

2.关于apktool的使用请看番外

https://www.52pojie.cn/thread-732007-1-1.html


二 打开so文件
1.进入解包后的lib目录找到libJniTest.so并用IDA打开




2.点两次OK进入此页面 点新建


3.找到so并打开它 因为我的机型是支持arm的所以我这里打开的是armeabi文件夹下的so 如果机型是x86模式的那么这里要打开x86模式下的libJniTest.so
armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
x86: 平板、模拟器用得比较多。
x86_64: 64位的平板。


4.点击打开后会有几个弹框 全部点OK会进入到这样一个界面 说明so已经打开


三 找到字符串hello 52pojie!并修改为hello world!
1.按住键盘组合键 shift + f12 打开字符串窗口  这个窗口将会列举出so中所包含的所有字符串 因为上节课我们只编写了一个字符串 所以这里只有一个hello 52pojie! 如果打开的是x86的so这里还会有一些.so 但是字符串只有这一个


2.双击进去将会找到hello 52pojie!的内存地址


3.鼠标点在hello 52pojie!字符串上,打开 Hex dump窗口,修改hello 52pojie!对应内存地址的内容
关于字符对应的16进制可以在百度百科搜索ascii码表 找到字符所对应的16进制




4.因为我要把hello 52pojie!修改成hello world! 是不是只要找到每个字符所对应的hex修改就好了
这里我看到 hello 52pojie!对应的hex是:68 65 6C 6C 6F 20 35 32 70 6F 6A 69 65 21
我在ascii码表上找到world所对应的十六进制是:77 6F 72 6C 64
所以hello world! 对应的十六进制是:68 65 6C 6C 6F 20 77 6F 72 6C 64 21


5.找到所要修改的字符所对应的16进制 右键Edit


6.由于52pojie!比world!多两个字符 这里把多出来的置为00 修改好后 右键Apply changes应用


7.保存修改好后so




8.点击确定后 把修改后的so储存到一个位置


四 替换so并重打包
1.关闭ida 并把armeabi和armeabi-v7a下的libJniTest.so替换成修改后的so 注意这里两个文件夹下的so都要替换  同理 如果是x86模式的 这里要替换x86文件夹的so


2 替换so后把app-debug文件夹用apktool命令重打包成new.apk 并进行签名 生成签名后的new_sign.apk




3.将new_sign.apk安装到手机 运行 查看Log成功显示hello world! so破解成功


五.总结
本节课首先下载了ida这款逆向神器   然后通过ida修改so的16进制 成功的将hello 52pojie!修改成了hello world! 完成了对第六课的破解 。



课后作业
1.完成第六课的课后作业并破解它
2.看完《IDA Pro权威指南》前六章
书籍链接:https://pan.baidu.com/s/1zHkHbeaGZ6wfeRR20Gav-A 密码:3vnu



下一篇:教我兄弟学Android逆向08 IDA爆破签名验证





免费评分

参与人数 32威望 +1 吾爱币 +45 热心值 +32 收起 理由
菜鸟也想飞 + 1 + 1 谢谢@Thanks!
昙花一片心 + 1 + 1 我很赞同!
redABC + 1 谢谢@Thanks!
陈小胖 + 1 + 1 我很赞同!
rnwoshiwo + 1 + 1 用心讨论,共获提升!
编草鞋的蚂蚱 + 1 + 1 我很赞同!
tztt3033 + 1 + 1 用心讨论,共获提升!
明月相照 + 1 + 1 谢谢@Thanks!
飞天蜗牛 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
南湾不秋 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
katkat + 1 + 1 谢谢@Thanks!
dazhige + 1 + 1 热心回复!
莫名堂 + 1 + 1 用心讨论,共获提升!
Li1y + 1 + 1 热心回复!
macjor + 1 + 1 不明觉厉
龟仔龟龟 + 1 + 1 用心讨论,共获提升!
tail88 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
mygzv001 + 1 + 1 谢谢@Thanks!
xinkui + 1 + 1 谢谢@Thanks!
koudai + 1 + 1 666666
zhh4827 + 1 + 1 谢谢@Thanks!
夏雨微凉 + 2 + 1 谢谢@Thanks!
qaz003 + 3 + 1 通俗易懂~~见一次加一次
h080294 + 1 + 1 我很赞同!
xwzj20170829 + 1 + 1 谢谢@Thanks!
qtfreet00 + 1 + 12 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
debug_cat + 1 + 1 正在下载工具和文件,终于更新啦
cr7890 + 1 + 1 谢谢@Thanks!
zy1234 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
sushangyu + 1 + 1 终于更新了,等很久了
天然 + 1 + 1 热心回复!
Vsir + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

来自 44#
 楼主| 会飞的丑小鸭 发表于 2018-6-4 16:56 |楼主
论坛爱好者 发表于 2018-6-4 16:52
同问
保存修改的时候有个modifyfile,我的也没有,无论启动的是ida.exe还是ida32.exe或者ida64.exe都没有

插件下载链接:https://pan.baidu.com/s/1YoCrSn0u78LmoK_DrHxulQ 密码:0swt
下载后方法哦IDA plugins目录下就行

点评

谢谢楼主,刚刚就卡在了这个插件位置找不到,还重装了一遍。。  发表于 2018-10-11 10:49
沙发
张寻欢 发表于 2018-4-28 13:48
3#
天然 发表于 2018-4-28 14:01
你这个是通过进制修改so,不算反编译吧,so进制修改器就可以改,哈哈哈,虽然我看不懂
4#
wisoft 发表于 2018-4-28 14:06
感谢分享
5#
baidu404 发表于 2018-4-28 14:18
??????????????????????????????
6#
O-NE 发表于 2018-4-28 15:12
喜欢看这种实战教程
7#
永恒灬守护 发表于 2018-4-28 17:43
真是太感谢楼主了,找了好久!
8#
qaz003 发表于 2018-4-28 18:18
通俗易懂~~见一次加一次
9#
forrest888 发表于 2018-4-28 19:29
感谢分享,喜欢看这种实战教程
10#
zhang070809 发表于 2018-4-28 20:28
非常清晰明了的教程
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-21 16:03

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表