脑部核磁共振检查什么np什么意思

本帖最后由 从细节开始讲 于
14:30 编辑 ) j8 @3 a7 C1 p. m" ]
* d! x+ J9 Q) E+ ?# F) v
下载 (66.68 KB)
注入DLL是做全局钩子或者拦截类软件都有可能用到的技术,如果做外挂的话我们也有可能需要注入一个DLL到游戏进程中去干点什么“坏事”。 但我们知道现在要注入DLL是越来越难了。场景1:制作火星文输入法外挂,原理是利用API HOOK拦截并修改输入法相关函数,需要注入一个DLL到所有进程中,但是后来发现,在开启了瑞星的帐号保险箱后,用户将不能在QQ中输入火星文。原因是瑞星保护了QQ进程,禁止对其注入DLL,解决方法是提示用户关闭帐号保险箱 -_-| 确实是很降低用户体验的一个不是办法的办法。场景2:制作某游戏外挂,需要注入一个DLL到游戏进程中去直接调用游戏函数完成某一功能。结果发现该游戏有NP保护,OpenProcess打不开,创建远程线程也不行,试用其它方法也一一失败。遇到上面的情况,高手们自然是转到Ring0下面去,使用驱动之类的办法来对付啦,不过吾等菜鸟可就是酒井没法子了 -_-| : q7 }) E {+ q8 k! g" ^6 S
不过也别太灰心,凡事总会有办法的。我想我们需要一种持久的、稳定的、不容易被安全软件屏蔽的DLL注入方法,后来发现,输入法程序就是能完成这一任务的理想人选。输入法程序程序到底是什么?它没有自己的进程,并且在系统还没有登录时就已被加载(在欢迎界面你也可以调出输入法),它可以在游戏中打开,也可以在控制台程序中打开,还可以在瑞星保护下的QQ中打开,在杀软中也可以打开,这不就是我们要找的特性吗。那么,输入法到底是什么呢?根据Windows的规定,输入法其实就是一个DLL,不过它是一个特殊的DLL,它必须具有标准输入法程序所规定的那些接口,输入法是由输入法管理器(imm32.dll)控制的,输入法管理器又是由user32.dll控制的。输入法在系统目录是以IME为扩展名的文件,当在应用程序中激活某个输入法时,输入法管理器就会在那个应用程序的进程中加载对应的IME文件,注意,加载IME文件跟加载普通的DLL并没有本质区别,所以,可以认为,输入法其实就是注入到应用程序中的一个DLL文件,并且,这种“注入”是不会被杀软和游戏NP拦截的(至少目前是)。现在,我们已经有了一个注入DLL的另类方法,那就是利用输入法。具体流程是这样,首先制作一个标准输入法文件,但是这个输入法并不完成文字输入工作,它的唯一任务就是用来注入DLL,所以称为“服务输入法”,然后,制作一个控制程序,来控制服务输入法,当然最后还需要一个用于注入的目标DLL,这样一共就有3
个文件。开始工作后,控制程序首先将服务输入法安装到系统中,然后传递几个参数给服务输入法,参数中包括了需要注入的DLL文件的名称和路径,然后,控制程序将服务输入法设置为系统的默认输入法,这样新的程序一打开,服务输入法就会注入那个程序。当然,在服务输入法安装之前打开的程序不会被注入,这时需要向系统中的所有窗口POST一条WM_INPUTLANGCHANGEREQUEST消息,该消息可以在指定窗口中后台激活服务输入法,这样,系统中所有拥有窗口的进程就都被我们的服务输入法注入了。服务输入法注入程序之后,就会根据控制程序传递过来的参数加载目标DLL,这样目标DLL也就随着服务输入法一同注入到目标程序中了。注意服务输入法是控制程序用WM_INPUTLANGCHANGEREQUEST消息在所有窗口中自动激活的,如果某个窗口自动激活失败,你就需要在那个窗口中手工切换到服务输入法,这样才能注入进去了。至于注入以后,你就可以在窗口中切换到别的输入法,这并不会影响已经注入进去的DLL。我将这一套功能制作成一个完整的示例,你可以在以下地址下载:
压缩包中的第6个和第8个文件夹演示了此功能并包含所有源代码。其中文件imedllhost09.dll就是服务输入法,运行时会被安装到系统中,控制程序退出时会自动卸载该输入法,这样用户就不太容易察觉,你还可以重新编译该输入法,将名称改为“中文(中国)”,这样隐蔽性更好。文件hxwdllwx.dll是演示用的目标DLL,你可以替换成自己的DLL,然后那个exe文件就是控制程序了。输入法imedllhost09.dll在运行时会被复制到系统目录并更名为imedllhost09.ime,它导出了2个函数用于控制。在VB中的声明为: Public Declare Function IMESetPubString Lib "imedllhost09.ime" (ByVal RunDLLStr As String, ByVal UnloadDll As Long, ByVal loadNextIme As Long, ByVal DllData1 As Long, ByVal DllData2 As Long, ByVal DllData3 As Long) As Long
Public Declare Function IMEClearPubString Lib "imedllhost09.ime" () As Long
复制代码其中IMESetPubString用于向输入法传递要注入的DLL等参数。RunDLLStr,要注入的DLL命令和完整路径。UnloadDll,当输入法退出时,是否同时卸载目标DLL 0-是,1-否。loadNextIme,当切换至该服务输入法时,是否直接切换到下一个输入法(这样服务输入法就好像被跳过了,可最小限度影响用户的输入法顺序) 0-否,1-是。DllData1,DllData2,DllData3是传递给目标DLL的回调函数(函数名称必须为RunDllHostCallBack)的参数,你可以在目标DLL中导出一个函数,名称为RunDllHostCallBack,这样当输入法注入时会调用目标DLL的该回调函数并向其传递这3个参数。函数原型为(VC):
6 A. e! [6 @: }4 f0 m
DWORD RunDllHostCa
llBack(DWORD calldata1, DWORD calldata2,DWORD calldata3);
# T" b% f, o& ^IMEClearPubString函数用于清除输入法的配置,清除后,输入法将停止在新的程序中注入目标DLL,但已注入的DLL不会卸载。 1 S2 t# b4 B7 {0 ?- N- H% R
好了,利用输入法来注入DLL基本上就是这样了,详细的用法大家可以看压缩包中的第8个文件夹,其中服务输入法是VC写的,控制程序是VB的,代码都是有注释的。测试发现该方法能过目前所有杀软,也能注入冰刃。当然缺点还是有的,就是目标程序如果不接受输入法那就没办法了,但是现在一般的游戏都不会禁止玩家在里面打字吧,而且杀软也不能禁止用户输入汉字吧,哈哈,所以通用性应该还是蛮好的。 4 M6 P) o8 E8 s, a7 w) u
j, c1 d8 k+ J8 H
最后,再介绍另一个注入DLL的方法,估计也很少被用到。是利用一个未公开函数RegisterUserApiHook,可以在网上搜索关键词“RegisterUserApiHook”,查到有人在Windows 2003下测试成功,但是我在Windows XP测试却失败。后来终于找到了失效的原因。RegisterUserApiHook函数可以在系统中注册一个全局钩子,你需要在钩子中指定一个DLL和一个回调函数,然后,所有加载了user32.dll的程序就都会在启动时加载你指定的这个DLL。用这个函数来注入DLL也是很不错的。但是测试发现它的注入能力似乎赶不上上面提到的利用输入法来注入的办法,可以注入一般的程序和某些安全程序,但是对冰刃无效。而且它有一个限制,就是系统中只能同时存在一个这样的钩子。实际上这个钩子平时是被系统中的Themes服务占用了,Themes服务正是利用这个钩子HOOK了绘制窗口的相关API,所以才让所有程序窗口变成XP主题样式的。所以我们要用这个钩子的话,必须先关闭Themes服务,这样在XP下也可以用了,但是这样系统就变成Windows 2000的样式了 -_-|
* p6 V+ E/ x2 j
j) P3 Q1 G
! l4 i. ?; T7 ~7 y4 g5 y
RegisterUserApiHook函数的VB声明如下: Public Declare Function RegisterUserApiHookXP Lib "user32" Alias "RegisterUserApiHook" (ByVal hInstance As Long, ByVal fnUserApis As Long) As Long
Public Declare Function RegisterUserApiHook2003 Lib "user32" Alias "RegisterUserApiHook" (pRegInfo As HookAPIRegInfo2003) As Long
复制代码可以看到,在XP和2003下这个函数的参数是不一样的。关于此函数的示例代码,请参见压缩包中的第5个文件夹。
( |3 Q( m. u3 i& b3 N) ?& u7 u1 }1 T1 t& N
最后的最后,再介绍一个未公开函数InitializeLpkHooks,这个函数在网上能找到的资料更少,只有一个声明而已。但是它名称中最后那个“Hooks”误导了我,我以为又是一个可以用来注入DLL的不错函数,用OD反出来一看,原来只是个局部HOOK而已。虽然没太大用,还是一并
看过本文章的还看过。。。
过np的n种方式_it计算机_专业资料。通过使用一系列的方法过np保护程序np......
【转帖】ce最新过np教程_it计算机_专业资料。【转帖】ce最新过np教程 【转帖】ce 最新过 np 教程 转帖】 哎怎么说呢?其实纸鹤登录器的制作者是太笨呢还是没.........
驱动过 np 保护原理(驱动过保护)学习各种高级外挂制作技术,马上去百度搜索(魔......
np难问题 6页 2下载券 np-完全问题(np 48页 免费 过np 5页 .....
np 21页 5财富值 np问题 2页 1财富值 np完全问题 45页 2财富值 np问题 16页 免费 np问题 3页 1财富值 np-完全问题(np 48页 免费 过np 5页 2财富值.........
34页 免费 na np计划 2页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 如何能三个月过na、np(亲身奋斗过程的.........
np问题 16页 免费 np问题 3页 1财富值 np完全问题 45页 2财富值 np-完全问题(np 48页 免费 过np 5页 2财富值喜欢此文档的还喜欢 np小说[1] 9页 免费.........
np 21页 5财富值 np问题 2页 1财富值 np完全问题 45页 2财富值 np问题 16页 免费 np问题 3页 1财富值 np-完全问题(np 48页 免费 过np 5页 2财富值.........
驱动过 np 保护原理(驱动过保护)学习各种高级外挂制作技术,马上去百度搜索(魔......
(); 是我们要保护的线程调用就恢复函数头 handle hprocess=getcurrentprocess...比如writeprocessmemory在用户层用没问题,但是过不了np的驱动检查,对游戏完全没.........
过保护np的分析研究_it计算机_专业资料。过保护np的分析研究特别说明此资料......
网游np保护技术_计算机软件及应用_it计算机_专业资料。网游np保护技术简介np保护技术 什么叫np np有什么用途 以及目前带np保护的网络游戏 ( 16:09:........
结果发现该游戏有np保护,openprocess打不开,创建远程线程也不行,试用......
驱动过 np 的几种方式相关详解学习各种高级外挂制作技术,马上去百度搜索(魔鬼...nprotect 是设计用于保护个人电脑终端不被病毒和黑客程序感染的新概念的基于网络 .........
它的保护也是日趋完善,几种常见的保护有 nprotect gameguard(np), hackshield(...(od 已经调用过我们的 hxntopenprocess ()函数 n); previousmode = ke.........
【转帖】ce 最新过 np 教程 转帖】 哎怎么说呢?其实纸鹤登录器的制作者是太...过保护np的分析研究 7页 免费
过一般保护 37页 免费
ce傻瓜教程五:寻找.........
驱动过 np 保护原理(驱动过保护)学习各种高级外挂制作技术,马上去百度搜索(魔鬼...3,进入 ring0(感谢风景的驱动鼠标键盘模拟工具) 由上面可以看到,np 用户层的.........
网游np保护技术_计算机软件及应用_it计算机_专业资料。网游np保护技术简介np保护技术 什么叫np np有什么用途 以及目前带np保护的网络游戏 ( 16:09:........
nprotect gameguard介绍与原理 nprotect gameguard 是一款比较著名的防作弊软件,在...过保护np的分析研究 7页 免费
驱动过np保护原理(驱动过... 3页 免费
【.........
nprotect gameguard 是一款比较著名的防作弊软件,在玩家使用外挂(何无论任游 戏...驱动过np保护原理(驱动过... 3页 免费
离心通风机的几种传动方... 1页 .........
过保护np的分析研究_it计算机_专业资料。过保护np的分析研究特别说明此资料......
工具保养及保护规定为了提高生产工作效率,不因没有保护好工具而使工作过程中没有工具使 用,也不因没有维护保养好工具而使生产过程中停顿,从而降低了我们的工作效 .........
过np_it计算机_专业资料。np保护 相信程序员们都要本帖最后由 从细节开始讲...(68 kb)
14:21 注入dll是做全局钩子或者拦截类软件都有可能.........
3 上海建工集团 安全生产防护设施工具化、定型化、标准化图文集 基坑临边防护栏(......
驱动过 np 保护原理(驱动过保护)学习各种高级外挂制作技术,马上去百度搜索(魔鬼作坊) ,点击第一个站进入,快速成为做挂达人。 np=nprotect gameguard(如果你不知道.........
nprotect gameguard、xtrap是两款比较著名的防作弊软件,在玩......
驱动过 np 的几种方式相关详解学习各种高级外挂制作技术,马上去百度搜索(魔鬼作坊) ,点击第一个站进入, 快速成为做挂达人。 nprotect gameguard 是一款比较著名的.........
过np的方法_it计算机_专业资料。nprotect gameguard介绍与原理 nprotect gameguard介绍与原理 nprotect gameguard 是一款比较著名的防作弊软件,在玩家使用外挂(无论任何.........
nprotect gameguard cgbc《网游外挂背后折射出的黑色收益》演讲稿_工作总结汇报_总结汇报_应用文书。2012年cgbc商务大会,nprotect gameguard 演讲内容--《网游外挂背后.........
几种常见的保护有 nprotect gameguard(np), hackshi......
[nprotect gameguard service] - c:window......对 NP-Hard问题和NP-Complete问题的一个直观的理解就是指那些很难(很可能是不可能)找到多项式时间的问题。因此一般初学算法的人都会问这样一个问题:NP-Hard和NP-Complete有什么不同?简单的回答是根据定义,如果所有NP问题都可以多项式归约到问题A,那么问题A就是 NP-Hard;如果问题A既是NP-Hard又是NP,那么它就是NP-Complete。从定义我们很容易看出,NP-Hard问题类包含了NP- Complete类。但进一步的我们会问,是否有属于NP-Hard但不属于NP-Complete的问题呢?答案是肯定的。例如停机问题,也即给出一个程序和输入,判定它的运行是否会终止。停机问题是不可判的,那它当然也不是NP问题。但对于SAT这样的NP-Complete问题,却可以多项式归约到停机问题。因为我们可以构造程序A,该程序对输入的公式穷举其变量的所有赋值,如果存在赋值使其为真,则停机,否则进入无限循环。这样,判断公式是否可满足便转化为判断以公式为输入的程序A是否停机。所以,停机问题是NP-Hard而不是NP-Complete。
NP问题就是指其解的正确性可以在多项式时间内被检查的一类问题。比如说数组求和,得到一个解,这个解对不对呢,显然是可以在多项式时间内验证的。再比如说SAT,如果得到一个解,也是能在多项式时间内验证正确性的。所以SAT和求和等等都是NP问题。然后呢,有一部分NP问题的解已经可以在多项式时间内找到,比如数组求和,这部分问题就是NP中比较简单的一部分,被命名为P类问题。那么P以外的NP问题,就是目前还不能够在多项式时间内求解的问题了。会不会将来某一天,有大牛发明了牛算法,把这些问题都在多项式时间内解决呢?也就是说,会不会所有的NP问题,其实都是P类问题呢,只是人类尚未发现呢?NP=P吗?
可想而知,证明NP=P的路途是艰难的,因为NP问题实在太多了,要一一找到多项式算法。这时Stephen A. Cook这位大牛出现了,写了一篇The Complexity of Theorem Proving Procedures,提出了一个NP-complete的概念。NPC指的是NP问题中最难的一部分问题,所有的NP问题都能在多项式时间内归约到NPC上。所谓归约是指,若A归约到B,B很容易解决,则A很容易解决。显然,如果有任何一道NPC问题在多项式时间内解决了,那么所有的NP问题就都成了P类问题,NP=P就得到证明了,这极大的简化了证明过程。那么怎样证明一个问题C是NP完全问题呢?首先,要证明C是NP问题,也就是C的解的正确性容易验证;然后要证明有一个NP完全问题B,能够在多项式时间内归约到C。这就要求必须先存在至少一个NPC问题。这时Cook大牛就在1971年证明了NP完全问题的祖先就是SAT。SAT问题是指给定一个包含n个布尔变量的逻辑式,问是否存在一个取值组合,使得该式被满足。Cook证明了SAT是一个NPC问题,如果SAT容易解决,那么所有NP都容易解决。Cook是怎样做到的呢?
他通过非确定性图灵机做到的。非确定性图灵机是一类特殊的图灵机,这种机器很会猜,只要问题有一个解,它就能够在多项式时间内猜到。Cook 证明了,SAT总结了该机器在计算过程中必须满足的所有约束条件,任何一个NP问题在这种机器上的计算过程,都可以描述成一个SAT问题。所以,如果你能有一个解决SAT的好算法,你就能够解决非确定性图灵机的计算问题,因为NP问题在非图机上都是多项式解决的,所以你解决了SAT,就能解决所有NP,因此&&SAT是一个NP完全问题。感谢Cook,我们已经有了一个NPC问题,剩下的就好办了,用归约来证明就可以了。目前人们已经发现了成千上万的NPC问题,解决一个,NP=P就得证,可以得千年大奖(我认为还能立刻获得图灵奖)。
那么肯定有人要问了,那么NP之外,还有一些连验证解都不能多项式解决的问题呢。这部分问题,就算是NP=P,都不一定能多项式解决,被命名为NP-hard问题。NP-hard太难了,怎样找到一个完美的女朋友就是NP- hard问题。一个NP-hard问题,可以被一个NP完全问题归约到,也就是说,如果有一个NP-hard得到解决,那么所有NP也就都得到解决了。
让我冒着出错被人砸版砖的危险来解释一下P/NP/NP-Complete/NP-Hard。1,计算复杂性这是描述一种算法需要多少&时间&的度量。(也有空间复杂性,但因为它们能相互转换,所以通常我们就说时间复杂性。对于大小为 n 的输入,我们用含 n 的简化式子来表达。(所谓简化式子,就是忽略系数、常数,仅保留最&大&的那部分)比如找出 n 个数中最大的一个,很简单,就是把第一个数和第二个比,其中大的那个再和第三个比,依次类推,总共要比 n-1 次,我们记作 O(n) (对于 n 可以是很大很大的情况下,-1可以忽略不计了)。再比如从小到大排好的 n 个数,从中找出等于 x 的那个。一种方法是按着顺序从头到尾一个个找,最好情况是第一个就是 x,最坏情况是比较了 n 次直最后一个,因此最坏情况下的计算复杂度也是 O(n)。还有一种方法:先取中间那个数和 x 比较,如偏大则在前一半数中找,如偏小则在后一半数中找,每次都是取中间的那个数进行比较,则最坏情况是 lg(n)/lg2。忽略系数lg2,算法复杂度是O(lgn)。2,计算复杂性的排序:根据含 n 的表达式随 n 增大的增长速度,可以将它们排序:1 & lg(n) & n & nlg(n) & n^2 & ... & n^k (k是常数)& ... & 2^n。最后这个 2 的 n 次方就是级数增长了,读过棋盘上放麦粒故事的人都知道这个增长速度有多快。而之前的那些都是 n 的多项式时间的复杂度。为什么我们在这里忽略所有的系数、常数,例如 2*n^3+9*n^2 可以被简化为 n^3?用集合什么的都能解释,我忘了精确的说法了。如果你还记得微积分的话就想像一下对 (2*n^3+9*n^2)/(n^3) 求导,结果是0,没区别,对不?2,P 问题:对一个问题,凡是能找到计算复杂度可以表示为多项式的确定算法,这个问题就属于 P (polynomial) 问题。3,NP 问题:NP 中的 N 是指非确定的(non-deterministic)算法,这是这样一种算法:(1)猜一个答案。(2)验证这个答案是否正确。(3)只要存在某次验证,答案是正确的,则该算法得解。NP (non-deterministic polynomial)问题就是指,用这样的非确定的算法,验证步骤(2)有多项式时间的计算复杂度的算法。4,问题的归约:这&&我该用什么术语来解释呢?集合?太难说清了&&如果你还记得函数的映射的话就比较容易想象了。大致就是这样:找从问题1的所有输入到问题2的所有输入的对应,如果相应的,也能有问题2的所有输出到问题1的所有输出的对应,则若我们找到了问题2的解法,就能通过输入、输出的对应关系,得到问题1的解法。由此我们说问题1可归约到问题2。
6,NP完全问题 (NP-Complete):有这样一种问题,所有 NP 问题都可以归约到这种问题,则它是 NP-Complete 问题。可满足性问题就是一个 NP 完全问题,此外著名的给图染色、哈密尔顿环、背包、货郎问题都是 NP 完全问题。5,NP-Hard:
从直觉上说,P&=NP&=NP-Complete&=NP-Hard,问题的难度递增。但目前只能证明 P 属于 NP,究竟 P=NP 还是 P 真包含于 NP 还未知。
阅读(...) 评论()您的位置: &
核磁共振法(^1H谱)对采油助排剂中壬基酚聚氧乙烯醚(NP-10)的分析与测试
优质期刊推荐}

我要回帖

更多关于 核磁共振检查什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信