|
|
|
这个CALL调用的时候为什么要重复写赋值?
楼上2位说的有道理。 |
|
这个CALL调用的时候为什么要重复写赋值?
[QUOTE=tztztztz;993890]反汇编的时候找到了一个软件CALL。 push 0 movzx ecx,[eax+12] //[eax+12]可以直接用数值代替 movzx edx,[eax+10] //[eax+10]可以直接用数值代替 mov eax,[652f10...[/QUOTE] 从代码的角度来说,象个2重指针。但你说了又不是,奇怪了。 |
|
[求助]天书夜读第9章 C++类与驱动的问题
MySubDriver mysub(pDriverObj); 我说的是这个对象是局部的对象,函数退出时会被析构,不是指DLL被卸载。 另外,我觉得楼上说的有道理。:) |
|
[求助]天书夜读第9章 C++类与驱动的问题
这段代码挺奇怪的。从C++的角度来说,我觉得 1. 应该使用new,而不是把对象放在栈上,因为驱动本身有自己的生命周期。DriverEntry之后,对象就析构了。 2. 这个类有static指针,每次对象的构造会修改这个指针,这个设计挺别扭的,有没有可能这个驱动被多次加载? a. 是不是把类做成单件更好, b. 或者有没有可能从静态函数的参数中获得对象指针(是不是可以考虑把对象的指针放在DriverObject的某个) 从驱动的角度,我说不出什么,因为我不会。:) |
|
[求助]学习VEH遇到不解的问题.
我对这个问题一直很好奇,MSDN上如是说 If the application has no debugger, the system debugger displays the string if the filter mask allows it. (Note that this function calls the DbgPrint function to display the string. For details on how the filter mask controls what the system debugger displays, see the DbgPrint function in the Microsoft Windows Driver Kit (WDK) on MSDN.) If the application has no debugger and the system debugger is not active, OutputDebugString does nothing. 最近抽出空来调试了一下这个问题,有了些结果。分成2个问题: 1. 异常处理的失效 2. VEH中的陷阱 |
|
[求助]在dll中利用IAT HOOK其它进程函数,一个关于新函数地址的问题,请大侠指点,感激不尽
现在的地址都是平坦模型,不用加模块首地址的。 另外,如果这个模块被加载到其它的地方,这个地址还是可以直接用的,因为系统会帮你重定位的,当然这时的地址和上面的地址数值上会不一样的。 推荐你看下:函数的调用之迷 但我发现一个奇怪的问题,你传参数进来的时候已经是函数地址了,再加&,难道是二重指针嘛? |
|
请指教,如何编写一个程序,获取并设置指定程序中的文本控件
这个类似定制的控件,比较麻烦的。因为消息是定制的,需要仔细跟踪的。 |
|
请指教,如何编写一个程序,获取并设置指定程序中的文本控件
对于简单的控件,可以获得句柄之后SendMessage即可。复杂的控件,可能需要Dll injection。 |
|
|
|
[求助]汇编指令中的 带立即数返回指令的作用主要是什么?
上面几位说的都对。我就不重复答案了。cool: |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值