破解软件一般技术问题
2007-01-14 20:15:33 来源:WEB开发网求逆元用扩展欧基里德算法,初等数论书都有讲。
(blowfish回答)
Q:_lopen("\\.\NTICE",...)这一句代码,“\.NTICE”是驱动模块吗?“\.”在这里是什么意思?
A:\.表示本地计算机,\servername表示远程计算机。
NTICE是softice的驱动程序向Win32应用程序所显露出来的设备的符号名称。每个驱动会创建/管理一个或者多个虚拟的或者物理的设备,每个设备有个设备名,但这个设备名只能在驱动之间引用。需要显露给Win32应用程序的设备除了设备名之外,还要有一个符号名,便于Win32应用程序通过CreateFile/_lopen来引用。在驱动里面是用IoCreateSymbolicLink()来显露设备符号名的。
(blowfish回答)
Q:bmsg与bpmsg有什么不同?
A:bmsg与bpmsg皆为中断消息用的,不同之处是bpmsg可预设条件.设法见说明书.
硬件中断为利用CPU自身的标志寄存器设断.软件中断是软件模拟硬件产生中断.
I/O中断与硬件中断是完全不同的两个概念.I/O中断用于系统与端口通讯时.一般在硬狗时用
Q:CDQ是什么指令?
A:CDQ是符号扩展指令
D是dword(4字节),Q是qword(8字节)
CDQ把EAX寄存器中的数视为有符号的数,将其符号位(即EAX的最高位)扩展到EDX寄存器,即若EAX的最高位是1,则执行后EDX的每个位都是1,结果EDX=FFFFFFFF;若EAX的最高位是0,则执行后EDX的每个位都是0,结果EDX=00000000。这样就把EAX中的32位带符号的数变成了EDX:EAX中的64位带符号的数,以满足64位运算指令的需要,但转换后的值没变。
(blowfish回答)
Q:如何跟踪自动弹出IE的程序?
A:用ShellExcuteA函数设断
Q:用正常的字符串参考,找不到相关字符!
A:很多程序把字符串分散在内存里,譬如“register”它可能做成“rgse”和“eitr”储存在两个不同的单元里;倒过来存放,如reg=ger
,你搜索不到“register”字符串,程序运行中会把它们组合,再调用SetWindowTextA函数来设置控制窗口中的窗口文本。(woow回答)
Q:安装WKTVBDE时的问题
A:XP下的Msvbvm60.dll是2004年的,找了一个以前版本的Msvbvm60.dll替换,即可。
更多精彩
赞助商链接