|
[求助]磁盘过滤驱动加载方法
呵呵,小的细节 |
|
[原创]字符串函数的汇编实现
seizeme兄,讨论讨论也是好的,不必因为一点的小过失而自责 |
|
[原创]字符串函数的汇编实现
首先,哈哈,很感谢你的解读; 有两点需要说明的: 1.ecx初始化为-1,那么,假设当ecx=-3的时候,退出循环,真正的字符串元素个数(也就是你说的长度)应该是1,而不是2; 2.从repne scasb这条指令开始,按照你的想法,应该是这样的: repne scasb neg ecx //如你所说,假设:ecx = -3 dec ecx // ecx = 2 dec ecx // ecx = 1 mov eax,ecx mov edi,edx //这一句,是恢复目的寄存器edi的,你我的写法都不能省去 retn 这下应该清楚了吧 |
|
|
|
[原创]字符串函数的汇编实现
1.对你的第一个问题,我不是保存寄存器值,而是指令需求,比如:repne scasb就要用到edi的值,而参数是用ecx传递进来的,当然首先要进行mov edi,ecx ,你可能把这样的代码理解成保存寄存器值了;另外,如果第一条mov edx,edi指令要是写成pushad,那又得浪费多少堆栈空间啊,我只是希望恢复edi而已 2.你说的repne scasb之后的代码写法,你的写法比较简约,不过少了一次dec ecx,你忘了前面初始化是-1;你四条指令,我三条指令,不过,在执行上,你的方法可能会好点 |
|
[原创]字符串函数的汇编实现
自己回复一个 |
|
小精灵主动防御系统的设计与实现
支持楼主,踏踏实实的写一个,总比只知道原理与方法,而从来不知道如何落实的强多了 |
|
[讨论]讨论下微软为什么不加vc++代码智能提示
1.你安装了VAssist以后,不影响机器性能吗,虽然你的机器配置可能很好... 2.MS已经做了一些相关提示的工作,只是不多而已,这是考虑大众的需求,比如:我就不喜欢编码的时候整个屏幕花花绿绿的。打一个字符,跳出一系列框... 3.语法制导翻译与索引,说到底不难,你要是感兴趣,自己也可以开发一个。如果专门追求那种索引带来的效率与快捷,那么VAssist不是最好的,SlickEdit的编辑功能才是我见过的最强大的,并且完全兼容VS工程,Eclipse工程...不过,收费很高,本人不才,写过一个它的最新版本的内存破解补丁... |
|
[结贴]驱动中汇编调用C函数的方法
又看到你了! 嗨,LZ,还是要注重基础啊; 你如果懂一些WIN32ASM,就应该知道invoke是一个宏指令,作用是调用一个函数,调用习惯类似于高级语言的,而不用在call之前,进行一系列push...push... 那么,在C语言里,直接写strncmp(... , ... , ...)就行了; 如果在C语言里内联汇编,那么直接_asm {}就行; 至于你的最后的疑问,在汇编里调用C语言?呵呵,很唐突的问题!你怎么会这样想...但是,在WIN32ASM里照样可以调用标准的系统API,而不是调用C语言,哎... 学习要讲究方法,不能只是问... |
|
[已解决]一个SSDT HOOK中的疑惑(谢谢帮助我的兄弟们)
更加简单点,可以这样说: 你先前的写法,仅仅是替换掉了NtOpenProcess的函数地址的内容;然而,系统调用通过SSDT计算 NtOpenProcess的服务号偏移+基址,得出一个地址,然后取这个地址的内容才是NtOpenProcess的调用入口,这个地址你是没有改变的。相反,却改了一些不该改的东西...所以蓝屏了 |
|
[已解决]一个SSDT HOOK中的疑惑(谢谢帮助我的兄弟们)
分析: ULONG address; address=nt!KiServiceTable+0x1e8 这个address是指向NtOpenProcess地址的指针,也就是说 *address的内容才是NtOpenProcess的地址; 那么,现在一切都明白了吧,你要HOOK NtOpenProcess,其实就是要用你的自定义函数地址替换掉: *address, 如: *((ULONG*)address)=MYNtOpenProcess; LZ要的是这个答案吗... 要深刻理解指针的含义啊,如果懂汇编,那么结合内存寻址更能帮助理解指针... |
|
[讨论]系统若干偏移字段的问题
哎,犯错误了。刚开始我就查找 DT _EPROCESS,结果发现 没有132这样的偏移啊,所以就想到其他地方去了。现在才发现,0x84=(132)10 ,进制转换这里忽略了,郁闷啊 |
|
[原创]直接修改内核对象隐藏进程
ActiveProcessLinks就是EPROCESS结构体的一个成员,而一个进程内核对象的相关信息本身就是由EPROCESS来维护的,那么修改EPROCESS,其实就是修改了内核对象。呵呵 |
|
[原创]直接修改内核对象隐藏进程
刚好用得上,嘿嘿,拿来主义 |
|
[原创]驱动开发和调试的环境设置(VC6.0版设置)
呵呵,区别对待了,掌握一种方法就OK啦,多了解一些也不错 |
|
[求助]一个数据对齐的问题,VC6.0编译出的汇编代码有问题
楼主,请熟悉了解一下X86体系结构的优化知识。X86指令集平台下,最快的访问内存的方式是4字节对齐方式,也就是以DWORD对齐方式 你的结构体在内存中是这样的: char char char __ ;4个字节 int ;4个字节 char __ __ __ ;4个字节 |
|
[原创]使用VC创建 Windows NT 下的内核DLL 和 LIB
我不知道,看来知识还是需要普及的 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值