云联天下首页 |  登陆 |  注册 |  密码找回 |  关于我们 | 加入收藏 
首页技术资料系统/服务器→《再谈进程与端口的映射》之狗尾续貂篇 【字号: 】 【背景色 杏仁黄 秋叶褐 胭脂红 芥末绿 天蓝 雪青 灰 银河白(默认色)

《再谈进程与端口的映射》之狗尾续貂篇

网址来源:http://www.kehui.net发布时间: 2004-11-05 11:54:51
文章属性:原创
文章提交:hhhkkk (hac01_at_163.com)

《再谈进程与端口的映射》之狗尾续貂篇

日  期:2004-5-1
作  者:hhhkkk  [hhkkk@126.com]

拜读了ILSY 的大作《再谈进程与端口的映射》后,觉得很不错,用vc在电脑上调试,发现有些地方能取得信息 有些地方不能
更加怪的是,我的win2k上本来可以取得的,后来居然不行了。
而active ports却是那样稳定,有鬼不成 靠 ,偶不信
搬出OllyDdg经过调试对照发现,程序不能正常显示就是函数的OpenPhysicalMemory导致不能取得信息
下面是active ports的OpenPhysicalMemory反汇编部分
0040FCF2    8B1D CC124000   MOV     EBX,DWORD PTR DS:[<&KERNEL32.MapViewOfFile>]           ; KERNEL32.MapViewOfFile
0040FCF8    C745 F8 00000A0>MOV     DWORD PTR SS:[EBP-8],0A0000
0040FCFF    BE 00100000     MOV     ESI,1000
0040FD04    FF75 F8         PUSH    DWORD PTR SS:[EBP-8]
0040FD07    8B45 08         MOV     EAX,DWORD PTR SS:[EBP+8]
0040FD0A    57              PUSH    EDI
0040FD0B    57              PUSH    EDI
0040FD0C    6A 04           PUSH    4
0040FD0E    FF30            PUSH    DWORD PTR DS:[EAX]
0040FD10    FFD3            CALL    NEAR EBX                //// MapViewOfFile(*,4,0,0,0x0a0000); 1) map
.........    ///如果没map 成功 再改参数 map 因为我看到的都是一次map就ok 就不看了
0040FD2E    837D FC 00      CMP     DWORD PTR SS:[EBP-4],0
0040FD32    76 17           JBE     SHORT aports.0040FD4B
0040FD34    6A 67           PUSH    67
0040FD36    8D88 000C0000   LEA     ECX,DWORD PTR DS:[EAX+C00]
0040FD3C    5A              POP     EDX
///下面这段是关键部分了,也就是取得应该映射的起始位置处
0040FD3D    3911            CMP     DWORD PTR DS:[ECX],EDX
0040FD3F    74 0A           JE      SHORT aports.0040FD4B
0040FD41    47              INC     EDI
0040FD42    03CE            ADD     ECX,ESI
0040FD44    03D6            ADD     EDX,ESI
0040FD46    3B7D FC         CMP     EDI,DWORD PTR SS:[EBP-4]
0040FD49    72 F2           JB      SHORT aports.0040FD3D

0040FD4B    50              PUSH    EAX
0040FD4C    FF15 D0124000   CALL    NEAR DWORD PTR DS:[<&KERNEL32.UnmapViewOfFile>]        ; KERNEL32.UnmapViewOfFile
0040FD52    3B7D FC         CMP     EDI,DWORD PTR SS:[EBP-4]
0040FD55    75 03           JNZ     SHORT aports.0040FD5A
0040FD57    6A 39           PUSH    39
0040FD59    5F              POP     EDI
0040FD5A    8B45 08         MOV     EAX,DWORD PTR SS:[EBP+8]
0040FD5D    56              PUSH    ESI
0040FD5E    C1E7 0C         SHL     EDI,0C
0040FD61    57              PUSH    EDI
0040FD62    6A 00           PUSH    0
0040FD64    6A 04           PUSH    4
0040FD66    FF30            PUSH    DWORD PTR DS:[EAX]
0040FD68    FFD3            CALL    NEAR EBX                //MapViewOfFile(*,4,0,edi,0x1000);
0040FD6A    5F              POP     EDI
0040FD6B    5E              POP     ESI
0040FD6C    5B              POP     EBX
0040FD6D    C9              LEAVE
0040FD6E    C3              RETN

看完了反汇编,接下来就是写代码了 呵呵 就在OpenPhysicalMemory加上下面这点就可以了
pMapPhysicalMemory=MapViewOfFile(pHandle,4,0,0,0x0a0000);  ///第一次映射的,后面那个参数如果映射没成功的话,就需要变化。在我电脑上这个就可以了,就用这个算了 要写完善的话  自己改改
DWORD d_begin=0;
DWORD d_edx=0x67;
DWORD d_p=pMapPhysicalMemory+0xc00;
while(d_edx!=d_p)
{
d_begin++;
d_p+=0x1000;
d_edx+=0x67;           //// 这个0x67不知道是什么含义,请谁给个答案最好 :)
if(d_begin>=0xa0)break;
}
Unmapviewoffile(pHandle);
if(d_begin==0xa0)
d_begin=0x39;
d_begin=d_edx<<0xc;
MapViewOfFile(pHandle,4,0,d_edx,0x1000);

应该加上后就可以马上看到效果了,不会出现映射失败的情况。

后话:现在xp和win2003都出来那么长时间了,也许win2k下的这个意义不是很大 :),这个偶也说不清楚了
      如果你在做这个部分的时候遇到我同样的问题,加上上面的代码应该能解决,但如果你做的程序的稳定性要和active ports一样,建议你再仔细分析下它的反汇编。由于时间关系,我就不多写了
      在做这个的时候,偶有不少地方不明白的,比如为什么那个隐射地址要变化,是什么原因使得这个要变化呢?如果您能解释,还请告诉偶hhkkk@126.com ,偶在此先谢啦
       那个0x67也是个古怪的数据,不知道是为什么用那个数据,因为偶只是从破解的角度来分析的,对内核不熟悉 :(
另外:第一次写点东西,比较乱,将就着看吧,也算作是个人的笔记吧。限于水平关系,不当之处还请指出。

以此文献给我常来索取的xfocus 如果需要转载的话,请保持文章完整性!

参考数据:
aports.exe  from  http://www.ntutility.com/
http://www.xfocus.net/articles/200202/344.html

白衫 

相关新闻
v 木桶新理论与信息安全 2004-11-06 05:44:52
v FreeBSD 中文转码(zh-hztty-2.0) 2004-11-15 06:57:58
v port tree 更新 2004-11-15 06:58:27
v cvsup daemon 2004-11-15 06:58:53
v FreeBSD命令 lastcomm介绍 3.实际操作 2004-11-15 06:59:20
v FreeBSD命令 lastcomm介绍 2. accton 介绍 2004-11-15 06:59:53
v FreeBSD命令 lastcomm介绍 1 2004-11-15 07:00:13
v FreeBSD命令ps介绍 2004-11-15 07:00:35
v ps 介绍 2004-11-15 07:01:03
v sysctl命令 2004-11-15 07:02:16
  最新新闻
智慧家居
智慧家居颠覆传统智能家居
智慧云谷让智能家居变成有智慧的
智慧云谷引领智慧家居新生活
科技改变生活 智慧云谷智慧家居系
智慧家居领航者,智慧云谷助你玩
智能家居如何赢得市场美誉度?
智慧云谷智慧家居:创业者有无限
WiFi智能家居你还在用?这样的智
互联网+助推智能家居产业
智慧云谷为您打造真正的智能家居
智能家居产业需要的不是单品,而
新家如何选择开关?智慧云谷iWis
智能传感器-世界首款“智”为你的
智慧云谷开关智能安防智能空气质
智能开关品牌,如何选择智能开关
秋季干燥,智慧家居温湿度传感器
传感器助力智慧家居 感知爱家
iWiscloud智能触摸开关缔造家居装

  最新帖子
 ※室内空气污染的危害及  [sensor]
 ※超声波风速传感器在生  [sensor]
 ※这么冷清  [gabc111]
 ※手机APP操作有问题  [ssy11407]
 ※智慧云谷智慧家居将在  [cici]
 ※上传下载  [cici]
 ※下载智慧家居  [apple2008]
 ※秋季干燥,智慧家居温  [apple2008]
 ※智慧家居紧扣热点 安全  [apple2008]
 ※办公大楼如何智慧化管  [apple2008]
 ※智慧云谷工业自控的优  [apple2008]
 ※传感器助力智慧家居 感  [apple2008]
 ※智能开关品牌,如何选  [apple2008]
 ※智慧云谷开关智能安防  [apple2008]
 ※没有专业人员,如何安  [apple2008]
 ※烟台智慧云谷董事长任  [apple2008]
 ※互联网+助推智能家居产  [apple2008]
 ※WiFi智能家居你还在用  [apple2008]
 ※智慧云谷智慧家居:创  [apple2008]
 ※智能家居如何赢得市场  [apple2008]
钯碳回收 硝酸银回收 银浆回收 银焊条回收 回收银浆 氯化钯回收 氯化钯回收 氧化钯回收 回收硝酸钯 钯水回收价格 海绵钯回收 钯炭回收价格 回收镀金板 深圳钯碳回收 镇江氯化钯回收 杭州钯浆回收 银浆回收多少钱 回收钯碳公司 硝酸银的价格 那里有回收金 氯化钯回收价格 江苏擦银布回收 硝酸银价格 德州钯粉回收 银铜回收 回收钯粉 回收铂碳催化剂 佛山钯碳回收 金盐回收价格 海绵钯回收 钯碳高价回收 钯回收价格 钯炭回收