首页
社区
课程
招聘
[求助]关于libinject的问题
发表于: 2014-4-16 16:13 5967

[求助]关于libinject的问题

2014-4-16 16:13
5967
最近学习android下的注入,下载了古河的libinject代码,发现原帖中有一个带makefile的链接,就也下载了下来,通过比较,两者差不多,就是注入后执行的代码有点不同,带makefile的代码注入后是在android的logcat打印一个字符串,但是我用logcat一直没获取这个字符串,,求助各位大虾,帮我看看是否注入成功了,还是其他的问题。

这个是注入的过程:


[+] Injecting process: 3304
[+] Remote mmap address: afd13085
[+] Calling mmap in target process.
[+] id:3304,signal:11
[+] Target process returned from mmap, return value=43647000, pc=0
[+] Get imports: dlopen: b00031dd, dlsym: b0003151
[+] Inject code start: b000, end: b068
[+] _dlopen_param1_s: 4364ac88
[+] _dlsym_param2_s: 4364ad88
[+] _saved_r0_pc_s: 4364ae88
[+] _inject_function_param_s: 4364af88
[+] Remote shellcode address: 4364ac00

可以发现在目标进程分配的内存地址是:43647000

这个是注入前后进程maps的对比:

正在比较文件 appstore.txt 和 APPSTORE-INJECT.TXT

***** appstore.txt
43612000-43626000 r-xs 00000000 8a:07 2691458    /data/data/com.qihoo.appstore/files/dmss.jar
43626000-43647000 rwxp 00000000 00:00 0
43652000-43658000 rwxp 00000000 00:00 0
***** APPSTORE-INJECT.TXT
43612000-43626000 r-xs 00000000 8a:07 2691458    /data/data/com.qihoo.appstore/files/dmss.jar
43626000-4364b000 rwxp 00000000 00:00 0
43652000-43658000 rwxp 00000000 00:00 0
*****
可以发现43647000已经扩展到了4364b000,

可是我在logcat就是没跟踪到打印的字符串,请各位大虾帮忙看看,不胜感激!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 159
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
问题已经解决了,犯了一个小错误,lintest.so的路径没写对,写的是相对路径,下载改成绝对路径就好了。
想想原因也对:因为shellcode是运行在目标进程中的,所以加载libtest.so时输入的是相对路径,肯定是加载失败!

但是原来的shellcode在加载失败后、或者执行test函数失败后,都是直接恢复现场,没有任何提示,我就改了一下shellcode,arm汇编比较poor,就加了一句,加载so失败,就触发一个访存异常,目标进程就退出了,这样在调试时就知道到底有没有加载成功或者执行函数成功了,方法比较笨,老鸟就不要笑偶了!

下面我是改后的shellcode,希望对我这样的初学者有些帮助!
上传的附件:
2014-4-17 09:43
0
游客
登录 | 注册 方可回帖
返回
//