能力值:
( LV9,RANK:3410 )
2 楼
能力值:
(RANK:1060 )
3 楼
从哪里捡来了……
能力值:
( LV9,RANK:3410 )
4 楼
能力值:
( LV9,RANK:170 )
5 楼
最初由 fly 发布 linson的eXcalibur V1.03脱壳――eXcalibur.exe 主程序 ―――――――――――――――――――――――― 五、走至OEP、DUMP、完成脱壳 下断:BP VirtualFree 断下后取消断点,Alt+F9返回 0040B001 FF15 16B44000 call dword ptr ds:[<&KERNEL32.VirtualFree>] 0040B007 9C pushfd//返回这里
我返回后怎么到其他地方了,要搜索的二进制数也没找到?
能力值:
(RANK:1060 )
6 楼
8成下的不是时候:)
能力值:
( LV9,RANK:170 )
7 楼
我返回后来到这里:
0500D08C 68 00800000 PUSH 8000
0500D091 6A 00 PUSH 0
0500D093 FF36 PUSH DWORD PTR DS:[ESI]
0500D095 FFD7 CALL EDI
0500D097 FF76 04 PUSH DWORD PTR DS:[ESI+4]
0500D09A 6A 00 PUSH 0
能力值:
( LV9,RANK:170 )
8 楼
居然还会遇到什么LOCK什么的指令,说和处理器冲突,我干脆NOP掉他,然后强行Dump,然后把fly脱出来的程序的输入表粘上,再修正OEP,居然也运行了~~~~~~~~~~~~~~~~~~
最可恶的是,ImportREC居然会连fly脱出来的文件的输入表都追错,kernel32那块的全部认不出来
能力值:
( LV9,RANK:3410 )
9 楼
最初由 草原猎豹 发布 居然还会遇到什么LOCK什么的指令,说和处理器冲突,我干脆NOP掉他,然后强行Dump,然后把fly脱出来的程序的输入表粘上,再修正OEP,居然也运行了~~~~~~~~~~~~~~~~~~ 最可恶的是,ImportREC居然会连fly脱出来的文件的输入表都追错,kernel32那块的全部认不出来 可能你下断BP VirtualFree的时机不妥
处理完IAT后在003B09C4处中断后再下断
ImportREC修复输入表时手动填入
OEP=00003A21,RVA=00001408,大小=000000C8 BTW:发现Ollydbg最新的1.10C版在调试中某些时候使用右键菜单会出错
能力值:
( LV9,RANK:170 )
10 楼
最初由 fly 发布 可能你下断BP VirtualFree的时机不妥 处理完IAT后在003B09C4处中断后再下断 ImportREC修复输入表时手动填入OEP=00003A21,RVA=00001408,大小=000000C8 BTW:发现Ollydbg最新的1.10C版在调试中某些时候使用右键菜单会出错
1、olly1.10c确有此BUG,害我抓狂
2、我跟踪的地址不一样,但代码一样
3、003B09C4处对应我的地址,断不下,遇到异常说指令和硬件冲突???????
能力值:
( LV9,RANK:3410 )
11 楼
最初由 草原猎豹 发布 1、olly1.10c确有此BUG,害我抓狂 2、我跟踪的地址不一样,但代码一样 3、003B09C4处对应我的地址,断不下,遇到异常说指令和硬件冲突??????? 用修改版的OD,增加忽略C000001E异常看看
0040B001 FF15 16B44000 call dword ptr ds:[<&KERNEL32.VirtualFree>]
0040B007 9C pushfd//返回这里
应该是返回这个地址的
能力值:
( LV9,RANK:970 )
12 楼
CPU 窗口里的地址不在 PE SECTION 范围内,
如动态申请的内存时, 不能用右键.
能力值:
( LV9,RANK:3410 )
13 楼
最初由 simonzh2000 发布 CPU 窗口里的地址不在 PE SECTION 范围内, 如动态申请的内存时, 不能用右键. Ollydbg 1.10B 应该没有这个问题
能力值:
( LV4,RANK:50 )
14 楼
一、EnableWindow 反跟踪
代码:--------------------------------------------------------------------------------
003B0233 56 push esi
003B0234 FFD7 call edi
003B0236 8985 94394000 mov dword ptr ss:[ebp+403994],eax; USER32.EnableWindow
003B023C 6A 00 push 0//改为:push 1 ★
003B023E FFB5 A4394000 push dword ptr ss:[ebp+4039A4]
003B0244 FFD0 call eax ; USER32.EnableWindow
003B0246 E8 0A000000 call 003B0255
--------------------------------------------------------------------------------
EnableWindow这函数为何会成为反跟踪,不解?有请fly道明。。。
我这里也是XP和OD1.1b,按你的步骤一一顺序照做,到了这里出问题(出问题的地方强行Dump还是可以的):
花指令晃眼。Ctrl+B 在当前位置下搜索16进制值:9D EB 找到在0040B030处
代码:--------------------------------------------------------------------------------
0040B02D 83C4 04 add esp,4
0040B030 9D popfd//下断,F9断下 [这个偶也能到达,接着就单步F7往下走。]
0040B031 EB 01 jmp short eXcalibu.0040B034
0040B034 33C0 xor eax,eax
0040B036 64:8F00 pop dword ptr fs:[eax]
0040B039 83C4 0C add esp,0C
0040B03C E8 01000000 call eXcalibu.0040B042
0040B042 58 pop eax
0040B043 9D popfd
0040B044 61 popad
0040B045 E8 15000000 call eXcalibu.0040B05F [到这就出问题了,光标停在这行指令,OD说无法调试,当然下面的就无法进行下去了!]
0040B057 68 203A4000 push eXcalibu.00403A20
0040B05C EB 01 jmp short eXcalibu.0040B05F
--------------------------------------------------------------------------------
在0040B062处中断几次就走到OEP啦 [奇怪:fly请问你没有在0040B062处下断,为何来个“中断几次就走到OEP”?上面偶已经不能动了,在此处下断也没用]
代码:--------------------------------------------------------------------------------
0040B05F 58 pop eax
0040B060 40 inc eax
0040B061 50 push eax ; eXcalibu.00403A21
0040B062 C3 retn
//返回00403A21 飞向光明之巅!:-)
--------------------------------------------------------------------------------
能力值:
( LV9,RANK:3410 )
15 楼
linson 跑哪去了?来解释一下你的 EnableWindow 反跟踪 :D
0040B045 E8 15000000 call eXcalibu.0040B05F [到这就出问题了,光标停在这行指令,OD说无法调试,当然下面的就无法进行下去了!]
都是linson惹的祸,呵呵。应该是可以的,F7走进去
在0040B062处中断几次就走到OEP啦 [奇怪:fly请问你没有在0040B062处下断,为何来个“中断几次就走到OEP”?上面偶已经不能动了,在此处下断也没用]
F7走到底循环几次就从0040B062处返回OEP了
能力值:
( LV4,RANK:50 )
16 楼
最初由 fly 发布 F7走到底循环几次就从0040B062处返回OEP了
0040B045 E8 15000000 call eXcalibu.0040B05F [到这就出问题了,光标停在这行指令,OD说无法调试,当然下面的就无法进行下去了!]
F7步进去程序就终止了.
另外,运行eXcalibur.exe 主程序经常死机...不能叫死机吧,死一个窗..呵呵,不知道这个什么问题?
能力值:
(RANK:1060 )
17 楼
最初由 shaitan 发布 另外,运行eXcalibur.exe 主程序经常死机...不能叫死机吧,死一个窗..呵呵,不知道这个什么问题?
大概播放midi有问题
能力值:
( LV4,RANK:50 )
18 楼
最初由 forgot 发布 大概播放midi有问题
脱壳的程序不会有这种情况!
能力值:
( LV2,RANK:10 )
19 楼
:D 好厉害啊,学习的日子长着呢,知其然不知其所以然啊。
试了一下还真行。
能力值:
( LV9,RANK:170 )
20 楼
根据fly的脱文写的脚本,仅对主程序试用成功
msg "忽略所有异常,取消所有断点"
msg "code by skylly"
dbh
bpmc
var stop1
var stop2
var stop3
var stop4
var stop5
var stop6
gpa "GetForegroundWindow", "user32.dll"
bp $RESULT
run
bc $RESULT
rtu
mov stop1,eip
add stop1,21
mov [stop1],#6A01# //窗口前置
gpa "VirtualAlloc", "kernel32.dll"
bp $RESULT
run
bc $RESULT
rtu
mov stop2,eip
add stop2,16
go stop2
mov !ZF,1//保住stolen call
mov stop3,eip
add stop3,E4
go stop3
mov [eip],#9090# //消灭反跟踪
mov stop4,eip
add stop4,5D9
mov stop5,eip
add stop5,591
bp stop5
run
bc stop5
mov [eip],#6189078385E439400004#//保住函数地址
bp stop4
run
bc stop4
gpa "VirtualFree", "kernel32.dll"
bp $RESULT
run
bc $RESULT
rtu
mov stop6,eip
add stop6,29
bp stop6
run
bc stop6
sto
sto
sto
sto
sto
sti
sto
sto
sto
sti
sto
sto
sto
sto
sti
sto
sto
sto
sto
sti
sto
sto
sto
sto
sto
sto
sto
sto
sto
sto
cmt eip,"oep,full dump!"
ret
能力值:
( LV2,RANK:10 )
21 楼
FLY的那个写代码的程序是那里来的.能不能发布一下,就是那个出现了传说中的分割线的问题
能力值:
(RANK:350 )
22 楼
最初由 LucIfer 发布
在你的代码中用论坛标签:
[CODE] …… [/CODE]
另:如与主题无十分有必要的问题,请勿翻老帖。