|
咨询论坛管理员
哦,谢谢坛主回答 |
|
咨询论坛管理员
哦不同的虚拟主机啊,那简单点 您说的自动选择怎么实现?您有成功实现的先例吗? 我所知道的方法里,似乎没有完美解决单服务器双线路的啊。很多人的实现都是手工维护路由表来区分线路。 麻烦坛主点拨 |
|
分析一下虚拟分区魔术师[原创]
最初由 笨笨雄 发布 显然不一样。那个“虚拟分区魔术师”不过是个骗小孩得玩具(没有藐视作者的编程功底和能力意思)而已,PQMAGIC则是实实在在操作硬盘的工具,所用技术也是经过严格推敲的(否则你敢用?) subst及所有类似工具,最终都是调用DefineDosDevice建立一个符号连接而已。 事实上平时所说的C,D之类的盘,都只是供应用层使用的符号链接而已,链接的目标是 \Device\HarddiskVolume1\ \Device\HarddiskVolume2\ 之类的物理分区。 |
|
|
|
[讨论]全球首个“虚拟机”杀毒引擎在华发布 解决反病毒领域最大难题
暂时看法:商业宣传而已 虚拟机只是对付加壳有力手段而已,显然不一定是杀毒的有力手段。 里面某些内容,为了忽悠人而扯淡~。如果用软件加壳是病毒制造者的有力手段,这制造者还是做应用软件合适点 |
|
|
|
.........关于绕行HOOK ,跳过API拦截的讨论..........
最初由 rick 发布 不可以 以后应该都不行了吧 据称vista不行了,没试过。 |
|
.........关于绕行HOOK ,跳过API拦截的讨论..........
微软的WriteProcessMemory是调用NtProtectVirtualMemory,不知道楼上兄弟是不是也仅仅是在自己的代码里调用NtProtectVirtualMemory呢? 或者,绕道PhysicalMemory,通过自己进行线性地址到物理地址转换,直接修改内存实现? 或者其他方法?请楼上兄弟赐教 |
|
IDA比OD好在哪?
最初由 二毛 发布 一定能吗?我不敢发表意见 不过,就我的感觉,动态分析更多是依靠目标代码的执行结果来了解目标代码的功能的,静态分析则更多是靠逻辑和经验。 LZ可能OD用得很熟吧,不知道用OD调试动态解密的CODE时是不是觉得很方便 另外LZ看来反汇编相当熟练,可以直接在OD里看出各种库函数得调用和汇编中对堆栈中各变量得引用,而且在CODE里跳来跳起仍然知道自己到底在调试什么 |
|
.........关于绕行HOOK ,跳过API拦截的讨论..........
睡前YY一下: 1) ring3下 假如能CeateFile打开物理硬盘,那么直接用READFILE读取硬盘数据分区表,模仿文件系统驱动来扫描分区(支持NTFS和FAT就可以了。FAT的支持代码不太长,NTFS没试过),得到指定文件所占用的扇区,直接读取扇区得到数据到内存指定位置;对DLL文件进行重定位。 2) N久前似乎用过个小工具,能把程序和所依赖的DLL绑定,生成单一的一个可执行文件。具体怎么实现不知道。但假如我们也把自己的程序针对各个平台的主要DLL进行此种操作……不太现实 3) 鉴于SSDT HOOK的流行,所有RING3的反HOOK应该都没有作用吧?毕竟,关键操作的API最终还要映射倒SSDT上去 |
|
.........关于绕行HOOK ,跳过API拦截的讨论..........
xfocus上的《利用伪造内核文件来绕过IceSword的检测》中,说到ICESWORD对付HOOK的方法: “……IceSword(以下简称IS)为了防止一些关键系统函数(包括所有服务中断表中的函数以及IS驱动部分要使用到的一些关键函数)被patch,它直接读取内核文件(以下简称“ntoskrnl.exe”),然后自己分析ntoskrnl.exe的PE结构来获取关键系统函数的原始代码并且把当前内核中所有的关键系统函数还原为windows默认状态,这样保证了IS使用到的函数不被patch过。也许你会想如果我们把还原后的函数再进行patch不还是能躲的过去吗?笔者也试过,还专门写了ring0的Timer来不停的patch自己想hook的函数。结果IS棋高一筹,在对所有的关键系统函数进行还原以后,IS每次调用这些函数前都会先把这些函数还原一次。这样还是能保证IS自己使用到的关键系统函数不被patch。……” 破解方法《利用伪造内核文件来绕过IceSword的检测》已讲清楚。不过,呵呵,还是“互相针对” |
|
.........关于绕行HOOK ,跳过API拦截的讨论..........
以我当前的知识限制,我觉得“针对性得HOOK"其实没有什么讨论,否则估计像流氓软件和反流氓软件之间一样,互相针对,越钻深,最终又要到RING0甚至扯到MBR里说话 我仅仅是针对当前流行得大多数HOOK手段,以个人知识界限来做出得解 我不太懂楼上兄弟为什么要隐藏文件。被HOOK的大多数API局限与几个DLL中,每次启动时以某种方式获取一个临时备份,关闭程序时删除。另外,不使用某种代码封装的情况下(别人写的类?),不可能大量使用此种方法,太麻烦。不过可以使用此种方法尽量解决关键的几个API被HOOK的情况(比如CopyFile,CreateFile,ReadFile,loadlibarary等),配合PE的重定位操作,可以修复大多数HOOK情况 请大侠赐教 |
|
[讨论]TheMida的水印是什么?
弱弱说一句:楼主指定确切说,应该是“数字指纹”吧。虽然也是广义的数字水印 |
|
|
|
.........关于绕行HOOK ,跳过API拦截的讨论..........
其实,最简单的方法,程序启动时,把目标DLL文件复制一份(随机命名),然后LOAD进内存,使用用GetProcAddress获得指定函数的地址,再调用,就可以绕过一般的HOOK 对于IAT HOOK,可以获得API的真是地址,然后直接调用来逃避HOOK HMODULE hKernell32=LoadLibrary("Kernel32.dll"); unsigned char *pLoadLibraryExW; pLoadLibraryExW=(unsigned char *)GetProcAddress(hKernell32,"LoadLibraryExW"); printf("当前地址:\n");//(我的OutPost防火墙对LOADLIBRARY进行了IAT HOOK) printf("pLoadLibraryExW= 0x%08X\n",*(DWORD*)(pLoadLibraryExW+1)+pLoadLibraryExW); DWORD offsetLoadLibraryExW; HMODULE hkk=LoadLibrary("D:\\work\\kernel\\kk.dll"); offsetLoadLibraryExW=(DWORD)GetProcAddress(hkk,"LoadLibraryExW"); offsetLoadLibraryExW -= (DWORD)hkk; printf("真实地址:\n"); printf("pLoadLibraryExW= 0x%08X\n",(DWORD)hKernell32+offsetLoadLibraryExW); INLINE HOOK一般是修改前5个字节(当然,不一定),所以可自己写个中间函数,执行对应API的前面几句指令,然后直接JMP到指定地址 |
|
[调查]windows核心编程有必要看吗
我给WINDOWS核心编程的定位是:win32子系统高级编程的必读书籍。 重要的不是里讲的api,是里面讲的方法和意识。 因为WIN32子系统是在windows中的地位, 如果要从应用层开始尝试深入研究WINDOWS的某些特性的话,个人感觉,还是要从这本书入门(虽然它没讲什么内核的东西) 现在说它“过时”还太早。WINNT技术内幕出版多久了?但是要了解WINDOWS系统架构,了解内部运行机制,不一样要读吗? |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值