|
[求助]请问如何做一个有多语言选项的安装包?(简体 繁体 西班牙语 英语)
Astrum InstallWizard就可以。 如果用不习惯,自己再找吧。 http://www.crsky.com/list/s_116_1.html |
|
[求助]论坛里的ASProtect注册机为什么输进去还是不正确??
你在哪个贴下载的,发一个链接。 |
|
[求助]求助Borland C++ 1999
直接拿Dede灭掉它。 |
|
[求助]求一个VC6.0下的HELLO WORLD, 看似很简单的问题,在CSDN上没人解决,不知道这里会怎样
返回实模式和进入保护模式一样简单。 386的某一份手册中有示例代码的,进入保护模式和退出保护模式都有。 |
|
[求助]汇编,菜单
菜单无非也是一个window,只不过是某种特殊的window而已。Windows下,一切GUI对象都是window,故名Windows。 要让它一直显示,需要hack它的消息处理过程了。 你这种需求十分怪异,我并没有做过这样的事,所以也不知道具体怎么实现。 刚才用spy看了一下,普通的菜单,窗口类是#32768,MFC的程序似乎是一个Afx开头的类。 但菜单的handle每次弹出都不一样,说明菜单是在弹出时Create的,而在关闭时Destroy的。 你想让一个菜单一直显示,我想一个可能的方法是对#32768进行超类化,或者某一次打开菜单后,在它关闭之前,对它进行子类化。 |
|
|
|
[求助]NOP掉驱动文件后不能保存可执行文件EXE
说明你改掉的是DLL中的代码。 要找到exe中的调用这个DLL函数的代码,改那里就好了。 可以反复Ctrl+F9,直到返回地址位于EXE的地址范围当中,这个返回地址处的上一行的CALL指令就是你要改的地方。 还有,NOP掉时要注意堆栈。 |
|
[求助]求一个VC6.0下的HELLO WORLD, 看似很简单的问题,在CSDN上没人解决,不知道这里会怎样
从DOS下进入保护模式,以及返回DOS实模式,这本身不是什么难事。但是,VC6编译不出16位代码。 所以,你这个要求是不可能完成的。 |
|
0day书中关于函数调用的一章,系统调用和 栈平衡问题~(急于求解,在这里也发一下:)
1.不管系统调用也好,还是一般的函数调用也好,只是某种形式的“控制转移”。而“调用”与“分支(或叫做跳转)”这两种*转移*,本质上的区别就是“调用”必有“返回”,因此需要某种途径保存返回地址。 在x86中,一般的过程调用,返回地址被直接压入堆栈。而系统调用有很多途径,对于int 0x2E方式的系统调用,CPU通过异常处理机制转到ring0的ISR处执行,硬件按照中断发生时的行为执行的对现场的保存动作,包括ring3的cs:eip压栈,ring3的ss:esp压栈,当然还有eflags压栈。对于sysenter的系统调用方式,根据手册描述,sysenter指令并不保存返回地址,但系统可以使用ring3堆栈上的返回地址(即从KiFastSystemCall返回的地址)来返回调用处。 在amd64上,手册中提到syscall指令,而我在调试运行在32位兼容模式下的程序时,发现系统调用是先call一个ring3的占位函数,然后直接一个far jmp进入内核了,应该是通过call gate了。 2.任何一本汇编语言的书里都会讲到,call指令执行的动作是把下一条指令的地址压入堆栈,然后转到目标地址去执行;而ret指令可以理解为pop eip,也就是把栈顶的值弹出,装入程序计数器。 3.函数调用栈帧的平衡是由程序自身维护的,硬件没有任何特殊的机制。而程序代码自己是知道使用了多少栈空间的。在函数返回之前,只需要将自己使用的局部空间释放,堆栈自然就平衡了。 实际上,“堆栈平衡”只是一种约定,或者说习惯,并不是规定,更没有硬件检查机制。只要你愿意,写的程序可以随意使用堆栈,或根本不使用堆栈,只要你自己清楚程序的执行流程就行。 |
|
|
|
[讨论]有没有一种方法让双核CPU一个核跑WINDOWS,一个单独自己一个线程?
这是看Manual时经常遇见的缩略语,我知道中文意思,英文单词可能不太准确。 BSP:BootStrap Processor AP:Application Processor(s) MSR:Mode Specific Register |
|
[求助]没有源代码,如何添加一个DLL的隐式调用
如果DLL是主动工作的,只要加载起就可以自己工作的话,用LordPE给文件添加一个导入表项,程序启动时就会自动加载DLL了。 如果DLL是被动工作的,那就要修改程序代码,在合适的时候来调用DLL中的功能函数了。 |
|
[求助]如何hook目标进程某个api?如 MessageBoxA
如果熟悉shellcode和远程操作,可以VirtualAllocEx一段内存,用它来实现。 如果不熟悉这种方法,那就写一个dll,让进程加载dll,而主要的工作在dll里来干就行了。 |
|
[讨论]有没有一种方法让双核CPU一个核跑WINDOWS,一个单独自己一个线程?
没有。 至少没见报道。 不过你可以自己试试,可以设想通过这样的途径: 引导非SMP内核,即只启动BSP,不启动AP,让内核运行在BSP上。待内核引导成功后,加载驱动,该驱动程序设置MSR,唤醒并初始化AP,并HOOK内核调度器,将AP与指定的线程进行绑定。 注:以上仅是胡乱猜想,没有任何参考依据。请勿当真。 |
|
|
|
[求助]用VC 写插件,如何插入一个断点
你的语言太混乱了,不太明白你说的是什么意思。 我猜你说的是开发Olly的插件吧。 Olly提供了插件的SDK,只是告诉你Olly的主程序提供了哪些服务,并不是说就不允许使用其它的库,比如MFC,只要你正确使用。 虽然可以,但毕竟跟用MFC写普通的应用程序不同。比较简单的方法是在单独的线程里启动MFC界面,但是要注意正确设置hInstance的值为DLL的基址,而不是用GetModuleHandle(NULL)来获取。 具体怎么启动MFC,或者说MFC的库的入口点在哪里,查看一下MFC的源文件,得知AfxWinMain是MFC的入口点。所以,在单独的线程里,用合适的参数调用AfxWinMain应该就可以让MFC正常工作了。 |
|
[求助]监视eip并记录特定eip时寄存器或进程内存的内容
使用Debug API的ring3调试器,可以理解成在seh机制基础上工作。 正常情况下,线程发生异常时,系统会调用线程注册的seh。而被调试的进程中的线程,可以认为在seh的头部和尾部都有一个“隐藏”的handler,这两个handler不是位于被调试的进程中,而是位于调试器当中。 DBG_EXCEPTION_NOT_HANDLED就是让系统将沿着seh链继续调用线程自己的handler,而 DBG_CONTINUE则是告诉系统,不必调用随后的handler了。因此,DBG_EXCEPTION_NOT_HANDLED的字面意思是说调试器没有处理异常,并不一定表示调试器真的没有处理,它的实质是让被调试线程自己的handler有机会执行。同理DBG_CONTINUE的实质是阻止线程自身的异常处理程序的运行,而不一定表明调试器已经处理过了异常事件。 |
|
[求助]如何hook目标进程某个api?如 MessageBoxA
目标进程是不能“跳转”到loader进程中的。 每个进程有自己地址空间,而系统dll是以写时复制方式映射到进程的地址空间的。 写时复制也就意味着,你所做的修改是在进程自身的一份“私有拷贝”上进行的,对其它进程无影响。 程序要修改其它进程的地址空间,只能通过ReadProcessMemory和WriteProcessMemory这类API来进行。 |
|
[求助]怎样用8086汇编语言显示‘刘’字?
这是故弄玄虚。debug的e命令是向内存中写数用的。 整个脚本就是利用debug写一个程序,然后g命令运行。 你用WinHex将那些数写入一个磁盘文件中,然后反汇编就知道程序的内容了。 这就是debug生成的程序,由于我的x64系统无法运行16位程序,所以没测试是否能运行。看起来要用hzk16的点阵来显示汉字的。 liu.zip 要知道它怎么调用字库文件,只要把这个com文件反汇编看一下就知道了。 |
|
[求助]EXCEPTION_SINGLE_STEP单步调试问题
确实比较奇怪。我用同样的方法,即ctx.EFlags |= 0x100,是可以收到EXCEPTION_SINGLE_STEP异常的。 这是log内容: Debug event received, debug event code is : CREATE_THREAD_DEBUG_EVENT Debug event received, debug event code is : EXCEPTION_DEBUG_EVENT Break point exception received : 0x00401000 eflags value is : 0x00000246 Debug event received, debug event code is : EXCEPTION_DEBUG_EVENT Single step exception received : 0x00401002 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值