|
关于输入法注入的疑惑。
恩 好的,多谢 ,有机会联系, |
|
关于输入法注入的疑惑。
很奇怪为什么我的kx没有减少, |
|
关于输入法注入的疑惑。
嗯 , 我一直以为你所说的地址空间默认就是可以进程间共享的,非进程独有的。 你说进程退出了,地址空间就没了。那如果此地址空间是共享属性的话,那也就是说只有当所有用到了这个共享地址空间的进程退出了它才销毁。任何共享了了此地址空间的进程都可以读取修改它。因为他同时具有RW属性。 那也就是说输入法安装程序中其实可以不用dll导出函数什么的。直接去修改这个地址空间也可以。对吧?而如果当我输入法安装之后,并没有去把他设置成默认的输入法,也没有向任何窗口发送激活此输入法的消息,也就是说并没有任何其他进程注入了输入法文件。这样的话我直接退出了输入法安装程序的话,这个输入法注入就完全失败了对吧。因为此地址空间已经销毁了。这样理解没错吧。 我测试整的很乱,很烦躁,因为怎么弄似乎初始化的地址空间 其他进程还是获得不到设置的值。可能我代码写的有误吧。 但是我专门写个小程序测试地址空间的属性很好使。呵呵 朋友,可以留下扣扣,有机会再请教你么。 问那么多,我不好意思还不结贴了。 我不知道结贴了别人还能不能回复。 应该可以吧。 我先结了。如果不可以,希望PM我,告诉我你的扣扣好么。 kx啊 我也不知道我为什么那么多。可能是因为我的注册时间比较早,这个东西似乎是泡论坛时间越长越频繁,就会慢慢增长的。 呵呵。 |
|
关于输入法注入的疑惑。
您的意思我大概懂了,就是说安装程序调用导出函数只是为了初始化地址空间里的内容罢了。 而其他程序并没有调用这个函数,而且直接从地址空间里取出来此数据,对么。 就如同我帖子里说的把数据保存到一个外部文件里是相类似的对吧。 而 #pragma comment(linker, "/section:mysechx,rws ") 这一句我看了我的源码里没有,也可能是因为他本身源码不规范吧。 对于此句代码我百度了下,查到 ----------------------------------------------------------------- 连结器必须知道有一个「shared」共享数据段。可以直接用DLL原始码指定连结选项,就像这样: #pragma comment(linker,"/SECTION:shared,RWS") 字母RWS表示段具有读、写和共享属性。 ----------------------------------------------------------------- 想来这句代码应该是必须的吧,虽然我还没有测试。 我以前并没有用过地址空间去共享进程间信息,所以对其不太了解。 所以会有一些小疑问,我搜索了,但是找不到准确的答案。 1.地址空间的生命周期。 2.地址空间命名重复会怎样? 3.不同进程访问了同一个地址空间,某一个进程修改了它,其他进程获取的话也是修改过的吧。 4.如何直接销毁地址空间。 5.对于#pragma comment(linker,"/SECTION:shared,RWS") 这里的RWS属性是系统赋予地址空间的属性,还是编译器中的连接器使用地址空间所赋予代码的属性。 希望我的问题能准确表达我想要的含义。如果不嫌麻烦,希望解答下。 呃,麻烦的话也没关系,我可以就此结贴,毕竟您已经对我的一会给予了很多帮助。 QQ 遥遥其三儿儿儿四二 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值