首页
论坛
课程
招聘
[原创]分享一个LPC通讯库
2013-6-7 14:21 8844

[原创]分享一个LPC通讯库

2013-6-7 14:21
8844
大牛们都有自己的通讯方式,LPC通讯的也见过很多例子,就是没找到现成可用的库。
遂自己写了一个,代码很挫,还有很多地方不完善,就算抛砖引玉了

基本实现了r0和r3,r3和r3的通讯,注册回调并执行等

客户端


r3服务端


r0服务端


但在win 7下有点问题,驱动里不能用Section通讯,看了下NtAcceptConnectPort 在win 7下调用AlpcpAcceptConnectPort,看他的代码
if ( WriteSection )
    {
      v16 = MmUserProbeAddress;
      if ( WriteSection < (unsigned int)MmUserProbeAddress )
        v16 = (const void *)WriteSection;
      memcpy(&ServerView, v16, 0x18u);
      if ( ServerView != 0x18 )
        goto LABEL_17;
      if ( WriteSection & 3 )
        goto LABEL_19;
      if ( WriteSection >= (unsigned int)MmUserProbeAddress )
        *(_BYTE *)MmUserProbeAddress = 0;
      *(_BYTE *)WriteSection = *(_BYTE *)WriteSection;
      *(_BYTE *)(WriteSection + 20) = *(_BYTE *)(WriteSection + 20);
      v13 = MmUserProbeAddress;
    }


似乎是内核建的section (地址大于7fff0000)赋值成了MmUserProbeAddress,导致后面用 AlpcpMapLegacyPortView时检查句柄是STATUS_INVALID_HANDLE,不知是bug还是故意这么限制的,求教

LPC - 副本.7z

【公告】【iPhone 13、ipad、iWatch】11月15日中午12:00,看雪·众安 2021 KCTF秋季赛 正式开赛【攻击篇】!!!文末有惊喜~

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (16)
雪    币: 73
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
litvir 活跃值 2013-6-7 14:30
2
0
正需要这个东西,太好了
雪    币: 114
活跃值: 活跃值 (64)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qqlinhai 活跃值 2013-6-7 14:50
3
0
支持一下楼主,谢谢分享。
雪    币: 8670
活跃值: 活跃值 (868)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
cvcvxk 活跃值 10 2013-6-7 16:16
4
0
win7下内核创建的section在用户层一般是打不开的,除非你顺手patch一下Access。。。
雪    币: 116
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
boainfall 活跃值 2013-6-7 16:20
5
0
不错,支持
雪    币: 350
活跃值: 活跃值 (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
伤落蓝羽 活跃值 1 2013-6-7 16:31
6
0
没在应用层打开,把它传给了AlpcpAcceptConnectPort,但是这个函数的处理好像有点问题,导致INVALID_HANDLE,v校求指点啊
雪    币: 100
活跃值: 活跃值 (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Arcade 活跃值 2013-6-19 15:02
7
0
https://github.com/avalon1610/LPC

我也抄过这个, 修改了几个bug, 以及在wow64下的使用。。。
雪    币: 290
活跃值: 活跃值 (14)
能力值: ( LV12,RANK:310 )
在线值:
发帖
回帖
粉丝
raigeki 活跃值 7 2013-6-19 15:11
8
0
传说中的,秘密信道
雪    币: 81
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
asdli 活跃值 2013-6-19 15:51
9
0
mark下  留着备用
雪    币: 350
活跃值: 活跃值 (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
伤落蓝羽 活跃值 1 2013-6-20 09:27
10
0
这就是我的项目,居然被你找到了
雪    币: 819
活跃值: 活跃值 (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zyicai 活跃值 2013-6-20 10:03
11
0
牛人,膜拜
雪    币: 100
活跃值: 活跃值 (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Arcade 活跃值 2013-6-20 10:07
12
0
http://www.zezula.net/en/prog/lpc.html

以及wine里面也有一份代码。
雪    币: 253
活跃值: 活跃值 (49)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
AioliaSky 活跃值 1 2013-6-20 10:16
13
0
路过,收藏一下
雪    币: 165
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yzxdev 活跃值 2013-6-21 13:33
14
0
good job
雪    币: 142
活跃值: 活跃值 (30)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
山村野人 活跃值 1 2013-6-28 14:44
15
0
mark下,感谢分享
雪    币: 11
活跃值: 活跃值 (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
ultrajob 活跃值 2013-7-2 14:32
16
0
我不用section
可以来和我的接口pk下
http://rerede.com/thread-11948-1-1.html
雪    币: 350
活跃值: 活跃值 (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
伤落蓝羽 活跃值 1 2013-7-2 16:46
17
0
敢开源吗?
游客
登录 | 注册 方可回帖
返回