首页
社区
课程
招聘
[原创]膜拜!再次膜拜!SCG移动通信yy不完全版破文
发表于: 2007-10-3 17:24 7163

[原创]膜拜!再次膜拜!SCG移动通信yy不完全版破文

2007-10-3 17:24
7163
我无语了,陷阱太多了,把我得出的结论分享一下.....

希望今天晚上能完全破解掉........555555555555555555555555

===================================
好久没破解了,趁着最近十一,赶快破一个:)

这个CrackMe很有意思,用了很多防护手段,下面我来一一解剖:)

首先用od加载好,F9试一下,应该卡在

7C92122B    90              NOP
7C92122C    90              NOP
7C92122D    90              NOP
7C92122E    90              NOP
7C92122F    90              NOP
7C921230 >  CC              INT3   ------卡点
7C921231    C3              RETN
7C921232    8BFF            MOV EDI,EDI

这个点上

恩,好,咱们来看看堆栈

0013FB30   004765D5  返回到 SCG移动?004765D5 来自 SCG移动?00474900

从这里知道是由474900引发了一个异常,在4765D5处理到这里来的,那么在474900那块断吧:)

重新开始,F9,应该断在这

00474900      A1 A0D34900   MOV EAX,DWORD PTR DS:[49D3A0]
00474905   .  0BC0          OR EAX,EAX
00474907   .  74 02         JE SHORT SCG移动?0047490B
00474909   .  FFE0          JMP EAX
0047490B   >  68 E8484700   PUSH SCG移动?004748E8                      ;  dfg
00474910   .  B8 A0144000   MOV EAX,<JMP.&MSVBVM60.DllFunctionCall>
00474915   .  FFD0          CALL EAX

单步跟,到CALL EAX的时候F7进来,发现到MSVBVM60.DLL,我们的目标不是这个,于是《调试》--》 《执行到用户代码》

呵呵,发现什么没有?

00474917    - FFE0          JMP EAX                                  ;  kernel32.DebugBreak

阴险吧……

看到这步,你的第一反应是什么?NOP?哈哈,那你可就上钩了,你看看下面是什么句子

004748D5      00            DB 00
004748D6      00            DB 00
004748D7      00            DB 00
004748D8      0B            DB 0B
004748D9      00            DB 00
004748DA      00            DB 00
004748DB      00            DB 00

所以,找到这段的入口点,00474900有个“本地调用来自 004765DO”
知道要干什么吗?HIHI~

CTRL+G,4765D0,找到那个要命的CALL没?这回给他做了NOP掉:)

保存一下

重新加载新的文件,再F9运行

怎么不动了呢?暂停一下,发现猫腻!

00488B68   .  FF15 1C104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeV>;  MSVBVM60.__vbaFreeVarList
00488B6E   .  81C4 F0000000 ADD ESP,0F0
00488B74   .  66:3BF3       CMP SI,BX
00488B77   .  74 02         JE SHORT SCG移动?00488B7B
00488B79   >- EB FE         JMP SHORT SCG移动?00488B79    ---------------
00488B7B   >  895D FC       MOV DWORD PTR SS:[EBP-4],EBX
00488B7E   .  9B            WAIT

看到488b79没?他在干吗?自己调用自己?能不死循环吗?!我们来帮助他一下(偷笑),不用说步骤了吧

再保存,加载。自效验就完全地被干掉了

============================================

自效验被干过了,下一步该怎么办呢?

来上手C32ASM,字符串查找,怎么也找不到……

大家自己随便跟踪一下,就会发现频繁地使用MSVBVM60.rtcVarBstrFromAnsi

这是什么意思?
如果你看过"VB函数与API"这本宝典的话(看雪FTP上就有,顺便说一句:我刚要整理出来的VB资料全集就被这厮给毁了555)

※※※※※※※※※※※※※※※※※
VB:

Private Sub Command1_Click()
A = Chr(75) ;(如75改为变量,汇编相同)
MsgBox (A)
End Sub

ASM:

00401A37 . push 4B    ;4BH=75D

00401A39 . push eax    ;Empty(eax)=>A
00401A49 . call dword ptr ds:[<&MSVBVM60.rtcVarBstrFromAnsi>];String(eax)->A

※※※※※※※※※※※※※※※※※

看看!知道我要干什么了吧……××邪恶地笑着
打开vb,ASC("成"),得出结果-19511
再打开CALC,注意!!!直接把19511转成16进制,得4C37
用OD中CTRL+F查找 PUSH -4C37
^_^,怎么样

00485678   .  68 C9B3FFFF   PUSH FFFFB3C9
0048567D   .  51            PUSH ECX
0048567E   .  FFD6          CALL ESI
00485680   .  8D95 E4F2FFFF LEA EDX,DWORD PTR SS:[EBP-D1C]
00485686   .  68 A6B9FFFF   PUSH FFFFB9A6
0048568B   .  52            PUSH EDX
0048568C   .  FFD6          CALL ESI

……………………………………

向上找啊找

……(这段是我对的资料)

00485184   .  DD9D ECEFFFFF FSTP QWORD PTR SS:[EBP-1014]             ;  [ebp-1014] <- st(0);然后再执行一次出栈操作
0048518A   .  50            PUSH EAX                                 ;  假码
0048518B   .  FF15 44114000 CALL DWORD PTR DS:[<&MSVBVM60.#581>]     ;  MSVBVM60.rtcR8ValFromBstr
00485191   .  FF15 70104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFpR8>>;  MSVBVM60.__vbaFpR8
00485197   .  DD9D D4EFFFFF FSTP QWORD PTR SS:[EBP-102C]             ;  保存实数ST0到[EBP-102c],然后出栈
0048519D   .  DD85 ECEFFFFF FLD QWORD PTR SS:[EBP-1014]              ;  [ebp-1014]放入st0
004851A3   .  DC05 20134000 FADD QWORD PTR DS:[401320]               ;  st(0) <-st(0) + [401320]
004851A9   .  DFE0          FSTSW AX                                 ;  AX<- MSW
004851AB   .  A8 0D         TEST AL,0D                               ;  AL AND OD
004851AD   .  0F85 51310000 JNZ SCG移动?00488304                       ;  886
004851B3   .  FF15 70104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFpR8>>;  MSVBVM60.__vbaFpR8
004851B9   .  DC9D D4EFFFFF FCOMP QWORD PTR SS:[EBP-102C]            ;  和EBP-102C一样否?
004851BF   .  DFE0          FSTSW AX                                 ;  AX<- MSW
004851C1   .  F6C4 40       TEST AH,40                               ;  继续比较
004851C4   .  74 07         JE SHORT SCG移动?004851CD                  ;  886
004851C6   .  B8 01000000   MOV EAX,1
004851CB   .  EB 02         JMP SHORT SCG移动?004851CF
004851CD   >  33C0          XOR EAX,EAX
004851CF   >  F7D8          NEG EAX
004851D1   .  66:85C0       TEST AX,AX
004851D4   .  0F84 FC130000 JE SCG移动?004865D6
004851DA   .  8B0E          MOV ECX,DWORD PTR DS:[ESI]
004851DC   .  56            PUSH ESI
004851DD   .  FF91 38030000 CALL DWORD PTR DS:[ECX+338]

最后推出结果——————————123
晕……晕了吗?……………………………………………………………………

呵呵,别着急,他还留一手呢!!!
“呵呵,不好意思,其实您没有注册成功,不过离成功很近了”…………………………
还好,有个安慰………………

来分析一下,既然之前出来过“注册成功”,那肯定在咱上次推的那个下面(就是用无赖玩法找PUSH ****,记得吧)

向下翻吧…………………………
§
§
§
§
\/
………………………………………………
………………………………………………
………………………………………………
我得出的结论居然什么都是“呵呵,不好意思,其实您没有注册成功,不过离成功很近了”…………

那就只好使出杀鸡锏——爆破

只用把00475FF9处的JMP改成RETN 8就可以了

唉~漫漫长夜,都2:47了,收工…………

明天……不,是今天晚上发帖子……………………

====================

大体是分析完了,但是各位大大的能否告诉我那个“呵呵,不好意思,其实您没有注册成功,不过离成功很近了”
的暗桩到底放在哪儿了??!!
今天太晚了,没时间找了…………

唉~我的红警,我的CS,我的PAL4(仙4)……为了破解,我光荣地牺牲了3个小时的时间
(写文章,还有以前用的爆破地方改成分析)

我鄙视这个CM,因为居然用的是浮点~~

                                              Made By NoName剑人
                                                2007-10-3  2:51

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

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 740
活跃值: (957)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
2
爆破后可以用OD加载,密码123的程序

但是,我正努力寻找光明之巅
2007-10-3 17:25
0
雪    币: 740
活跃值: (957)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
3
大牛,再次膜拜.............
2007-10-3 17:25
0
雪    币: 740
活跃值: (957)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
4
一些不完全的线索

已经知道密码123下面的那个5什么的浮点计算是FALSE的,正确的被当成函数玩了(JMP ****)

郁闷啊,玩这个6-7个小时了总计
2007-10-3 17:27
0
雪    币: 1969
活跃值: (46)
能力值: (RANK:550 )
在线值:
发帖
回帖
粉丝
5
好久没见到acafeel了......
2007-10-3 17:43
0
雪    币: 740
活跃值: (957)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
6
什么叫acafeel
2007-10-3 17:54
0
雪    币: 1355
活跃值: (344)
能力值: ( LV13,RANK:920 )
在线值:
发帖
回帖
粉丝
7
哈哈,acafeel似乎是只很大的牛呢

另外,楼主给大家提供了不错的线索,但是爆破的话,从开始到最后都是爆破,难免会进入我精心设计的圈套之中~~~~~呵呵

大家感谢楼主分析了我的陷阱,暗桩? 呵呵,阴险

引用古剑仙人的指点:这个比想象和眼睛看到的还要阴险!!!楼主说对了我设计的初级自校验,给入门的朋友准备的见面礼而已,呵呵 这个CM的算法相当简单,但是比加减要难那么一点点

估计风间仁和hawking兄弟看到你进了无穷的圈套而兴奋不已呢,呵呵
2007-10-3 18:41
0
雪    币: 740
活跃值: (957)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
8
鄙视啊.........
回去认真POJIE去
2007-10-3 18:47
0
雪    币: 740
活跃值: (957)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
9
举4只蹄子投降
2007-10-3 21:21
0
雪    币: 112
活跃值: (16)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
10
看看!知道我要干什么了吧……××邪恶地笑着
打开vb,ASC("成"),得出结果-19511
再打开CALC,注意!!!直接把19511转成16进制,得4C37
用OD中CTRL+F查找 PUSH -4C37
^_^,怎么样

牛!~~~~~
2007-10-4 00:20
0
雪    币: 112
活跃值: (16)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
11
那兄弟很久不见了!
QQ也不上!
晕!
怪想念他的!

不知道是不是穿马甲了!
2007-10-4 00:21
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
对,他就是喜欢穿不同的马褂,又不让我们知道,其实他一直都在线的
2007-10-4 00:44
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
13
其实根本就没这么复杂,不用爆破,当天我就是突破不了最后一步

SIM+123 就过了第一关,但如果不相等的话就跳到下面的一段计算

那段计算才有意思,如果相等的话

就来个

jmp  现在的地址,好了那么输入了哪个注册码的话就程序假死,我就是突破不了这

我的两个小时就闷在这里,CM 我暂时不分析,哪天有灵感就继续
2007-10-8 19:02
0
雪    币: 1355
活跃值: (344)
能力值: ( LV13,RANK:920 )
在线值:
发帖
回帖
粉丝
14
不错,不错;佛曰不可说不可说~
2007-10-8 22:16
0
游客
登录 | 注册 方可回帖
返回