|
[原创]驱动注入用户线程之跨session通知csrss之真正解决
翻了翻10年的老代码 #ifdef _WIN32 for(DWORD i = 0x1000; i < dwNtdllSize; ++i) { if(*((PBYTE)pvNtdllBase + i) == 0x8B) { if(*(PDWORD)((PBYTE)pvNtdllBase + i) == 0x340FD48B) { m_spvKisystemFastCall = (PVOID)((PBYTE)pvNtdllBase + i); if (m_pulCsrPortHandle) { break; } } } else if (*((PBYTE)pvNtdllBase + i) == 0x56) { if (*(PDWORD)((PBYTE)pvNtdllBase + i) == 0x35FF5656 && *(PWORD)((PBYTE)pvNtdllBase + i - 6) == 0x850F) { m_pulCsrPortHandle = *(PULONG*)((PBYTE)pvNtdllBase + i + 4); if (m_spvKisystemFastCall) { break; } } } } #endif 不知道这样好使不? 太久啦,记得好像createthread是不需要自己通知csrss的,BaseThreadStartThunk构造的妙就行(要复制到目标进程中). 但是创建进程必须自己通知. |
|
[求助帮扶] 让我们出点力帮助林版度过难关!(捐款名单见1楼)
祝林版早日康复! |
|
[原创]调戏:纯应用层的Anti本地调试器(1)
10年的时候用过这种办法 : 所有正常的线程,都要经过ntdll的那个点 插个桩,注册一个terminal port给保护线程. 然后每个线程结束的时候,保护线程会感知到线程结束,此时写入一个随机值到LastThreadExitStatus里面(注意这个地方要用驱动,但是还有其它ring3的地方可以用的办法自己去找找看把).同时校验这个值是不是自己写的,否则的话....这样StrongOd的anti anti attach功能是可以被检测的. 如果熟悉了一般线程创建的流程,还可以在csrss里面弄点代码. 反调试这东西还有很多坑可以挖的.但是话又说回来,弄个反调试老板会给你涨工资吗 |
|
|
|
[推荐]Parasoft c++Test 9.2 And concerto
我建了个c++test使用群 205785742 可以加进去交流下.这个软件的单元测试上手还是有一点难度的. |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值