/*
//////////////////////////////////////////////////
DBPE 2.x OEP finder v0.2
Author: loveboom
Email : bmd2chen@tom.com
OS : Winxp sp1,OllyDbg 1.1,OllyScript v0.85(latest)
Date : 2004-6-14
Config: Ignore all Exceptions.
Note : If you have one or more question, email me please,thank you!
//////////////////////////////////////////////////
*/
var cbase
var csize
var addr
var addr1
gmi eip,CODEBASE
mov cbase,$RESULT
gmi eip,CODESIZE
mov csize,$RESULT
lblset:
msgyn "Setting:Ignore all exceptions,require:Ollydbg1.1,ollyscript v0.85(latest),Continue?"
cmp $RESULT,0
je end
start:
bprm cbase,csize
run
lbl1:
bpmc
lblfd:
find eip, #39BD????????76????????????89BD# //Found 'MOV DWORD PTR SS:[EBP+XXXX],EDI'
cmp $RESULT,0 //If not found go to abort
je lblabort
mov addr,$RESULT
add addr,D
fill addr,6,90 //Replace to 'NOP'
lblsel:
find eip,#39BD????????73????????????89BD# //Found 'MOV DWORD PTR SS:[EBP+XXXX],EDI'
cmp $RESULT,0
jne lbldb2x
find eip,#39BD????????73????????????????????????????????????????????????89BD#
cmp $RESULT,0
jne lbldb233
jmp lblabort //If not found then script abort
lbldb2x: //dbpe2.2 dbpe2.32
mov addr,$RESULT
add addr,D
fill addr,6,90 //Replace to 'NOP'
go addr
jmp lbljmpoep
lbldb233: //dbpe2.33
mov addr,$RESULT
add addr,1F
fill addr,6,90
go addr
lbljmpoep:
find eip,#890F# //Found 'MOV DWORD PTR DS:[EDI],ECX'
mov addr,$RESULT
mov [addr],#8907# //Replace to 'MOV DWORD PTR DS:[EDI],EAX'
find eip,#C20C00FFE0# //Found 'jmp eax'
mov addr,$RESULT
add addr,3
bprm addr,FF
run
lblsto:
bpmc
sto
lblask:
msgyn "FIX IAT(very slow)?"
cmp $RESULT,0
je lblend
lblfixapi:
cmt eip,"Scaning,Please wait!" //Fix IAT
find cbase,#FF25??????80#
cmp $RESULT,0
jne lbljmp
find cbase,#FF15??????80#
cmp $RESULT,0
jne lbljmp1
jmp lblend
lbljmp:
mov addr,$RESULT
repl addr,#FF25??????80#,#FF25??????00#,6
lblsub1:
find addr,#FF25??????80#
cmp $RESULT,0
je lblend
mov addr,$RESULT
repl addr,#FF25??????80#,#FF25??????00#,6
jmp lbljmp
lbljmp1:
mov addr,$RESULT
repl addr,#FF15??????80#,#FF15??????00#,6
lblsub2:
find addr,#FF15??????80#
cmp $RESULT,0
je lblend
mov addr,$RESULT
repl addr,#FF15??????80#,#FF15??????00#,6
jmp lbljmp1
lblend:
cmt eip,"OEP,Please dumped it,Enjoy!"
msg "Script by loveboom[DFCG],[FCG],Thank you for using my Scripts!"
jmp end
lblabort:
msg "Error!Script aborted,Maybe target is not protect by DBPE or you forgot Ignore all Exceptions."
end:
ret