请问精雕50系统如何调用c语言子程序调用实例!有实例更好!谢谢各位大神了!分全给

[原创]发个Android平台上的注入代码
rt,其实本质上就是linux下面的library注入
只不过处理器是arm的,需要额外处理一些东西
不少代码是从网上或xx直接借鉴的,谢谢这些代码的作者
整体流程分3步
1.在目标进程中分配内存,用来写shellcode和参数
2.往目标进程中写入shellcode, shellcode会调用dlopen来载入我们的library
3.运行目标进程中的shellcode
当然注入是需要root权限的,模拟器上可以直接用,但是真机的话,先exploit吧
上传的附件:
(3.91kb,4095次下载)
支付方式:
最新回复 (55)
好贴啊,支持
好技术!验证一下。
实现了注入,楼主有没有研究过如何hook系统API啊?
好贴啊,支持
请问楼主怎样编译?
花了2天时间找都不知道怎样编译 。。。。
收藏了,支持古河
怎么用呢?????
对比着LBE早起代码看,差不多原样抄过来的,虽说代码能编译成功并运行,同时也发现些疑问,期待各位高手解惑
疑问一: 为何要加0x3C00?否则注入进程后出行Segment fault 错误。
& && & mmap分配到内存映射,为什么不用返回的地址直接做代码基址,而必须加上 0x3C00,尝试过改为其他值比如0x100或者0x4偶尔成功,但出错几率99%以上
// 设置远程代码存储空间地址
remote_code_ptr = map_base+[COLOR="Red"][B]0x3C00[/B][/COLOR]; // + 0x3C00
LBE无论早期版本还是最新版本,也都是固定要加上0x3C00这个偏移,不知为何?
应该与ARM指令对其无关吧?
疑问二:为何要加 0x20?&&经测试这个在严谨计算偏移后,完全没必要,删除了不会影响程序功能和运行。
dlopen_param1_ptr = local_code_ptr + code_length + [COLOR="Red"][B]0x20[/B][/COLOR];
疑问三:get_module_base 有不太准确的地方,是小问题但会影响程序运行。
void* get_module_base( pid_t pid, const char* module_name )
// ... ...
snprintf( filename, sizeof(filename), "/proc/self/maps", [B][COLOR="Red"]pid[/COLOR][/B] ); // pid是多余的吧!
pch = [COLOR="Blue"][B]strtok( line, "-" ); [/B][/COLOR]// 此处完全没有必要调用API切分字符串,直接改为[COLOR="DarkRed"] [B]line[8]=0[/B];[/COLOR] 更合适
if ( [B][COLOR="Blue"]strstr[/COLOR][/B]( line, module_name ) ) // 这么比对模块名,在有近似名是可能会找错对象
// ... ...
疑问四: shellcode.s中为什么不用相对偏移,避免导出有些符号并去运行时修正这些地址,应该有优化的余地?
上传的附件:
(20.47kb,40次下载)
我觉得0x3c00之前是为了给后续调用预留栈空间,之后给插入代码用
楼上的ida是哪个版本,能转换ARM汇编到c code,能给个下载地址么?
https://bitbucket.org/mikukon/android-test/overview
里面包括了makefile及libso文件。
确实是这样的~~
多谢大神们的共享啦
有没有不需要Root就能够注入的办法?
有没有编译成功呢 要用什么编译呢
utils/Log.h: No such file or directory
可以参考参考这个,有makefile的 https://bitbucket.org/tewilove/injectso
if ( ptrace_attach( target_pid ) == -1 )
& & & & & & & & return EXIT_SUCCESS;
为什么返回成功呢?
通过最近再次学习ARM方面的内容,已经明白了上面几个疑问
答疑问一:加0x3C00,是因为把前3c00空间做为栈使用,其实在.s文件中保护好寄存器,自己提供栈空间是有没有必要的,由于sp始终指向栈顶,不可能会覆盖进程中正在使用的数据,至于出现栈空间不够的可能性也极小。通过栈空间直接注入代码,可避免远进程的内存申请。regs.ARM_sp=(long)remote_code
答疑问二:为何要加 0x20?,是因为ARM数据要求4字节对齐,加20没必要,只要保证数据是对齐即可。所有的数据都有修正为4字节对齐,可以用宏实现
疑问三:get_module_base 函数完全没必要,系统调用层的地址各个进程都一样,无需重新计算偏移,可直接使用
疑问四: shellcode.s中数据部分,可移至.BSS段减少代码文件尺寸
.bss.global _inject_data_s_inject_data_s: .space 1024*4导出的符号放在与代码发在一个段就是为了使用相对偏移,如果代码在.text,数据在.data反而需要重新修正指针,LDR也得用伪指令,将数据和代码外装在.DATA,不影响代码编译,已经是最优的选择。
注入成功的效果图
上传的附件:
(57.22kb,54次下载)
学习了,感谢HSQ的深入分析。
先留个脚印
一切正常,就是没有调用so里面的函数,肿么破?
谁能写个详细的用法么?感激不尽
可能是因为你不是在Android源码环境下编译,需要手动建立LOG的宏定义,解决方法可以参考这个博客:http://qgjie456.blog.163.com/blog/static//
这个不是早就有么?
我以前有一个更好的实现版本。
留名关注!!!!
请教用法,谁能写个详细的用法么?感激不尽
D:\android-ndk-r9\samples\hello-jni&ndk-build
Gdbserver& && &: [arm-linux-androideabi-4.6] libs/armeabi/gdbserver
Gdbsetup& && & : libs/armeabi/gdb.setup
"Compile thumb : hello-jni &= hello-jni.c
jni/hello-jni.c: In function 'get_module_base':
jni/hello-jni.c:263 warning: too many arguments for format [-Wformat-extra-ar
"Compile thumb : hello-jni &= shellcode.s
SharedLibrary&&: libhello-jni.so
怎么没人啊,,什么原因呢&&[-Wformat-extra-args]
弱弱的问下,你的代码里,remote_code_ptr = map_base + 0x3C00;是什么用意?不是很明白,谢谢
楼主,请问ioctl里怎么拦截servicemanger啊
int hooked_ioctl(int fd, int cmd, void *data)
& & LOGI("[+] ioctl is invoked ...");
& & // do something here
& & return (*orig_ioctl)(fd, cmd, data);
希望不吝赐教,谢谢
HSQ 大大 我最近 再看 古河的libinject 但是我注入的时候 老是出现 segment default&&我怀疑古河的代码 有错 或者是 取少通用性&&我看你已经运行成功了 ,所以 能不能麻烦你 能给我发一份 你的代码 我想看一下 谢谢您!
学习了来了
学习啦!感谢
求 获取注入进程里某个SO库某个导出函数的方法
有一个疑问,在ptrace_call函数里对返回地址寄存器regs-&ARM_lr = 0;为什么函数执行后不会出错呢?
当然注入是需要root权限的,模拟器上可以直接用,但是真机的话,先exploit吧
请问楼主&&真机exploit是什么意思阿? 还有为什么我编译出来 在Genymotion 和谷歌的虚拟机中都崩溃了呢?
为什么下载不了?
下载的只是.php文件
有带注释的吗?
古河您支持安卓的软件定做吗?有个难度非常大的,搞不定,想请您帮着分析 我Q
好帖,支持
发给和我一样的小白:
http://blog.csdn.net/myarrow/article/details/9630377这个有比较详细的解释
19楼有解答。
[QUOTE=1239641]D:\android-ndk-r9\samples\hello-jni&ndk-build
Gdbserver& && &: [arm-linux-androideabi-4.6] libs/armeabi/gdbserver
Gdbsetup& && & : libs/armeabi/gdb....[/QUOTE]
warning如果不影响正常运行的话,暂时可以先不管。
后排留名,感谢大大的分享,认真学习了
mark 一下,以后用得着
有一个重大疑问请教大家
inject_remote_process函数中,有这么一段:
&&remote_code_ptr = map_base + 0x3C00;
这里大家都说了,是为了给栈预留空间,但是在最后面的部分:
&&regs.ARM_sp = (long)remote_code_
&&regs.ARM_pc = (long)remote_code_
ARM_sp怎么能和pc相同呢?不是应该指向map_base吗?这样才能达到大家说的栈空间的目的啊
好帖,多谢分享
win 7 x64 用ndk编译貌似有错误。你们啥系统```
1.请先关注公众号。
2.点击菜单"更多"。
3.选择获取下载码。系统想用U盘重装有SSD请问要怎么装。求详细步骤 谢谢各位大神!!!_百度知道
系统想用U盘重装有SSD请问要怎么装。求详细步骤 谢谢各位大神!!!
我有更好的答案
//c.baidu://g。制作可以安装Win7系统U盘步骤三带有光盘标识的即为“光盘映像文件”&nbsp,也可以从CD-ROM制作光盘映像或者将硬盘上的文件制作成ISO文件.jpg" esrc="http.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=1d417d9ccb3d70cf4cafa20bc8ecfd38/00eed12f2eb83894d0;& 下面进入Windows7系统启动盘制作过程。首选需要找一个4GB以上的U盘,用来存放Win7的ISO镜像文件.hiphotos.baidu.com/zhidao/wh%3D450%2C600/sign=22bc7d9ccb3d70cf4cafa209cdecfd36/adaf2edda3cc7cd9db0d3;&nbsp://f。然后按照下面的示意图进行操作即可。制作可以安装Win7系统U盘步骤五&&& 在点击写入之前,一定要确保U盘里面没有任何数据,如果有数据应该及时备份,否则里面的数据将被删除。不过在做完启动盘后,仍然可以向里面存放数据,不影响任何使用。制作可以安装Win7系统U盘步骤六&&& 最后,我们需要把将电脑的启动项设置成U盘启动,如果你是新电脑没有系统,那么就可以不经过设置直接安装,非常方便。&前面所做的都是安装Win7的准备工作,下面就开始安装Win7操作系统了。首先必须在BIOS调整启动项,然后系统会自动加载优盘的安装信息。笔者下载的安装镜像文件时Win7 32位/64位的合并版本,你选择你所需要的Win7系统类型,但就目前来讲,越来越多的64位系统被消费者所使用,大容量内存也能够在其中发挥优势。.baidu.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=ea8d38a777c02a73a1c76/d0a20cf94b36adaf99b7;&nbsp://f://e.jpg" esrc="http.baidu.baidu.baidu.hiphotos.baidu.com/zhidao/wh%3D450%2C600/sign=fd42e249d300baa1ba794fbfeed12f2eb83894d0.hiphotos.baidu.com/zhidao/wh%3D450%2C600/sign=14ea8d9f324e251fe2a2ecfc92b6e521/d0a20cf94b36adaf99b7.baidu.com/zhidao/wh%3D600%2C800/sign=c96edaa3c6b78a268fd31/3b87ec54e749d6f9f2b.jpg" esrc="https://gss0.baidu.com/-4o3dSag_xI4khGko9WTAnF6hhy/zhidao/pic/item/adaf2edda3cc7cd9db0d3.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink">制作可以安装Win7系统U盘步骤一制作可以安装Win7系统U盘步骤四制作可以安装Win7系统U盘步骤二<img class="ikqb_img" src="http://e.hiphotos.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=789d8f5fd3c8a786be7f/adaf2edda3cc7cd9db0d3;&nbsp.hiphotos.baidu.com/zhidao/pic/item/3b87ec54e749d6f9f2b
采纳率:48%
SSD 固态硬盘
装法跟普通硬盘一样 只是分区的时候要注意4K 对齐 否则会出现系统变慢
网上搜索大白菜或老毛桃U盘装机,然后看教程,在安装。一般就是进入U盘的pe系统,格式化你的ssd,然后一键装机将镜像安装到你的ssd里,等待系统安装完成,装驱动和软件,完成。资料要注意备份,格式化时和选择安装的系统盘要准确,不然就是双系统或数据丢失。
为您推荐:
其他类似问题
u盘的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。50系统测量示例 5-24_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
50系统测量示例 5-24
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
&#xe64e;加入VIP
还剩8页未读,
定制HR最喜欢的简历
你可能喜欢后使用快捷导航没有帐号?
其他登录方式
—— 新手入门 ——
—— 智友精华 ——
查看: 4362|回复: 4
在线时间0 小时最后登录阅读权限10UID注册时间积分8精华0
, 积分 8, 距离下一级还需 12 积分
主题帖子 金币22 元 智豆12 点
指挥室是修学分的一个软件,但修学分的过程太费时间,所以希望大神们帮帮忙破解一下,谢谢啦。
楼主很赞!赏波666
打赏排行榜
楼主共收获打赏:
虚位以待打赏
虚位以待打赏
虚位以待打赏
在线时间635 小时最后登录阅读权限60UID注册时间积分14320精华0
下一站丶有我
, 积分 14320, 距离下一级还需 3680 积分
主题帖子 金币7886 元 智豆1685 点
还好哈哈哈过
在线时间2131 小时最后登录阅读权限50UID4047060注册时间积分5651精华0
, 积分 5651, 距离下一级还需 2349 积分
主题帖子 金币18395 元 智豆7612 点
啥事都想走&捷径&可不行哦。
在线时间0 小时最后登录阅读权限10UID注册时间积分8精华0
, 积分 8, 距离下一级还需 12 积分
主题帖子 金币22 元 智豆12 点
谢谢哥,我已经通过自己的能力刷完了,具体方法是多开浏览器,方法如下,一个浏览器只可同时刷不同科视频,所以下的浏览器越多能同时看的视频也越多,这样即可快速刷课
在线时间434 小时最后登录阅读权限45UID4118059注册时间积分4043精华0
, 积分 4043, 距离下一级还需 957 积分
主题帖子 金币18161 元 智豆6835 点
楼上说的有道理
给你300万勋章
客户端【我的任务】—完成【给你300万】任务
老司机勋章
客户端申请 主题数 ≥ 100或在线时间≥ 500小时或精华帖数 ≥ 10或注册天数≥ 1000
好学生勋章
客户端申请 注册天数≥7并且 发帖数≥30并且 主题数≥3并且 在线时间≥30小时
蓝牙耳机 音箱 手办 移动电源 数码包 笔记本 游戏周边

我要回帖

更多关于 西门子plc子程序实例 的文章

 

随机推荐