能力值:
(RANK:210 )
|
-
-
2 楼
004043B0 |. 75 0E JNE SHORT st1.004043C0
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
如果你用的是OD,那么在代码上点右键,然后弹出菜单->二进制->编辑,弹出的对话可以直接修改数字
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
感谢以上两位的回复,其实你们没有理解我的意思,我是说要在程序中动态的修改上面的代码。
请高手指教。。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
请高手们看一下啊
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
你是不是要修改的是ZF标志位看一下,并不是要完全修改该软件。
|
能力值:
( LV9,RANK:610 )
|
-
-
7 楼
我做过一些自修改的CM,我的思路是这样的,在“要编写的程序代码”里jmp到一个空白的地方,进行修改
空白的地方的代码这样写:
pushad
add byte[004043B0],1
....其他自修改
popad
jmp // 跳回去
我一般都是给软件添加一个Section段来写,这样能保证有足够的空间,否则你就自己慢慢找地方写吧
|
能力值:
( LV9,RANK:610 )
|
-
-
8 楼
Ps:楼主提问为什么没悬赏? 我提问都最少10Kx。。。疑惑ing。。。
|
能力值:
( LV3,RANK:20 )
|
-
-
9 楼
具体的说不上了,
你去看罗云彬的 win32教程,那里有。其实就是修改内存。也叫内存补丁。。
主要是调试api使用。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
[QUOTE=blueapplez;741973]我做过一些自修改的CM,我的思路是这样的,在“要编写的程序代码”里jmp到一个空白的地方,进行修改
空白的地方的代码这样写:
pushad
add byte[004043B0],1
....其他自修改
popad
jmp // 跳回去
我一般都是给软件添加一个Section段来写,...[/QUOTE]
add byte[004043B0],1试了到是可以,
可是为什么 MOV BYTE PTR CS:[EBX],AL 不可以啊?(代码段已经可写了)
|
能力值:
( LV9,RANK:610 )
|
-
-
11 楼
[QUOTE=wufabiyu;742126]add byte[004043B0],1试了到是可以,
可是为什么 MOV BYTE PTR CS:[EBX],AL 不可以啊?(代码段已经可写了)[/QUOTE]
没遇到过这么奇怪的问题~ 我写过的汇编码都是在OD下的简单汇编,话说还没系统学过汇编,我太菜,不懂。
|
能力值:
(RANK:300 )
|
-
-
12 楼
VirtualQuery
VirtualProtect
修改属性。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
004043B0 |. 75 0E JNE SHORT st1.004043C0
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
为什么用DS:[]就可以,而CS:[]就不可以呢?
|
能力值:
( LV4,RANK:50 )
|
-
-
15 楼
[QUOTE=wufabiyu;742252]为什么用DS:[]就可以,而CS:[]就不可以呢?[/QUOTE]
这还得从IA32 Basic Architecture 说起,哎。。。。说来话长了,
找下面得资料看一下吧
Intel® 64 and IA-32 Architectures Software Developer's Manual
Volume 1: Basic Architecture
Intel® 64 and IA-32 Architectures Software Developer's Manual
Volume 2A: Instruction Set Reference, A-M
Intel® 64 and IA-32 Architectures Software Developer's Manual
Volume 2B: Instruction Set Reference, N-Z
Intel® 64 and IA-32 Architectures Software Developer's Manual
Volume 3A: System Programming Guide
Intel® 64 and IA-32 Architectures Software Developer's Manual
Volume 3B: System Programming Guide
链接 http://www.intel.com/products/processor/manuals/
|
能力值:
( LV3,RANK:20 )
|
-
-
16 楼
呵呵,代码段在执行期不可修改,你要保证你的EIP不在这个区段内才能改
|
能力值:
( LV3,RANK:20 )
|
-
-
17 楼
或者就做个类似OD的调试程序,把进程挂起再修改。
|
|
|