能力值:
( LV2,RANK:10 )
|
-
-
2 楼
就把那个线程结束掉
调的什么函数? closeHandle?
|
能力值:
( LV12,RANK:340 )
|
-
-
3 楼
lz能不能整理下措词,线程跟进程是不一样的.
一会创建的线程,一会又是进程.另外OD只能附加进程的好吧.
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
说的不通顺是因为我也不知道它到底干了什么,我能确定的是最后出现的是一个新的进程,但是我之所以说创建线程是因为在原代码中看到的是GetCurrentThreadId,还有一个是PostThreadMessageA,而VB(程序是VB的)中的跟创建进程相关的API都没有看到所以上面才说的有点乱,但是最后出现的是一个进程,因为能在进程管理器中查看到,原进程时CrackMe.exe,新进程是Crack Me,也确实是可以用od附加的
|
能力值:
( LV12,RANK:340 )
|
-
-
5 楼
主线程创建辅助线程然后辅助线程创建新进程?
你中断在新线程那里就行了.
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
不是的、我直接从它的GUI窗口上点退出的,当然里面的退出调用的API是 ntdll.RtlExitUserThread,我也试过跟到这一步,这样新进程就会退出,弹出的rtcMsgBox也就退出了。并且如果将程序载入od后取消所有断点然后F9,原进程会直接运行到退出,并不等待任何由它创建的这个新进程给出任何的反馈信息就直接终止了这个原进程的。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
请问是什么意思呢?它用于创建的是一个系统函数,这个函数跟进去看不到任何东西:
[code]
733936EB FF75 0C PUSH DWORD PTR SS:[EBP+C]
733936EE 8BCB MOV ECX,EBX
733936F0 C645 FF 01 MOV BYTE PTR SS:[EBP-1],1
733936F4 57 PUSH EDI
733936F5 E8 9B010000 CALL MSVBVM60.73393895 ; 创建线程
733936FA 85C0 TEST EAX,EAX
733936FC 8945 08 MOV DWORD PTR SS:[EBP+8],EAX
733936FF 0F8C 5BB40100 JL MSVBVM60.733AEB60
73393705 807E 01 00 CMP BYTE PTR DS:[ESI+1],0
73393709 0F85 95B40100 JNZ MSVBVM60.733AEBA4
[code]
就是上面的那个call,如果在call的下一行下断,再看任务管理器,就会出现新进程和原进程同时存在,而且两个进程的线程数都是1,好像没有创建辅助线程一样。而再用od附加那个新的进程就会直接停在这个位置:
[code]
7C92120F C3 RETN
7C970010 /EB 11 JMP SHORT ntdll.7C970023
7C970012 |90 NOP
7C970013 |90 NOP
7C970014 |90 NOP
7C970015 |90 NOP
7C970016 |90 NOP
7C970017 |33C0 XOR EAX,EAX
7C970019 |40 INC EAX
7C97001A |C3 RETN
7C97001B |90 NOP
7C97001C |90 NOP
7C97001D |90 NOP
7C97001E |90 NOP
7C97001F |90 NOP
7C970020 |8B65 E8 MOV ESP,DWORD PTR SS:[EBP-18]
7C970023 \834D FC FF OR DWORD PTR SS:[EBP-4],FFFFFFFF
7C970027 6A 00 PUSH 0
7C970029 E8 6D140100 CALL ntdll.RtlExitUserThread
[code]
第一次暂停就停在retn,单步就走到了这个jmp的位置,中间没有任何的call和其他的调用,请问我应该怎么中断在新线程中呢?
|
能力值:
( LV12,RANK:340 )
|
-
-
8 楼
[QUOTE=debaucher;1327392]请问是什么意思呢?它用于创建的是一个系统函数,这个函数跟进去看不到任何东西:
[code]
733936EB FF75 0C PUSH DWORD PTR SS:[EBP+C]
733936EE 8BCB MOV ECX,EBX
733936F0 ...[/QUOTE]
VB6生成的标准EXE是不支持多线程的.要实现多线程就只有CreateThread.但是不稳定.
你下个断点试试.
|
|
|