新西兰服务器

如何使用Apk-Medit对APK进行内存搜索和数据修改


如何使用Apk-Medit对APK进行内存搜索和数据修改

发布时间:2021-11-19 17:16:36 来源:高防服务器网 阅读:74 作者:小新 栏目:数据安全

小编给大家分享一下如何使用Apk-Medit对APK进行内存搜索和数据修改,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

工具安装

首先,我们需要访问该项目的来下载该项目源码。下载完成之后,我们需要将代码拷贝至目标安卓设备的/data/local/tmp/目录下:

$ adb push medit /data/local/tmp/medit    medit: 1 file pushed. 29.0 MB/s (3135769 bytes in 0.103s)

代码构建

我们可以使用make命令来完成代码的构建,这里要求使用Go编译器。代码构建完成之后,使用adb连接设备,它将会把构建好的代码推送至目标Android设备的/data/local/tmp/目录下:

$ make    GOOS=linux GOARCH=arm64 GOARM=7 go build -o medit    /bin/sh -c "adb push medit /data/local/tmp/medit"    medit: 1 file pushed. 23.7 MB/s (3131205 bytes in 0.126s)

工具命令

搜索

在内存中搜索特定的值:

> find 999982    Search UTF-8 String...    Target Value: 999982([57 57 57 57 56 50])    Found: 0!    ------------------------    Search Word...    parsing 999982: value out of range    ------------------------    Search Double Word...    Target Value: 999982([46 66 15 0])    Found: 1!    Address: 0xe7021f70

我们还可以指定目标数据类型,比如说字符串、dword和qword等等:

> find dword 999996    Search Double Word...    Target Value: 999996([60 66 15 0])    Found: 1!    Address: 0xe7021f70

过滤

我们可以对搜索结果进行过滤,并匹配当前的搜索值:

> filter 993881    Check previous results of searching dword...    Target Value: 993881([89 42 15 0])    Found: 1!    Address: 0xe7021f70

数据修改

我们可以直接修改目标地址的数据值:

> patch 10    Successfully patched!

ps命令

寻找目标进程,如果只有一个的话,我们可以使用ps命令来自动指定:

> ps    Package: jp.aktsk.tap1000000, PID: 4398    Target PID has been set to 4398.

绑定进程

如果目标PID是通过ps命令设置的,我们就可以跟目标进程进行绑定,并通过ptrace来终止App内的所有进程:

> attach    Target PID: 4398    Attached TID: 4398    Attached TID: 4405    Attached TID: 4407    Attached TID: 4408    Attached TID: 4410    Attached TID: 4411    Attached TID: 4412    Attached TID: 4413    Attached TID: 4414    Attached TID: 4415    Attached TID: 4418    Attached TID: 4420    Attached TID: 4424    Attached TID: 4429    Attached TID: 4430    Attached TID: 4436    Attached TID: 4437    Attached TID: 4438    Attached TID: 4439    Attached TID: 4440    Attached TID: 4441    Attached TID: 4442

如果目标PID没有设置的话,我们就需要在命令行中专门指定了:

> attach <pid>

解绑进程

解绑已绑定的进程:

> detach    Detached TID: 4398    Detached TID: 4405    Detached TID: 4407    Detached TID: 4408    Detached TID: 4410    Detached TID: 4411    Detached TID: 4412    Detached TID: 4413    Detached TID: 4414    Detached TID: 4415    Detached TID: 4418    Detached TID: 4420    Detached TID: 4424    Detached TID: 4429    Detached TID: 4430    Detached TID: 4436    Detached TID: 4437    Detached TID: 4438    Detached TID: 4439    Detached TID: 4440    Detached TID: 4441    Detached TID: 4442

导出

显示内存导出数据:

> dump 0xf0aee000 0xf0aee300    Address range: 0xf0aee000 - 0xf0aee300    ----------------------------------------------    00000000  34 32 20 61 6e 73 77 65  72 20 28 74 6f 20 6c 69  |42 answer (to li|    00000010  66 65 20 74 68 65 20 75  6e 69 76 65 72 73 65 20  |fe the universe |    00000020  65 74 63 7c 33 29 0a 33  31 34 20 70 69 0a 31 30  |etc|3).314 pi.10|    00000030  30 33 20 61 75 64 69 74  64 20 28 61 76 63 7c 33  |03 auditd (avc|3|    00000040  29 0a 31 30 30 34 20 63  68 61 74 74 79 20 28 64  |).1004 chatty (d|    00000050  72 6f 70 70 65 64 7c 33  29 0a 31 30 30 35 20 74  |ropped|3).1005 t|    00000060  61 67 5f 64 65 66 20 28  74 61 67 7c 31 29 2c 28  |ag_def (tag|1),(|    00000070  6e 61 6d 65 7c 33 29 2c  28 66 6f 72 6d 61 74 7c  |name|3),(format||    00000080  33 29 0a 31 30 30 36 20  6c 69 62 6c 6f 67 20 28  |3).1006 liblog (|    00000090  64 72 6f 70 70 65 64 7c  31 29 0a 32 37 31 38 20  |dropped|1).2718 |    000000a0  65 0a 32 37 31 39 20 63  6f 6e 66 69 67 75 72 61  |e.2719 configura|    000000b0  74 69 6f 6e 5f 63 68 61  6e 67 65 64 20 28 63 6f  |tion_changed (co|    000000c0  6e 66 69 67 20 6d 61 73  6b 7c 31 7c 35 29 0a 32  |nfig mask|1|5).2|    000000d0  37 32 30 20 73 79 6e 63  20 28 69 64 7c 33 29 2c  |720 sync (id|3),|    000000e0  28 65 76 65 6e 74 7c 31  7c 35 29 2c 28 73 6f 75  |(event|1|5),(sou|    000000f0  72 63 65 7c 31 7c 35 29  2c 28 61 63 63 6f 75 6e  |rce|1|5),(accoun|

退出

如需退出该工具,可以使用exit命令或按下Ctrl+D:

> exit    Bye!

工具测试

我们可以使用make命令来运行测试代码:

$ make test

工具使用Demo

以上是“如何使用Apk-Medit对APK进行内存搜索和数据修改”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注高防服务器网行业资讯频道!

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[