|
[分享]程序员的鄙视链
最后一句话永远是精华 |
|
[求助][求助]:eek:关于截屏保护的一些问题
可以拦截按键,shadow表里面还要拦截ntuserprintwindow |
|
[求助][求助]:eek:关于截屏保护的一些问题
只有三环调用的才从表里面过。按键截屏 内核直接调用 都是自己的东西为还要脱裤子放屁 从表里面取地址。 /***************************************************************************\ * xxxSnapWindow * * Effects: Snaps either the desktop hwnd or the active front most window. If * any other window is specified, we will snap it but it will be clipped. * \***************************************************************************/ BOOL xxxSnapWindow( PWND pwnd) { /* * Open the clipboard and empty it. * * pwndDesktop is made the owner of the clipboard, instead of the * currently active window; -- SANKAR -- 20th July, 1989 -- */ fSuccess = xxxOpenClipboard(pwndT, NULL); xxxEmptyClipboard(pwinsta); 。。。。。。。。 。。。。。 hdcScr = _GetWindowDC(pwnd); if (!hdcScr) goto MemoryError; hdcMem = GreCreateCompatibleDC(hdcScr); if (SYSMET(SAMEDISPLAYFORMAT)) { hbm = GreCreateCompatibleBitmap(hdcScr, rc.right, rc.bottom); } else { hbm = GreCreateBitmap(rc.right, rc.bottom, 1, gpDispInfo->BitCountMax, NULL); } if (!hbm) { hbm = GreCreateBitmap(rc.right, rc.bottom, 1, 1, NULL); if (!hbm) goto MemoryError; } hbmOld = GreSelectBitmap(hdcMem, hbm); fRet = GreBitBlt(hdcMem, 0, 0, rc.right, rc.bottom, hdcScr, rc.left, rc.top, SRCCOPY | CAPTUREBLT, 0); GreSelectBitmap(hdcMem, hbmOld); _SetClipboardData(CF_BITMAP, hbm, FALSE, TRUE); PlayEventSound(USER_SOUND_SNAPSHOT); fRet = TRUE; SnapExit: 。。。。。。。。 /* * Release the window/client DC. */ if (hdcScr) { _ReleaseDC(hdcScr); } xxxCloseClipboard(pwinsta); 。。。。。。 goto SnapExit; } |
|
[求助][求助]:eek:关于截屏保护的一些问题
inline bitbit stretchblt 有效 按PrintScreen键以后 消息投递到处理列队,发现是printscreen,内核直接调用xxxsnapwindow 由于是同一个模块,所以是直接调用的内核bitblt 没有从表里面获取地址。因此无效。 上面一群瞎说的。也是服了 你inline HOOK bitblt或者stretch是有效的 |
|
|
|
[原创]过11的DOTA小地图源码以及文件
不用DLL注入 改成SHELLCODE 换个地址HOOK 就行了,东西就不写了。 |
|
[原创][2014-12-11更新]程序员记忆录!.
出小说吧~~~ |
|
[求助]大神们你们是怎么炼成的啊,我人笨还是不往这方面想了悲催的人啊,
账号卖给我吧,让我装装逼 |
|
[翻译]WDK-Handling IRPs
...不然我怎么会问这个问题呢,我也觉得奇怪,帖子里面我也跟踪了一下,发现就是那样的 |
|
[翻译]WDK-Handling IRPs
哎,就是有问题。有deviceobject->stacksize==1 的状况发生。暂时还没有发现有其他的问题驱动。我也跟踪了好久,就是搞不懂哪里有问题。看样子还需要慢慢学习IRP。 |
|
[翻译]WDK-Handling IRPs
十分谢谢楼主。有个问题想问楼主。 有没有一种情况,我的DeviceObject的设备栈stacksize为2 这个IRP到我的派遣例程里面的时候irp->currentlocation为1的情况。 我Device附加到了别的device上。我再次调用iocalldriver时候由于currentlocation为1.直接BSOD了,这个问题一直没有搞懂。http://bbs.pediy.com/showthread.php?t=194895 |
|
|
|
[求助]寒江独钓TDI过滤StackLocation问题求助
要是想能成功运行 按照他的代码如果<=1直接下发好了。并没有解决我的疑问。。为什么当前我的设备stacksize为2.某个IRP进入我的例程之后currentlocation只剩下1了。 |
|
[求助]关于内核重载一个不解的地方
修复重定位表并不是按照你的新内核的加载位置重定位,而是按照老的内核的位置重定位,这样定位下来的全局变量都是老的初始化以后的。重载只是为了利用代码段而已。 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值