|
CPPEH_RECORD 用什么头文件
这个是微软的C编译器在处理有异常处理的代码时自动生成的 不需要什么头文件 有这个结构出现说明该函数使用了异常处理 这需要你了解一些异常处理的底层结构 typedef struct CPPEH_RECORD { DWORD old_esp; //ESP DWORD exc_ptr; //GetExceptionInformation返回值 DWORD prev_er; //prev _EXCEPTION_REGISTRATION_RECORD DWORD handler; //handler DWORD msEH_ptr; //scopetable DWORD disabled; //trylevel }CPPEH_RECORD,*PCPPEH_RECORD; |
|
[求助]Hook NtDeviceIoControlFile 各种异常崩溃。。。
骚年,其实不复杂啦 多线程,主要是控制好对全局变量的访问,特别是写操作,少用全局变量,非用不可那就加锁 异步呢,主要是还得替换掉它的通知机制,比如它的通知用的是event,那你就把event句柄换成自己的,等event有信号了,就可以处理数据了,你的Hook函数处理完,再Set原来event就可以了,ApcRoutine方式也是一样,替换就好了 |
|
[讨论]关于函数名和内存地址对应关系
不同意4楼的说法,对于编译型语言来说,这还真就是编译器干的事 只不过,在Win平台上,不管你用哪家的编译器,生成的目标是按照微软制定的PE格式生成的 在Linux平台上,那就是ELF格式了 如此而已 |
|
[求助]驱动小白问一个小白的问题
#define IRP_MJ_CREATE 0x00 offset:0x38 #define IRP_MJ_CREATE_NAMED_PIPE 0x01 offset:0x3C #define IRP_MJ_CLOSE 0x02 offset:0x40 #define IRP_MJ_READ 0x03 offset:0x44 #define IRP_MJ_WRITE 0x04 offset:0x48 #define IRP_MJ_QUERY_INFORMATION 0x05 offset:0x4C #define IRP_MJ_SET_INFORMATION 0x06 offset:0x50 #define IRP_MJ_QUERY_EA 0x07 offset:0x54 #define IRP_MJ_SET_EA 0x08 offset:0x58 #define IRP_MJ_FLUSH_BUFFERS 0x09 offset:0x5C #define IRP_MJ_QUERY_VOLUME_INFORMATION 0x0a offset:0x60 #define IRP_MJ_SET_VOLUME_INFORMATION 0x0b offset:0x64 #define IRP_MJ_DIRECTORY_CONTROL 0x0c offset:0x68 #define IRP_MJ_FILE_SYSTEM_CONTROL 0x0d offset:0x6C #define IRP_MJ_DEVICE_CONTROL 0x0e offset:0x70 #define IRP_MJ_INTERNAL_DEVICE_CONTROL 0x0f offset:0x74 #define IRP_MJ_SHUTDOWN 0x10 #define IRP_MJ_LOCK_CONTROL 0x11 #define IRP_MJ_CLEANUP 0x12 #define IRP_MJ_CREATE_MAILSLOT 0x13 #define IRP_MJ_QUERY_SECURITY 0x14 #define IRP_MJ_SET_SECURITY 0x15 #define IRP_MJ_POWER 0x16 #define IRP_MJ_SYSTEM_CONTROL 0x17 #define IRP_MJ_DEVICE_CHANGE 0x18 #define IRP_MJ_QUERY_QUOTA 0x19 #define IRP_MJ_SET_QUOTA 0x1a #define IRP_MJ_PNP 0x1b #define IRP_MJ_PNP_POWER IRP_MJ_PNP // Obsolete.... #define IRP_MJ_MAXIMUM_FUNCTION 0x1b 贴点东西,自己看吧,到底索引最大是多少,有多少个成员,一个简单的数组问题还数不明白吗? |
|
[求助][求助]Windows10 64位系统后去kernel32.dll内函数失败
在64位编程中使用64位类型来存储地址变量是基本的常识 |
|
|
|
[求助]驱动程序加壳怎么破
因为大家基本上用命令行比较多啊,需要反汇编的时候u一下就好了,Windbg的强大就在于各种命令和伪寄存器、条件语句什么的 |
|
[求助]驱动程序加壳怎么破
vm这个不能算普通意义的壳了,能手撕vm的没几个人。。。 |
|
[求助]驱动程序加壳怎么破
没必要重复造轮子啊,写个调试器谈何容易,windbg就挺好使的,而且也可以写扩展来丰富功能,所以有能力的多写一写相关的实用扩展才叫实在 |
|
[求助]驱动程序加壳怎么破
跟应用层脱壳在原理上没什么区别,而且个人觉得驱动里面应该不会有应用层那么变态的壳吧,毕竟要考虑稳定性,总蓝屏就不好玩了。跑到OEP之后用Windbg转储,不过如果需要修改导入表什么的就麻烦了,只能手动修了,不像应用层有那么多好用的工具,从原理上讲,LordPE、ImportRec之类的软件写个Kernel版本应该也不难吧。。。 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值