MOV EAX, 1234h
MOV WORD PTR[EBP+ADDR], AX
,但它并不总是
EAX
或EBP+ADDR
我怎么像这样通配搜索
MOV ???, 1234h
MOV WORD PTR[???+ADDR], ??
我试过了
MOV ANY, 1234h
MOV WORD PTR[ANY+ADDR], ANY
MOV ?, 1234h
MOV WORD PTR[ANY+ADDR], ?
MOV r32, 1234h
MOV WORD PTR[r32+ADDR], r16
这些模式都不能在Ollydebugger中编译吗? (我想避免使用脚本来完成这样一个简单的任务。
下面的代码可以编译和运行,
与
MOV r32, 0x1234
#1 楼
ollydbg 1.10
右键单击Search For All Sequences wildcard
MOV R32,CONST calc.exe xp sp3 32位vm的结果
Found sequences
Address Disassembly Comment
01001004 <&ADVAPI32.RegQu DD ADVAPI32.RegQueryValueExA (Initial CPU selection)
010019E5 MOV EDI, OFFSET calc.ghnoParNum 01014C08=OFFSET calc.ghnoParNum
010019EF MOV EDI, OFFSET calc.ghnoPrecNum 01014C70=OFFSET calc.ghnoPrecNum
01001A6B MOV EBX, calc.010012A0 UNICODE "intl"
01001D51 MOV ESI, 130
01001DDF MOV EAX, OFFSET calc.szBlank 01014DA4=OFFSET calc.szBlank
01001DE6 MOV EAX, calc.01001264 UNICODE " M"
01001F51 calc.WinMain MOV EAX, calc.010128EE 10128EE=calc.010128EE
01001FED MOV ESI, 400
010020A2 MOV EAX, calc.010020A8 010020A8=calc.010020A8
010020D5 MOV EAX, 80000000
0100210A MOV EDI, OFFSET calc.szAppName UNICODE "SciCalc"
组合通配符
MOV WORD PTR [R32 + CONST],R16
Found sequences
Address Disassembly Comment
01001F6E MOV WORD PTR SS:[EBP-FC], BX
01002234 MOV WORD PTR DS:[EAX+EDX*2+14], DI
0100230D MOV WORD PTR DS:[ESI+EAX*2+14], DI
0100231C MOV WORD PTR DS:[ESI+EAX*2+A4], DI
01002358 MOV WORD PTR SS:[EBP+EDI*2-108], AX
01002376 MOV WORD PTR SS:[EBP+EDI*2-108], AX
01002470 MOV WORD PTR DS:[ECX+EAX*2+C], BX
010024AF MOV WORD PTR DS:[ECX+ESI*2+C], BX
0100251D MOV WORD PTR DS:[EAX+ECX*2+14], DX
010025AA MOV WORD PTR DS:[ECX+EAX*2+14], DX
0100404D MOV WORD PTR SS:[EBP+EAX*2-74], BX
010056E0 MOV WORD PTR SS:[EBP+8], AX
010056F4 MOV WORD PTR SS:[EBP+A], BX
01012475 calc PUSH 70 (Initial CPU selection)
编辑以评论注释
dont need the WORD ptr
只是在做[R32 + CONST],R16 将获取相同的结果
如果提供
implicitly knows R!6 means word ptr
,则代替r16 ollydbg
r32
ollydbg将其解码为DWORD PTR
Found sequences, item 1
Address=010017E7
Disassembly=MOV DWORD PTR SS:[EBP-2C], ESI
提供
mov [CONST} , R8
并返回all BYTE PTR
序列Found sequences, item 1
Address=0100AC75
Disassembly=MOV BYTE PTR DS:[ftrueinfinite], BL
#2 楼
没关系,这是行不通的..它必须在两个区域都找到常量才能找到WORD PTR ..事实并非如此。我以不同的方式解决了它并不需要命令序列,
所有常量的工作原理几乎相同(尽管看起来更多,而且已全部排序,所以如果我要查找的话,我会在下面看到
WORD PTR
。 >
评论
那么我如何结合它们呢?我不知道WORD PTR的CONST是局部变量,我认为,OH CONST是任何值的关键字,请不要在所有序列搜索中同时注意两行。我明白了,非常感谢
– SSpoke
14年5月19日在19:43
您只需执行mov [R32 + CONST]就不需要WORD ptr,R16将获取相同的结果ollydbg隐式知道R!6表示单词ptr而不是R16(如果您提供r32)ollydbg会将其解码为DWORD PTR找到的序列,项目0地址= 010017E7反汇编= MOV DWORD PTR SS:[EBP-2C],ESI
– blabb
2014年5月19日19:59