首页
社区
课程
招聘
[原创]进击的Android注入术
发表于: 2014-8-16 08:45 17346

[原创]进击的Android注入术

2014-8-16 08:45
17346
收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 76
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
写的很详细呀 学习了
2014-8-16 08:58
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
LZ挺帅的啊。。晚上有空么
2014-8-16 10:38
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
非常不错,听过楼主的分享!
2014-8-19 19:42
0
雪    币: 196
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
嗯,binder hook出炉了。
2014-8-23 02:15
0
雪    币: 116
活跃值: (26)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
mark
2014-8-23 09:09
0
雪    币: 202
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
先看看。。。
2014-8-23 09:37
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
前排支持了
2014-8-23 10:53
0
雪    币: 485
活跃值: (78)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
9
赞!!!!!!!
2014-8-23 22:19
0
雪    币: 230
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
楼主最近很活跃哦
2014-8-24 11:12
0
雪    币: 76
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
楼主,进击的Android注入术《四》中,注入后,importdex.so好像没有执行起来。
现象如下,4.4.2的系统,大概可能原因是什么?

log:
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
I/TTT     ( 1697): com.demo.inject starts.
I/TTT     ( 1697): com.demo.host starts
I/TTT     ( 1697): 1
I/TTT     ( 1697): 2
I/TTT     ( 1697): 3
I/TTT     ( 1697): 4
I/TTT     ( 1697): 5
I/TTT     ( 1697): >>>>>>>>>>>>>I am in, I am a bad boy!!!!<<<<<<<<<<<<<<
I/TTT     ( 1697): searchContextForZygoteProcess 000
I/TTT     ( 1697): searchContextForZygoteProcess 000 111
I/TTT     ( 1697): searchContextForZygoteProcess 000 222
I/TTT     ( 1697): searchContextForZygoteProcess
I/TTT     ( 1697): searchContextForZygoteProcess 1111
I/TTT     ( 1697): 6
I/TTT     ( 1697): searchContextForZygoteProcess 2222
I/TTT     ( 1697): searchContextForZygoteProcess 333
I/TTT     ( 1697): 998
I/TTT     ( 1697): 999
I/TTT     ( 1697): 1000
I/TTT     ( 1697): 1001
I/TTT     ( 1697): 1002
I/TTT     ( 1697): 1003
I/TTT     ( 1697): 1004
I/TTT     ( 1697): 1005
I/TTT     ( 1697): 1006
I/TTT     ( 1697): 1007
I/TTT     ( 1697): 1008
I/TTT     ( 1697): 1009
I/TTT     ( 1697): 1010
I/TTT     ( 1697): 1011
I/TTT     ( 1731): [+] ptrace attach to [1697] com.demo
I/TTT     ( 1731): [+] pc: 40056364, r7: 263
I/TTT     ( 1731): [+] the local module is /system/bin/linker
I/TTT     ( 1731): [+] the local module is /system/bin/linker
I/TTT     ( 1731): [+] remote_dlopen address 0x40016401
I/TTT     ( 1731): [+] remote_dlsym  address 0x4001636d
I/TTT     ( 1731): [+] the local module is /system/lib/libc.so
I/TTT     ( 1731): [+] Calling mmap in target process. mmap addr 0x4005c408.
I/TTT     ( 1731): [+] Target process returned from mmap, return r0=52587000, r7
=107, pc=0,
I/TTT     ( 1731): [+] Target process returned from dlopen, return r0=400293a0,
r7=107, pc=0,
I/TTT     ( 1731): [+] Inject success!
I/TTT     ( 1731): [+] Inject done!
I/TTT     ( 1697): 1012
I/TTT     ( 1697): 1013
I/TTT     ( 1697): 1014
I/TTT     ( 1697): 1015
I/TTT     ( 1697): 1016
I/TTT     ( 1697): 1017
I/TTT     ( 1697): 1018
I/TTT     ( 1697): 1019

文件的路径如下:
root@android:/data/local/tmp # ls -l
ls -l
-rwxrwxrwx root     root       285374 2014-09-05 16:28 DemoInject2.apk
-rwxrwxrwx root     root         9544 2014-09-05 17:29 demo1
-rwxrwxrwx root     root         5088 2014-09-09 16:44 libimportdex.so
-rwxrwxrwx root     root        13388 2014-09-05 17:34 libinso.so
-rwxrwxrwx root     root        13432 2014-09-06 13:37 libmyso.so
-rwxrwxrwx root     root        17752 2014-09-06 16:15 poison
2014-9-9 21:58
0
雪    币: 11
活跃值: (80)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
mark。。。
2014-9-9 22:16
0
雪    币: 233
活跃值: (148)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
13
进程A如果要加载dex文件B,需要保证odex的outdir的uid也是A,可能有点绕,你留意一下进程A(即com.demo.host)的warning日志就明白了。
2014-9-9 22:56
0
雪    币: 76
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
这是waring:
W/ADB_SERVICES(  167): create_local_service_socket() name=tcp:14088
W/ADB_SERVICES(  167): LS(269): bound to 'tcp:14088' via 53
W/ADB_SERVICES(  167): entered. LS(269) fd=53
W/ADB_SERVICES(  167): create_local_service_socket() name=tcp:14088
W/ADB_SERVICES(  167): LS(270): bound to 'tcp:14088' via 53
W/ADB_SERVICES(  167): entered. LS(270) fd=53
W/ADB_SERVICES(  167): create_local_service_socket() name=shell:dumpsys usagestats
W/ADB_SERVICES(  167): LS(271): bound to 'shell:dumpsys usagestats' via 53
W/ADB_SERVICES(  167): create_local_service_socket() name=jdwp:1662
W/ADB_SERVICES(  167): looking for pid 1662 in JDWP process list return fds0(73) fds1(74)
W/ADB_SERVICES(  167): LS(272): bound to 'jdwp:1662' via 73
W/ADB_SERVICES(  167): trying to write to JDWP socket=72 pid=1662 count=1 out_fds=74
W/ADB_SERVICES(  167): entered. LS(271) fd=53
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  550): AssetManager-->addDefaultAssets CIP path not exsit!
W/ADB_SERVICES(  167): terminating JDWP 1662 connection: Try again
W/ADB_SERVICES(  167): entered. LS(272) fd=73
W/ADB_SERVICES(  167): create_local_service_socket() name=jdwp:1675
W/ADB_SERVICES(  167): looking for pid 1675 in JDWP process list return fds0(72) fds1(73)
W/ADB_SERVICES(  167): LS(273): bound to 'jdwp:1675' via 72
W/ADB_SERVICES(  167): trying to write to JDWP socket=53 pid=1675 count=1 out_fds=73
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   ( 1675): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   ( 1675): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/asset   (  797): AssetManager-->addDefaultAssets CIP path not exsit!
W/ADB_SERVICES(  167): entered. LS(268) fd=42
W/ADB_SERVICES(  167): create_local_service_socket() name=shell:logcat -v long
W/ADB_SERVICES(  167): LS(274): bound to 'shell:logcat -v long' via 42
W/ADB_SERVICES(  167): create_local_service_socket() name=tcp:14088
W/ADB_SERVICES(  167): LS(275): bound to 'tcp:14088' via 73
W/ADB_SERVICES(  167): entered. LS(275) fd=73
W/ADB_SERVICES(  167): create_local_service_socket() name=tcp:14088
W/ADB_SERVICES(  167): LS(276): bound to 'tcp:14088' via 73
W/ADB_SERVICES(  167): entered. LS(276) fd=73
W/ADB_SERVICES(  167): create_local_service_socket() name=tcp:14088
W/ADB_SERVICES(  167): LS(277): bound to 'tcp:14088' via 73
W/ADB_SERVICES(  167): entered. LS(277) fd=73
W/ADB_SERVICES(  167): create_local_service_socket() name=tcp:14088
W/ADB_SERVICES(  167): LS(278): bound to 'tcp:14088' via 73
W/ADB_SERVICES(  167): entered. LS(278) fd=73
W/ADB_SERVICES(  167): terminating JDWP 1298 connection: Try again
W/ADB_SERVICES(  167): entered. LS(238) fd=40
W/ActivityManager(  550): skip resumeTopActivityLocked, next = ActivityRecord{41c41058 u0 com.demo.host/.MainActivity}
W/ADB_SERVICES(  167): create_local_service_socket() name=shell:export ANDROID_LOG_TAGS="" ; exec logcat
W/ADB_SERVICES(  167): LS(279): bound to 'shell:export ANDROID_LOG_TAGS="" ; exec logcat' via 40

运行的Log:
C:\Users\zy-pc>adb logcat -s TTT
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
I/TTT     ( 1675): com.demo.inject starts.
I/TTT     ( 1675): com.demo.host starts
I/TTT     ( 1675): 1
I/TTT     ( 1675): 2
I/TTT     ( 1675): 3
I/TTT     ( 1675): 4
I/TTT     ( 1675): 5
I/TTT     ( 1675): >>>>>>>>>>>>>I am in, I am a bad boy!!!!<<<<<<<<<<<<<<
I/TTT     ( 1675): searchContextForZygoteProcess 000
I/TTT     ( 1675): searchContextForZygoteProcess 000 111
I/TTT     ( 1675): searchContextForZygoteProcess 000 222
I/TTT     ( 1675): searchContextForZygoteProcess
I/TTT     ( 1675): searchContextForZygoteProcess 1111
I/TTT     ( 1675): searchContextForZygoteProcess 2222
I/TTT     ( 1675): searchContextForZygoteProcess 333
I/TTT     ( 1675): 998
I/TTT     ( 1675): 999
I/TTT     ( 1675): 1000
I/TTT     ( 1675): 1001
I/TTT     ( 1675): 1002
I/TTT     ( 1675): 1003
I/TTT     ( 1675): 1004
I/TTT     ( 1675): 1005
I/TTT     ( 1675): 1006
I/TTT     ( 1675): 1007
I/TTT     ( 1675): 1008
I/TTT     ( 1675): 1009
I/TTT     ( 1675): 1010
I/TTT     ( 1675): 1011
I/TTT     ( 1675): 1012
I/TTT     ( 1675): 1013
I/TTT     ( 1675): 1014
I/TTT     ( 1675): 1015
I/TTT     ( 1675): 1016
I/TTT     ( 1675): 1017
I/TTT     ( 1675): 1018
I/TTT     ( 1675): 1019
I/TTT     ( 1675): 1020
I/TTT     ( 1675): 1021
I/TTT     ( 1675): 1022
I/TTT     ( 1675): 1023
I/TTT     ( 1675): 1024
I/TTT     ( 1675): 1025
I/TTT     ( 1675): 1026
I/TTT     ( 1675): 1027
I/TTT     ( 1675): 1028
I/TTT     ( 1675): 1029
I/TTT     ( 1675): 1030
I/TTT     ( 1675): 1031
I/TTT     ( 1675): 1032
I/TTT     ( 1675): 1033
I/TTT     ( 1675): 1034
I/TTT     ( 1675): 1035
I/TTT     ( 1675): 1036
I/TTT     ( 1675): 1037
I/TTT     ( 1675): 1038
I/TTT     ( 1675): 1039
I/TTT     ( 1675): 1040
I/TTT     ( 1675): 1041
I/TTT     ( 1675): 1042
I/TTT     ( 1675): 1043
I/TTT     ( 1675): 1044
I/TTT     ( 1675): 1045
I/TTT     ( 1675): 1046
I/TTT     ( 1675): 1047
I/TTT     ( 1675): 1048
I/TTT     ( 1675): 1049
I/TTT     ( 1675): 1050
I/TTT     ( 1724): [+] ptrace attach to [1675] com.demo
I/TTT     ( 1724): [+] pc: 400c9364, r7: 263
I/TTT     ( 1724): [+] the local module is /system/bin/linker
I/TTT     ( 1724): [+] the local module is /system/bin/linker
I/TTT     ( 1724): [+] remote_dlopen address 0x40089401
I/TTT     ( 1724): [+] remote_dlsym  address 0x4008936d
I/TTT     ( 1675): 1051
I/TTT     ( 1724): [+] the local module is /system/lib/libc.so
I/TTT     ( 1724): [+] Calling mmap in target process. mmap addr 0x400cf408.
I/TTT     ( 1724): [+] Target process returned from mmap, return r0=525fa000, r7=107, pc=0,
I/TTT     ( 1724): [+] Target process returned from dlopen, return r0=4009c3a0, r7=107, pc=0,
I/TTT     ( 1724): [+] Inject success!
I/TTT     ( 1724): [+] Inject done!
I/TTT     ( 1675): 1052
I/TTT     ( 1675): 1053
I/TTT     ( 1675): 1054
I/TTT     ( 1675): 1055
I/TTT     ( 1675): 1056
I/TTT     ( 1675): 1057
I/TTT     ( 1675): 1058
I/TTT     ( 1675): 1059
I/TTT     ( 1675): 1060
I/TTT     ( 1675): 1061
I/TTT     ( 1675): 1062
I/TTT     ( 1675): 1063
I/TTT     ( 1675): 1064
I/TTT     ( 1675): 1065
I/TTT     ( 1675): 1066
I/TTT     ( 1675): 1067
I/TTT     ( 1675): 1068
I/TTT     ( 1675): 1069
I/TTT     ( 1675): 1070
I/TTT     ( 1675): 1071
I/TTT     ( 1675): 1072
I/TTT     ( 1675): 1073
I/TTT     ( 1675): 1074
I/TTT     ( 1675): 1075
I/TTT     ( 1675): 1076
I/TTT     ( 1675): 1077
I/TTT     ( 1675): 1078
I/TTT     ( 1675): 1079
I/TTT     ( 1675): 1080
I/TTT     ( 1675): 1081

另一个Log:
C:\Users\zy-pc>adb logcat | grep "1675"
D/dalvikvm(  134): Zygote::ForkAndSpecialize : 1675
D/dalvikvm( 1675): Zygote::ForkAndSpecialize : 0
D/dalvikvm( 1675): zygote get new systemTid : 1675
D/dalvikvm( 1675): Late-enabling CheckJNI
D/dalvikvm( 1675): Elevating priority from 0 to -8
D/jdwp    ( 1675): prepping for JDWP over ADB
I/ActivityManager(  550): Start proc com.demo for activity com.demo.host/.MainActivity: pid=1675 uid=10051 gids={50051, 1028}
D/jdwp    ( 1675): JDWP: thread running
D/ADB_SERVICES(  167): Adding socket 53 pid 1675 to jdwp process list
D/jdwp    ( 1675): trying to receive file descriptor from ADB
D/dalvikvm( 1675): zygote get thread init done
W/ADB_SERVICES(  167): create_local_service_socket() name=jdwp:1675
W/ADB_SERVICES(  167): looking for pid 1675 in JDWP process list return fds0(72) fds1(73)
W/ADB_SERVICES(  167): LS(273): bound to 'jdwp:1675' via 72
W/ADB_SERVICES(  167): trying to write to JDWP socket=53 pid=1675 count=1 out_fds=73
D/jdwp    ( 1675): received file descriptor 34 from ADB
I/dalvikvm( 1675): Enabling JNI app bug workarounds for target SDK version 9...
V/ActivityManager(  550): Binding process pid 1675 to record ProcessRecord{41c5acb8 1675:com.demo/u0a10051}
V/ActivityManager(  550): New app record ProcessRecord{41c5acb8 1675:com.demo/u0a10051} thread=android.os.BinderProxy@41afac10 pid=1675
D/NetworkPolicy(  550): onRecv: MSG_FOREGROUND_ACTIVITIES_CHANGED pid:uid:act=1675:10051:true
W/asset   ( 1675): AssetManager-->addDefaultAssets CIP path not exsit!
D/ActivityThread( 1675): installProvider: context=com.demo.host.DemoApplication@41919ef0holder=nullnoisy=falsenoReleaseNeeded=truestable=true
D/ActivityThread( 1675): installProvider: context.getPackageName()=com.demo.hostai.packageName=com.demo.inject
D/ActivityThread( 1675): getPackageInfo: securityViolation=false
W/asset   ( 1675): AssetManager-->addDefaultAssets CIP path not exsit!
I/TTT     ( 1675): com.demo.inject starts.
I/TTT     ( 1675): com.demo.host starts
I/TTT     ( 1675): 1
V/PhoneWindow( 1675): DecorView setVisiblity: visibility = 4
I/SurfaceFlinger(  133): EventThread Client Pid (1675) created
V/PhoneWindow( 1675): DecorView setVisiblity: visibility = 0
I/TTT     ( 1675): 2
I/TTT     ( 1675): 3
I/TTT     ( 1675): 4
I/TTT     ( 1675): 5
I/TTT     ( 1675): >>>>>>>>>>>>>I am in, I am a bad boy!!!!<<<<<<<<<<<<<<
I/TTT     ( 1675): searchContextForZygoteProcess 000
I/TTT     ( 1675): searchContextForZygoteProcess 000 111
I/TTT     ( 1675): searchContextForZygoteProcess 000 222
I/TTT     ( 1675): searchContextForZygoteProcess
I/TTT     ( 1675): searchContextForZygoteProcess 1111
I/TTT     ( 1675): searchContextForZygoteProcess 2222
I/TTT     ( 1675): searchContextForZygoteProcess 333
I/TTT     ( 1675): 998
I/TTT     ( 1675): 999
I/TTT     ( 1675): 1000
I/TTT     ( 1675): 1001
I/TTT     ( 1675): 1002
I/TTT     ( 1675): 1003
I/TTT     ( 1675): 1004
I/TTT     ( 1675): 1005
I/TTT     ( 1675): 1006
I/TTT     ( 1675): 1007
I/TTT     ( 1675): 1008
I/TTT     ( 1675): 1009
I/TTT     ( 1675): 1010
I/TTT     ( 1675): 1011
I/TTT     ( 1675): 1012
I/TTT     ( 1675): 1013
I/TTT     ( 1675): 1014
I/TTT     ( 1675): 1015
I/TTT     ( 1675): 1016
I/TTT     ( 1675): 1017
I/TTT     ( 1675): 1018
I/TTT     ( 1675): 1019
I/TTT     ( 1675): 1020
I/TTT     ( 1675): 1021
I/TTT     ( 1675): 1022
I/TTT     ( 1675): 1023
I/TTT     ( 1675): 1024
I/TTT     ( 1675): 1025
I/TTT     ( 1675): 1026
I/TTT     ( 1675): 1027
I/TTT     ( 1675): 1028
I/TTT     ( 1675): 1029
I/TTT     ( 1675): 1030
I/TTT     ( 1675): 1031
I/TTT     ( 1675): 1032
I/TTT     ( 1675): 1033
I/TTT     ( 1675): 1034
I/TTT     ( 1675): 1035
I/TTT     ( 1675): 1036
I/TTT     ( 1675): 1037
I/TTT     ( 1675): 1038
I/TTT     ( 1675): 1039
I/TTT     ( 1675): 1040
I/TTT     ( 1675): 1041
I/TTT     ( 1675): 1042
I/TTT     ( 1675): 1043
I/TTT     ( 1675): 1044
I/TTT     ( 1675): 1045
I/TTT     ( 1675): 1046
I/TTT     ( 1675): 1047
I/TTT     ( 1675): 1048
I/TTT     ( 1675): 1049
I/TTT     ( 1675): 1050
I/TTT     ( 1724): [+] ptrace attach to [1675] com.demo
I/TTT     ( 1675): 1051
I/TTT     ( 1675): 1052
I/TTT     ( 1675): 1053
I/TTT     ( 1675): 1054
I/TTT     ( 1675): 1055
I/TTT     ( 1675): 1056
I/TTT     ( 1675): 1057
I/TTT     ( 1675): 1058
I/TTT     ( 1675): 1059
I/TTT     ( 1675): 1060
I/TTT     ( 1675): 1061
I/TTT     ( 1675): 1062
I/TTT     ( 1675): 1063
I/TTT     ( 1675): 1064
I/TTT     ( 1675): 1065
I/TTT     ( 1675): 1066

楼主,以上是我抓的Log和waring,你说的【需要保证odex的outdir的uid也是A】,
这个看不懂呀,要怎么确认?
2014-9-10 17:11
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
没有root权限注入就无从谈起,问题的本质在于得到root权限。直接了当地说真是看不懂这文章!!
2014-9-11 15:08
0
雪    币: 4
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
mark
2015-6-1 16:43
0
游客
登录 | 注册 方可回帖
返回
//