首页
社区
课程
招聘
[原创]算法分析实战篇和应用篇之提高(一)我的常用断点系统
发表于: 2008-4-1 08:19 25630

[原创]算法分析实战篇和应用篇之提高(一)我的常用断点系统

2008-4-1 08:19
25630

【文章标题】: 算法分析实战篇和应用篇之提高(一)我的常用断点系统


【文章作者】: NBA2005


【作者邮箱】: [email]stockfox1699@126.com[/email]


【作者QQ号】: 382309369


【软件名称】: 小蜜蜂和check 求解没有任何提示的crackme算法


【下载地址】:

http://bbs.pediy.com/showthread.php?t=56420

  小蜜蜂


              

http://bbs.pediy.com/showthread.php?t=61079

  


                 求解没有任何提示的crackme算法


【使用工具】: OD


【作者声明】: 试图对算法分析实战中的破解难点进行尽可能全面的阐述,


              浅薄之处请诸位大侠海涵并赐教!


--------------------------------------------------------------------------------


【详细过程】


     算法分析实战篇和应用篇之提高(一)我的常用断点系统   


  


     首先,我要说明的是:这不是一篇破文,也不是教学。我只是试图对算法分析的破解


  理论进行尽可能全面的阐述。所谓提高只是相对于我的入门篇而言,高手请黑眼睛飘一边。


  汇编基础差的朋友,推荐看大菜一号的破文,对汇编的解释很详细,实在是业余破解者学


  汇编的好文啊。


  


     今日感冒涕流,只好看《神探狄仁杰III》消遣。第一集就让我看到了破绽:朝廷已经准


  确预测到了地震的方位和时间。既然老百性都接到了通知开始疏散,身为押运军垧的房


  将军肯定也接到了通知。如此恶劣的天气,仅需一天就能通过的大漠,又没有兵变和重


  大战事发生,房将军为何冒兵家大忌急于押送呢?更不用提遇险时正规部队的队形毫无


  章法、没有先锋和远哨。只好以一句剧情需要艺术处理来理解了。


  


     学破解就是要善于发现问题,这样才能学得快、学得精。学习破解最好的方法就是批判


  的接受,而不是照单全收。要批判地接受就必须自己先尝试破解,这样才能发现自己的


  不足和弱点,才能扎实地成长。我很欣赏riijj Crackme (1) 的详解里对楼主的注释说不的人:


  


{


  thebutterfly


  


  


  


  中级会员


  


  资 料:


  注册日期: Jul 2004


  帖子: 422


  精华: 5


  声望: 10   63  2005-04-25, 20:25     


  


  --------------------------------------------------------------------------------


  楼主提供的破文有一处地方有问题:


  假如a是一个32位的有符号整数,以下的四句(A,B句在破文中出现)


  mov  eax,a


  cdq            //A


  xor  eax,edx   //B


  mov  a,eax


  不是求a的绝对值


  如果是正数,最后结果还是这个数


  如果是负数,结果是这个数取反的结果,例如原来a是-5,执行后a是4


  不过这不影响破解的结果,感谢楼主提供CrackMe和破文!


  


}



    我在入门篇中对易语言的断点详细阐述。对此,朋友颇有微词。易语言是要扶持,


  我坚持批判地扶持的观点。对红旗UNIX同样如此。


  关注1:对红旗UNIX系统的破解讨论在看雪论坛上很难见到。遗憾啊。


  


     我在入门篇里罗列了一大堆常用的断点方法。但在实际破解中,我最常用的断点方


  法有四种:


  


  1.有提示的用字符串查找。


  2.有提示且字符串查找无效的用F12暂停法。这方法常常用于加密字符串的位置判断上。


  3.无提示的用消息断点法。


  4.无提示且用消息断点无效的用XP万能断点法。


  


  第一种方法最普通了。大家都会。


  


  第二种方法在看雪上很早就流行了。分为快捷版和老实版两个具体形式。对于老实版,


  我就推荐看雪上的文章:出现错误对话框的杀手锏--暂停--初学者适用 BY liyangsj。


  


  快捷版其实在入门篇中已经提过了。我在“第二题是找到硬件序列号。这是一个明码比较


  的题目。”中已经进行了叙述:F12暂停,然后CTRL+F9或ALT+F9,直到错误提示的确定


  之类的按钮有效,点它,继续回到OD CTAL+F9数次,回到主程序里出现提示的CALL下。


  这方法常常用于加密字符串的位置判断上,在汉化中应用很广泛。


  


  我就以Petnt大侠的以彼之道还施彼身的小蜜蜂为例子。


  步骤一:运行小蜜蜂-->填入用户名和假注册码-->确定-->出现错误提示框(或者正确提示框)。


  步骤二:运行OD-->附加小蜜蜂。


  步骤三:F12暂停-->CTRL+F9或ALT+F9,直到错误提示的确定之类的按钮有效,点它。


  步骤四:继续回到OD CTAL+F9数次,回到主程序里出现提示的CALL下。


  步骤五:向上追源到CALL所在函数段的段首(或重要跳转处),设断点。


  


  老实版的我就引用liyangsj的文章,写得很好:



{


  标 题: 出现错误对话框的杀手锏--暂停--初学者适用


  发帖人:liyangsj


  时 间: 2005-08-13 15:54


  原文链接:

http://bbs.pediy.com/showthread.php?threadid=16147


  


  引用精彩的一段:


  我们再来说一下CALL的调用,调用一个子程序的时候:1、向堆栈中压入下一行程序的


  地址;2.JMP到call的子程序地址处关键是1、在堆栈中压入了下一行程序的地址,其目的


  是为了调用子程序结束后返回用的,如果走到一个CALL的时候我们F7一次跟进后会停在


  所调用的子程序的开头第一个代码处,这时看堆栈的第一行压入了调用时的下一行地址。


  这个也是我们要利用的:我们只要在程序某段的开头第一行代码下断(下面也行,这样


  可以避免不必要的干扰)中断后在堆栈中的第一行“选反汇编中跟踪”就可以返回到上一层


  的调用这里的地方了,回到上一层后,如果发现关键段不是这段,再在此段的开头第一行


  下断,向上找。这样可以一层一层向上找,直到找到最初的调用的CALL,这里就是关键段了!


  当然暂停后用AIT+K也可以看的到(但觉得有时不能准确定位)。


  注释:AIT+K是调用堆栈。


  


}



  有更高要求的朋友可以看看《OD里SHIFT+F4条件断点用法篇》BY pjb:


  


{



  标 题: 【分享】致菜鸟: OD里SHIFT+F4条件断点用法篇


  发帖人:pjb


  时 间: 2005-08-24 20:25


  原文链接:

http://bbs.pediy.com/showthread.php?threadid=16494


  详细信息:


  


}


  


       WIN98时代的万能断点法bpx hmemcpy让人怀念。再难断的程序,只要能在WIN98下运行,就可以用万能断点法bpx hmemcpy来设断。我以前每当遇到难断的程序,就产生猜想:能不能在程序读取注册码或用户名的时候断下呢?那就是POINT H,XP下所谓的万能断点。虽然许多文章说它支持WIN2K系统,但我的实践证明对WIN2K的支持率很低。首先,介绍newsearch翻译的好文:


  



{



  标 题: POINT H收集翻译


  发帖人:newsearch


  时 间: 2005-02-05 01:44


  原文链接:

http://bbs.pediy.com/showthread.php?threadid=10833


  详细信息:


  


  引用:


    1.  什么是POINT H?


    它是在XP/2K机子上的老的已知的hmemcpy,搜索user32中:F3 A5 8B C8 83 E1 03 F3 A4 E8,


       就是POINT H。 或者搜索8B C1 C1 E9 02 F3 A5 8B C8 83 E1 03 F3 A4 E8。一旦找到,它返回位置地址,也就是说在内存拷贝之前。(实际的操作:F9,在内存中搜索上述字符串)


  


     该模式应该发生在USER32的第一个OX3FFFF。比如:


  


  77D46706 mov eax, ecx


  77D46708 shr ecx, 2


  77D4670B repe movsd ; <-- 在该指令上中断


  77D4670D mov ecx, eax


  77D4670F and ecx, 3


  77D46712 repe movsb


  77D46714 call sub_77D46722


     该段代码显示了内存是在哪里从gui-项被拷贝到提供给用户的缓冲器中。追踪一小段,出现SendMessage和Getwindow×××代码段。


  


  2、在OD或SICE中输入:


    BP “POINT-H的值”或在SICE中用BPX。它类似Win98中的hmemcpy,但工作在XP的80%的程序中(不用于VC++)。但我们可以用一些技巧使它用于所有的程序(也可用于VC++)。当   在程


      序编辑框中输入假的序列号时,程序中断。


  


  3、实际上,输入bpx user32!EcGetText+51可以做到"d edi-ebx"。


  


  4、还有寻找POINT H的另外一个方法:如果有USER32.DLL的符号文件(USER32.PDB或USER32.DBG),


       可以在IDA中打开USER32.DLL,适用PDB插件加载上面的符号,然后可以搜索函数ECGetText。它就是POINT H。该函数是USER32.DLL的内部函数,调用来自EditWndProc(也是一个内部函数)。它实际上是对键盘输入和鼠标按键的一个中断,但是和万能断点插件中POINT H的地方不一致。万能断点插件中的POINT H好像常常不能中断,只有VB5和VB6的能中断。请教大虾们指导一下。


  


     搜索方法:


    菜单:查看->执行模块->点USER32.DLL,在USER32模块窗口中:右键->搜索->二进制字符,在HEX里输入F3 A5 8B C8 83 E1 03 F3 A4 E8,就可以找到Point-H的位置了。我这XP+SP2 完全可以啊。


  


}



    我就以CRACK ME 论坛上"check 求解没有任何提示的crackme算法"来举例子:


   


  1.用OD运行"check 求解没有任何提示的crackme算法"里的Project1.exe,输入用户名和注册码.


  2.右键选查看->执行模块->点模块'USER32.DLL',来到USER32模块窗口中:右键->搜索->


     二进制字符(CTRL+B),


  3.将"F3 A5 8B C8 83 E1 03 F3 A4 E8"复制到二进制字符里的HEX项.


  4.开始搜索,我的机子是7738352D.记住:这个地址与你的XP系统是一一对应的,是一个恒定值.以


    后你记住就行了.


  5.在77D33528设断,然后再回到注册界面,点check,F9直到断下时寄存器里出现注册码:


     EAX 001487C0 ASCII "1234567879012"


     ECX 0000000D


     EDX 00140608


     EBX 0000000D


     ESP 0012F2D4


     EBP 0012F2E4


     ESI 001487C0 ASCII "1234567879012"


     EDI 00DC66A0


     EIP 77D33528 user32.77D33528


  


  6.在EAX 001487C0或ESI 001487C0上右击,选数据窗口中跟随.


  7.在下面内存中对注册码设访问内存断点,运行程序:


     001487C0  31 32 33 34 35 36 37 38 37 39 30 31 32 00 00 00  1234567879012...


  8.断下后,取消内存访问断点,然后F8单步,以后CTRL+F9返回,直到主程序领空或关键程序段..


  


    CTRL+F9八次,停在0043D170:


  0043D170  |.  8943 0>mov     dword ptr [ebx+C], eax


  0043D173  |>  8B03   mov     eax, dword ptr [ebx]


  0043D175  |.  83F8 0>cmp     eax, 0C    注册码位数必须是0C,证实了算法关键所在


  0043D178  |.  75 1B  jnz     short 0043D195


  此时,堆栈窗口显示:


  0012F5DC  |00DC66B4  ASCII "1234567879012"


  0012F5E0  |00000000


  0012F5E4  ]0012F624


  0012F5E8  |00438C93  返回到 Project1.00438C93 来自 Project1.00439EE8


  0012F5EC  |00DC66B4  ASCII "1234567879012"


  0012F5F0  |00438D2F  返回到 Project1.00438D2F 来自 Project1.00438C88


  0012F5F4  |0012F7A8


  0012F5F8  |0042DC88  Project1.0042DC88


  


  哈哈,直接到了算法关键的程序段。


  


  XP万能断点法同样适用于小蜜蜂。简略步骤:


  1.OD运行小蜜蜂,输入用户名和注册码。


  2.右键转到:77D33528(我机器上的POINT H),设断F2。


  3.回到注册界面,点确定。


  4.F9直到断下时寄存器里出现注册码:


  EAX 0014C5B0 ASCII "123456"


  ECX 00000006


  EDX 00140608


  EBX 00000006


  ESP 0012F4EC


  EBP 0012F4FC


  ESI 0014C5B0 ASCII "123456"


  EDI 00AB3E20


  EIP 77D33528 USER32.77D33528


  


  5.内存设访问断点:


  0014C5B0  31 32 33 34 35 36                                123456


  6.取消访问断点,F8或CTRL+F9返回主程序领空。


  


  我个人的理解:


  1.一定要先输入用户名和注册码,然后在XP万能断点上设断.次序千万不能错.不信你试试.


  2.在访问内存中注册码时断下后,一定要取消内存断点.如果你怕一次不成功,可以空格键禁


     用断点,以后需要时空格键激活.


  3.CTRL+F9返回,直到主程序领空或关键程序段。


  4.对某个单机而言,XP万能断点的值是恒定的。你只要找到一次,拷入记事本中,存为


     XP万能断点.TXT,放在桌面上,方便随时复制。


  5.如果记不住,又出门在外,可以在看雪的工具里下载找的工具。


    对程序理解深的记牢下面的程序代码,用OD修改出来也行。


     mov eax, ecx


     shr ecx, 2


     repe movsd ; <-- 在该指令上中断


     mov ecx, eax


     and ecx, 3


     repe movsb


     call sub_77D46722


  6.“bpx user32!EcGetText+51”的效率太低,不实用。


  7. XP万能断点不适用于WIN2K/NT。


  


    这里再链接一个详细的例子供朋友参照理解:


  


{



  标 题: 利用万能断点找出关键跳转


  作 者: moodsky


  时 间: 2006-12-17 15:35


  链 接:

http://bbs.pediy.com/showthread.php?threadid=36520


  详细信息:


  


}



  ............................


  我说过,要批判地接受。很多人都会用,但又有多少人对其机理穷追不舍?问题来


了:XP万能断点的具体机理是什么?CRACK ME作者怎样对抗?



{



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
最新回复 (27)
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
2
ctrl+e user32.dll
ctrl+s rep movsb
       call const
page up
2008-4-1 15:44
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
3
【翻译】WinXP 关于POINT-H万能断点 的教程      

--------------------------------------------------------------------------------
WinXP 关于POINT-H万能断点 的教程
【文章标题】: WinXP 关于POINT-H万能断点 的教程
【翻译链接】http://bbs.pediy.com/showthread.php?p=436025&posted=1#post436025
【文章译者】: NBA2005
【作者邮箱】: stockfox1699@126.com
【作者QQ号】: 382309369

创作《算法分析实战篇和应用篇之提高(一)我的常用断点系统 》,顺手对该文
进行了翻译,前后共三个小时。

原E文地址:
by Ricardo Narvaja

ca4K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4u0W2k6s2u0A6N6X3q4D9i4K6u0W2j5$3!0E0i4K6u0r3K9h3#2E0L8r3g2H3i4K6u0r3k6r3!0U0i4K6u0r3f1s2g2F1N6r3!0Q4y4h3k6t1i4K6g2X3k6h3&6Y4L8r3W2K6K9q4)9J5k6i4u0S2M7R3`.`.
2008-4-1 17:42
0
雪    币: 2256
活跃值: (941)
能力值: (RANK:2210 )
在线值:
发帖
回帖
粉丝
4
不错不错
学习了
2008-4-1 20:10
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
5
我说过,要批判地接受。很多人都会用,但又有多少人对其机理穷追不舍?问题来
了:XP万能断点的具体机理是什么?CRACK ME作者怎样对抗?

newsearch的POINT H收集翻译:
3、实际上,输入bpx user32!EcGetText+51可以做到"d edi-ebx"。

我试了下,并不好用,很麻烦。结合我最近详细看的几篇外文,试验总结了一套便捷的
神奇操作。相信会引发许多的CRACK ME 的作者对XP 万能断点的思考。具体如下:

1。关闭XP系统所有的前台程序。
2。打开OD,注意看一下窗口选项的“总在最前选项”,一定要使它没有打勾。
3。载入小蜜蜂,运行。小蜜蜂浮在OD前,输入用户名和注册码(9A9B7C6D5E),
    将9A9B7C6D5E复制后,点OD任意位置,回到OD界面。
4。右键查看-->选USER32模块-->再右键查找当前模块中的名称(标签)-->寻找Translatemessage。
5。右键Translatemessage-->选条件记录断点-->
6。在条件记录断点设置界面,填好下面的内容点确定:
  条件项中填:MSG==201;
  201这个值有时会失效,到不了XP万能断点。这时我就填入:MSG==202。
  表达式填:MSG,
  解码表达式的值为:通过表达式假定。
  暂停程序选:按条件。
  记录表达数值和记录函数参数:都选从不(NEVER)。条件满足次数没提,取默认值零。
7。ALT+TAB键切换到小蜜蜂注册界面,点注册。我的XP机器停在:
  77D18BF6 >  8BFF            mov     edi, edi                         ; krnln.100EDB40
  77D18BF8    55              push    ebp
  77D18BF9    8BEC            mov     ebp, esp

8。ALT+M,在出现的内存镜像中,CTAL+B,粘贴入注册码:9A9B7C6D5E,搜索:
0014C5B0  39 41 38 42 37 43 36 44 35 45 00 00 00           9A8B7C6D5E...

9。在上述内存中的注册码设内存访问断点。运行程序,断在:
77D3352D    F3:A5           rep     movs dword ptr es:[edi], dword p>
77D3352F    8BC8            mov     ecx, eax
77D33531    83E1 03         and     ecx, 3
77D33534    F3:A4           rep     movs byte ptr es:[edi], byte ptr>
77D33536    E8 E3FBFFFF     call    77D3311E

10。似真亦幻疑梦中,故国神游添情趣。真神奇啊!!!
2008-4-2 09:04
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
6
ctrl+e user32.dll?
是alt+user32.dll吧
2008-4-2 10:23
0
雪    币: 56063
活跃值: (21210)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
7
归纳整理的不错。
对于引用,建议nba2005用引用标签([ QUOTE ])括起来,这样文章结构清晰。
2008-4-2 10:29
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
8
恩,写错了7878787
2008-4-2 10:47
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
9
好意见,就当写C语言吧。

我从不相信权威。

看雪老大就说过:京城的美女都喜欢看雪。

我就不信。

我这里抛砖引玉,希望读者多多提出自己的独特见解,共同提高。

另:
这是一篇探讨性的文章,与入门篇的吸引新手兴趣的写作思想不同。所以
我没有加入类似“京城的美女都喜欢看雪”的笑料。
2008-4-2 11:00
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
10
[quote=nba2005;436075]好意见,就当写C语言吧。

我从不相信权威。

看雪老大就说过:京城的美女都喜欢看雪。

我就不信。

我这里抛砖引玉,希望读者多多提出自己的独特见解,共同提高。

另:
这是一篇探讨性的文章,与入门篇的吸引新手兴趣的写作思想不同。所以
我没有加入类似“京城的美女都喜欢看雪”...[/quote]

有几个人相信啊
2008-4-2 12:53
0
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
11
好文。京城的美女都喜欢看雪,南方的姑娘都喜欢赏雨。。。
2008-4-2 14:06
0
雪    币: 479
活跃值: (25)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
12
总结的很好,支持
2008-4-4 15:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
谢谢.再一次看到了提高遍.认真看了一遍.不太明白.不过收藏.留下以后慢慢体会.
2008-4-11 17:16
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
分析的不错,学习了
2008-6-5 22:19
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
15
附加另一具体的例子:

{

BennyBoy

初级会员

资 料:
注册日期: Mar 2008
帖子: 39
精华: 0
声望: 10   1  2008-06-07, 21:44  【求助】一个易语言cm(转pyg的)      

--------------------------------------------------------------------------------
我只能用硬件断点断下来,
其实实际上应该怎么断?

上传的附件 CM0001[1].rar (2008-06-07 21:42, 513.5 KB, 26 次下载)

http://bbs.pediy.com/showthread.php?t=66207

}

我的答复:

简单看了下,很好断。我的算法分析入门篇里有动态查找字符串的叙述。

0040DD0A    6A 00           push    0
0040DD0C    E8 0E000000     call    0040DD1F     ; (initial cpu selection)
0040DD11    E8 03000000     call    0040DD19

0040DD0C     call    0040DD1F   入口处动态查找字符串:

Ultra String Reference
Address    Disassembly                               Text String
0040DAC9   mov     eax, 0040C0D4                     注册码不对哦.?再努力下,!#注册成功了.,厉害,,#注册码不对哦.?再努力下,!#注册码不对哦.?再努力下,!#注册码不对哦.?再努力下,!#注册码不对哦.?再努力下,!#注册码不对哦.?再努力下,!#注册码不对哦.?再努力下,!#注册码不对哦.?再努力下,!#注册码不对哦.?再努力下,!#注册码不 ...
0040DAE3   mov     eax, 0040C78C                     这么长,眼花了没?  这句在程序中没用得,by:mery
0040DB0A   push    0040C7B9                          #

断法一(易语言最常用的动态字符串查找):

方法1:

0040C0CF  00 00 00 00 40 D7 A2 B2 E1 C2 EB B2 BB B6 D4 C5  ....@注册码不对
0040C0DF  B6 2E 3F D4 D9 C5 AC C1 A6 CF C2 2C 21 23 D7 A2  ??再努力下,!#注
0040C0EF  B2 E1 B3 C9 B9 A6 C1 CB 2E 2C C0 F7 BA A6 2C 2C  册成功了.,厉害,,

有时有注册错误的提示,有时没有任何提示。据此判断作者对用户名和注册码
有限制条件的判断,比如最常见的位数判断。我故意输入:
用户名:N
注册码:1

0040C0CF  00 00 00 00处设内存访问断点(猜是无提示的地方,如果无效
我会尝试字符串最后的....),最后来到:

1002977A    55              push    ebp

逆向追踪到:
0040DC3F    E8 ED000000     call    0040DD31

设断0040DC3F和1002977A,

1002977A    55              push    ebp          ;点注册断在此处

根据堆栈信息追到:

0040D26F    E8 BD0A0000     call    0040DD31                        

发现这就是关键算法段。

方法2:
用户名:NBA2005
注册码:1234567890

0040C0D4  D7 A2 B2 E1 C2 EB B2 BB B6 D4 C5 B6 2E 3F D4 D9  注册码不对哦.?再设

内存断点0040C0D4,来到:

0040DA1C    DD5D C4         fstp    qword ptr [ebp-3C]

逆向追踪到:

0040D5A9    E8 5E000000     call    0040D60C                  ;关键算法段之中

断法二:
用XP万能断点法,根据堆栈信息研读判断,直接跟踪来到:

0040D1CF    83C4 10         add     esp, 10                          ; (initial cpu selection)

序列号:5054A257      ;每台机器应该不一样。
用户名:NBA2005
注册码:82B66E9A6CED53CA5070507058D1
上传的附件:
2008-6-18 09:23
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
留个记号下次接着看完。。
2008-6-19 22:18
0
雪    币: 210
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
好文章一定要支持,很久没有来了。
2008-6-21 15:06
0
雪    币: 177
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
后面的方法不错
呵呵
2008-6-21 20:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
很不错,正好可以好好学习
2008-6-22 16:08
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
很不错,正好可以好好学习
2008-10-15 17:17
0
雪    币: 179
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
强帖留名呵呵
2008-11-27 05:33
0
雪    币: 421
活跃值: (83)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
22
到今天才看到这个 Point H 大法
慢慢的开始有点体会了,拿了以前的几个CM试了下,此方法屡试不爽
2009-4-29 15:41
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
23
原来nba2005一直在整理东西
2009-4-29 15:54
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
24
被你发现了!.........
2009-4-29 17:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
不错,学习了
2009-5-2 14:35
0
游客
登录 | 注册 方可回帖
返回