能力值:
( LV2,RANK:10 )
26 楼
非学生,半组织,有兴趣,也有别的啥的
能力值:
( LV2,RANK:10 )
27 楼
是啊。老外,我记得那时候iphone破解app store和破解彩信补丁的时候,也是和老外竞赛啊。
老外真是吃多了没事做,买了个ida最新版,直接动态远程调试,我们只能眼巴巴的看着静态分析
能力值:
( LV13,RANK:970 )
28 楼
你总体思路是没错的,不过你总想着把保护完全干掉然后再流畅在线分析,这一点是不好的,你要学会分析的时候抛弃他们,把自己不爽或者影响自己的东西尽量干掉,那样就快了。另外你还要给机器加上AI么?能上个AI,哪怕仅支持一个种族和几个怪物也比较爽。
能力值:
( LV12,RANK:760 )
29 楼
已经习惯于用syser调戏暴雪产品的路过~
能力值:
( LV2,RANK:10 )
30 楼
AI不是早有了嘛
你想爽一下可以上网去下
能力值:
( LV9,RANK:170 )
31 楼
DETACHED_PROCESS这个标志干嘛的, 以前没见过。
能力值:
( LV2,RANK:10 )
32 楼
AI这里不谈,人家谈论的是这种神奇的保护方式,若哪位大侠知道,快来研究下,如果以后大家都用这种方式加密,那你们的OD是不是都没用啦?
能力值:
( LV2,RANK:10 )
33 楼
只有膜拜的份。。。。。
能力值:
( LV2,RANK:10 )
34 楼
DETACHED_PROCESS
For console processes, the new process does not have access to the console of the parent process. The new process can call the AllocConsole function at a later time to create a new console. This flag cannot be used with the CREATE_NEW_CONSOLE flag.
是说有了这个标识以后,就可以在新进程中用AllocConsole API创建一个新的控制台,否则新进程的控制台继承的是父进程的控制台。
能力值:
( LV2,RANK:10 )
35 楼
刚才写了个程序
A CreateProcess 生成cmd.exe用如下方式
CreateProcess(NULL,"cmd.exe",NULL,NULL,FALSE,DETACHED_PROCESS|CREATE_SUSPENDED,NULL,NULL,&si,&pi))
为什么OD 不能附加到B进程上?
能力值:
( LV9,RANK:170 )
36 楼
suspended以后resume了没?
能力值:
( LV2,RANK:10 )
37 楼
35楼:
不能附加B是对的,因为他CREATE_SUSPENDED并且DETACHED_PROCESS了。
关键是。为啥不能附加A呢。。。。A已经是启动的了。B并且是CREATE_SUSPENDED的了所以不可能对A进行修改。
那么A是如何在运行中,吧自己给DETACHED_PROCESS呢?不让程序附加A????
以及,如果我在这个线程里,直接ExitThread(0); 是何种API?或者什么代码,可以检测这个线程是否存在?那么我下断nop掉也可以,求高人啊……
能力值:
( LV2,RANK:10 )
38 楼
感谢29楼。syser和softice一样是ring0的吧。。。
能力值:
( LV12,RANK:200 )
39 楼
00401DA2 |. FF15 3C3>call dword ptr [<&KERNEL32.CreateProc>; \关键CALL
能力值:
( LV12,RANK:200 )
40 楼
00401D7E |. 52 push edx ; /pProcessInfo
00401D7F |. 8D45 A8 lea eax, dword ptr [ebp-58] ; |
00401D82 |. 50 push eax ; |pStartupInfo
00401D83 |. 8D8D 98F>lea ecx, dword ptr [ebp-468] ; |
00401D89 |. 51 push ecx ; |CurrentDir
00401D8A |. 6A 00 push 0 ; |pEnvironment = NULL
00401D8C |. 6A 00 push 0 ; |CreationFlags = 0
00401D8E |. 6A 00 push 0 ; |InheritHandles = FALSE
00401D90 |. 6A 00 push 0 ; |pThreadSecurity = NULL
00401D92 |. 6A 00 push 0 ; |pProcessSecurity = NULL
00401D94 |. 8D95 98D>lea edx, dword ptr [ebp-2468] ; |
00401D9A |. 52 push edx ; |CommandLine
00401D9B |. 8D85 A0F>lea eax, dword ptr [ebp-260] ; |
00401DA1 |. 50 push eax ; |ModuleFileName
00401DA2 |. FF15 3C3>call dword ptr [<&KERNEL32.CreateProc>; \关键CALL
能力值:
( LV2,RANK:10 )
41 楼
回36楼,星际2里的B程序,就是一个很普通不能再普通的控制台程序了,什么都没干,启动完了就关闭了。所以A启动了他并且DETACHED_PROCESS他纯属没事干。是虚晃一枪
如果resume了,或者直接不启动他Hook CreateProcessW 那么A就会检测B是否还在,不在就吧自己给关闭了。
所以直接ExitThread(0);倒可以通过保护,让OD附加。郁闷就郁闷在,一联网,又自动关闭了。所以这断点不好下啊。
能力值:
( LV5,RANK:60 )
42 楼
不知道LifeODBG v1.4这个双进程调试工具有没有帮助。
上传的附件:
能力值:
( LV2,RANK:10 )
43 楼
回40楼的:
没用,吧这个call给nop了,的确可以附加了。但是附加完了以后,一旦联网,程序又自动关了,他有判断被创建的线程是否存在
能力值:
( LV2,RANK:10 )
44 楼
回42楼:会出现无法定位Lifeodbg.dll
能力值:
( LV2,RANK:10 )
45 楼
去看看魔兽世界相关文章 很可能有有用资料
能力值:
( LV2,RANK:10 )
46 楼
我直接修改SC2主程序的内存 有时候SC2会自动终止
但BUG来了 SC2副程序未能自动终止
用此方法修改SC2副程序 看看有没有意想不到的效果? 非常可能
能力值:
( LV2,RANK:10 )
47 楼
不会,他并未对副程序进行保护,那个程序是个notepad都没问题,可以跑起来
能力值:
( LV2,RANK:10 )
48 楼
英文站里有个破解星际2的wiki,貌似有些技术信息(Technical Information)各位英文好的可以看看,不知道是否有帮助? http://darkblizz.org/wiki/doku.php
能力值:
( LV2,RANK:10 )
49 楼
昨天花了1个小时写了一个星际2的修改器。。。回头一搜,游侠网上都没有,哈哈
能力值:
( LV2,RANK:10 )
50 楼
感觉是暴雪惯用的手段,13年前无聊玩暗黑1的时候想用gametools改钱,发现怎么改了都没用,后来ice调试了下才发现,原来也是一处监督另外一处,改了能找到的地方是没用的,另外一处的监视的判断也要改掉,虽然当时的手段比较低级,但是大概思路是一样的。