|
|
|
|
|
|
|
[求助]怎样在不Hook Message的情况下得到其他窗口的鼠标点击事件
你说是的窗口子类化? |
|
[求助]OD调试的问题,大家帮下忙分析下原因
添加的是异常CODE,不是发生异常的地址。况且有的异常是没有地址的。 |
|
[求助]无法打开ntddk.h如何解决?初学驱动,遇到问题,内有详细描述,有知道的帮助一下,不胜感激
将DDK的头文件路径添加到Include环境变量。 将DDK的LIB路径添加到LIB环境变量。 或者在VC中设置关目录,VC6中是tools->options->directories |
|
[原创]汇编 WIN32中LINK的/entry:symbol ??
/entry就是指定程序的入口点的,默认的入口点mainCRTStartup就是CRT初始化的入口点。 如果确定在程序中没有使用CRT中的函数,完全可以将入口点指定为自定义的函数。 |
|
[求助]求助这段汇编代码用义(代码不长)
这就是用来检测堆栈,防止溢出的。 |
|
[求助]对一段代码中的某个函数加密应该怎么做?
对不起,理解错了,是指要把源代码提供给别人吧,那应该使用源码混淆工具处理一下。 |
|
[求助]对一段代码中的某个函数加密应该怎么做?
VMProtect,对单独的函数加密即可。 |
|
|
|
[求助]X86平台的WinCE可执行程序能否移植为ARM平台WinCE?
如果是本机二进制代码程序,那只能用源码重新编译为ARM的,不可能从可执行文件入手完成“移植”。 如果是.NET的程序,只要目标操作系统上有正确版本的.NET COMPACT,是可以运行的,因为.NET程序中不是本机代码,而是中间语言,是在运行时即时编译成本机代码的。 |
|
[求助][建议]如何查看自己发表过的帖子啊?我找了很长时间都么找到
点右上边的搜索,下拉菜单中有两项叫“我的帖子”,“我的主题” |
|
[求助]内核堆栈的个数
看了一下LICENSE,找到依据了,呵呵。 You may distribute snippets of this software in research papers, books or |
|
[求助]内核堆栈的个数
“陷阱栈”是我自己编造的词,刚才看了一下WRK的文件,人家说那叫DPC堆栈,代码是这样写的(引用自WRK-v1.2\base\ntos\ke\i386\trap.asm): ... align 16 PUBLIC _KiFastCallEntry _KiFastCallEntry proc ; ; Sanitize the segment registers ; mov ecx, KGDT_R3_DATA OR RPL_MASK push KGDT_R0_PCR pop fs mov ds, ecx mov es, ecx [COLOR="Red"]; ; When we trap into the kernel via fast system call we start on the DPC stack. We need ; shift to the threads stack before enabling interrupts. ;[/COLOR] mov ecx, PCR[PcTss] ; mov esp, [ecx]+TssEsp0 push KGDT_R3_DATA OR RPL_MASK ; Push user SS push edx ; Push ESP pushfd ... 从这段代码来看,NT内核确实是使用TSS来存放当前线程的内核栈地址的。经过查看ContextSwitch函数,证实了这一点,内核在线程切换时将新线程的内核栈地址写入TSS中的RING0栈指针相关域的。代码如下(WRK-v1.2\base\ntos\ke\i386\ctxswap.asm): ... [COLOR="Red"]; ; Adjust the initial stack address, if necessary, and store in the TSS so V86 ; mode threads and 32 bit threads can share a common trapframe structure and ; the NPX save area will be accessible in the same manner on all threads. ;[/COLOR] mov eax, [esi].ThInitialStack ; get initial stack address sub eax, NPX_FRAME_LENGTH .errnz (EFLAGS_V86_MASK AND 0FF00FFFFh) test byte ptr [eax] - KTRAP_FRAME_LENGTH + TsEFlags + 2, EFLAGS_V86_MASK / 10000h jnz short sc24 ; if nz, V86 frame, no adjustment sub eax, TsV86Gs - TsHardwareSegSs ; bias for missing fields sc24: mov ecx, [ebx]+PcTssCopy ; get TSS address mov [ecx]+TssEsp0, eax ; set initial kernel stack address ... 没仔细看WRK的LICENSE,这样引用WRK中的代码片段,应该没什么吧。 |
|
谁有完整的C语言的SHA算法和RC4?算法
看wikipedia,虽然不是源码,但比源码还要清晰好看。 |
|
[求助]内核堆栈的个数
内核栈是每个线程都有,它位于_KTHREAD结构体中。 硬件陷入RING0时的SS与ESP是一个固定值,并不是线程的内核栈,可以认为是一个不属于任何线程的“陷阱栈”。内核栈由软件维护。 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值