首页
社区
课程
招聘
[注意]SourceFormatX - 强烈BS写这个软件的作者!
发表于: 2006-10-10 00:58 77857

[注意]SourceFormatX - 强烈BS写这个软件的作者!

2006-10-10 00:58
77857
前2天偶然碰到一个软件:SourceFormatX,觉得还不错,就是要注册,比较烦,为了研究它的一个功能,我决定分析一下看看,没想到。。。

机器也因此重装了一次(我的笔记本没光驱!!系统没备份!!),极其气愤!看雪上也有人讨论过

主要的危险代码:

1,用winexec无限开窗口,直到你死机
2,删除你注册表,删了你肯定要重装了!(强烈BS! )

主页上居然写这种话,不觉得脸红!!

http://cn.textrush.com/download.htm



百分之百绿色安全无插件软件



SourceFormatX 通过了国内外许多专业软件评测组织的安全测试,并且获得了国外专业软件评测网站授予的 "Safe To Install" (安全安装) 和 "100% Clean & Safe Software" (100%干净安全软件) 认证。这些奖项意味着 SourceFormatX 的安装包内没有包含任何恶意的病毒、木马、间谍软件、流氓插件、后门软件、广告软件,而且在安装和使用过程中没有任何潜在的威胁,可以放心使用。



现将破解方法公布如下:

一,脱壳!!

修改版的压缩壳,没难度,就是要修复一下IAT,应该没问题的

二,去除ANTI

搜索命令:
005771BE   .  E8 B1F8E8FF   call    <jmp.&kernel32.WinExec>          ; \WinExec


我这里是搜索:

call    00406A74



然后向上找:

0057719E   . /EB 25         jmp     short killit.005771C5            ;  这行改成JMP跳过WINEXEC调用
005771A0   > |6A 03         push    3
005771A2   . |B8 34765700   mov     eax, killit.00577634             ;  

048229125055114025094102049210040021027068051099091168132234034161018208011
005771A7   . |8D95 68FBFFFF lea     edx, dword ptr ss:[ebp-498]
005771AD   . |E8 0AA5EDFF   call    killit.004516BC
005771B2   . |8B85 68FBFFFF mov     eax, dword ptr ss:[ebp-498]
005771B8   . |E8 83CEE8FF   call    killit.00404040
005771BD   . |50            push    eax                              ; |CmdLine
005771BE   . |E8 B1F8E8FF   call    <jmp.&kernel32.WinExec>          ; \WinExec
005771C3   .^|EB DB         jmp     short killit.005771A0
005771C5   > \33C0          xor     eax, eax



对除了1个WinExec不这样处理,其他都要跳过去(如何判断?就看WinExec后面有没有JMP!有JMP,这段代码就要跳过去)

然后对所有的SetFilePointer,GetFileSize下断点,如果后面是cmp eax,xxxxx的就是判断是否脱壳,将后面的跳转改成JMP

比如:

00566062   .  6A 02         push    2                                ; /Origin = FILE_END
00566064   .  6A 00         push    0                                ; |pOffsetHi = NULL
00566066   .  6A 00         push    0                                ; |OffsetLo = 0
00566068   .  8B45 D4       mov     eax, dword ptr ss:[ebp-2C]       ; |
0056606B   .  50            push    eax                              ; |hFile
0056606C   .  E8 C309EAFF   call    <jmp.&kernel32.SetFilePointer>   ; \SetFilePointer
00566071   .  3D 27E51000   cmp     eax, 10E527
00566076   .  EB 13         jmp     short killit.0056608B



0055F105   .  6A 00         push    0                                ; /pFileSizeHigh = NULL
0055F107   .  8B45 FC       mov     eax, dword ptr ss:[ebp-4]        ; |
0055F10A   .  50            push    eax                              ; |hFile
0055F10B   .  E8 D477EAFF   call    <jmp.&kernel32.GetFileSize>      ; \GetFileSize
0055F110   .  3D A8421200   cmp     eax, 1242A8
0055F115   . /EB 1F         jmp     short killit.0055F136



★下面这处千万别漏了,这个是点击格式化目录这个按钮时调用的,直接删你注册表的!!

00564159   .  6A 02         push    2                                ; /Origin = FILE_END
0056415B   .  6A 00         push    0                                ; |pOffsetHi = NULL
0056415D   .  6A 00         push    0                                ; |OffsetLo = 0
0056415F   .  8B45 F0       mov     eax, dword ptr ss:[ebp-10]       ; |
00564162   .  50            push    eax                              ; |hFile
00564163   .  E8 CC28EAFF   call    <jmp.&kernel32.SetFilePointer>   ; \SetFilePointer
00564168   .  3D 508D0F00   cmp     eax, 0F8D50
0056416D   .  90            nop
0056416E   .  E9 F7000000   jmp     killit.0056426A


三,破解

至此,anti已经基本结束,下面开始破解!首先在当前目录下面建一个文件License.dat,文件名千万别错,里面内容大于10个字符就可以了(

怎么知道的,自己看吧,实在气愤!)

破解点怎么找到的就不说了,很简单的,破解点一共4个


突破格式化所有功能:

004FB527     /75 00         jnz     short killit.004FB529                ;  比较
004FB529   . \C645 DF 01    mov     byte ptr ss:[ebp-21], 1              ;  标志


突破复制,保存大小限制的功能:
00561E60   .  8B45 DC       mov     eax, dword ptr ss:[ebp-24]
00561E63   .  8B55 F4       mov     edx, dword ptr ss:[ebp-C]
00561E66   .  E8 2121EAFF   call    killit.00403F8C
00561E6B   .  75 04         jnz     short killit.00561E71            ;  比较
00561E6D   .  C645 EF 01    mov     byte ptr ss:[ebp-11], 1          ;  标志


NAG窗口去除:
00563612   > \F645 CE 01    test    byte ptr ss:[ebp-32], 1                ;  是否显示LOG窗口
00563616   .  74 57         je      short SourceFo.0056366F                ;  跳走不显示

0056359A   .  F645 CE 01    test    byte ptr ss:[ebp-32], 1
0056359E   .  74 4D         je      short killit.005635ED                  ;  nag窗口,跳走


做内存补丁,这4个点就可以用了如果你是脱壳的,那么程序有校验,格式化后会变成乱码!!汗~~真受不了。。。

去除脱壳校验:


0045A000  /$  53                push    ebx                                 ;  计算校验值
0045A001  |.  89C3              mov     ebx, eax
0045A003  |.  B8 FFFFFFFF       mov     eax, -1
0045A008  |.  56                push    esi
0045A009  |.  85D2              test    edx, edx
0045A00B  |.  74 16             je      short SourceFo.0045A023
0045A00D  |>  0FB633            /movzx   esi, byte ptr ds:[ebx]
0045A010  |.  0FB6C8            |movzx   ecx, al
0045A013  |.  31F1              |xor     ecx, esi
0045A015  |.  C1E8 08           |shr     eax, 8
0045A018  |.  33048D C09B5700   |xor     eax, dword ptr ds:[ecx*4+579BC0]
0045A01F  |.  43                |inc     ebx
0045A020  |.  4A                |dec     edx
0045A021  |.^ 75 EA             \jnz     short SourceFo.0045A00D
0045A023  |>  5E                pop     esi
0045A024  |.  F7D0              not     eax
0045A026  |.  5B                pop     ebx
0045A027  \.  C3                retn


这里会程序输入表进行校验,返回一个校验值eax,如果校验值不对,那么格式化后会变成乱码。脱壳后要修复IAT,所以校验值肯定不对,运

行未脱壳版,跑完这个校验值计算过程,把值记下来

一共变了3个寄存器:

EAX = 1DFF122A
ECX = C9
EDX = 0


重写这个函数:

0045A000  /$  B8 2A12FF1D    mov     eax, 1DFF122A
0045A005  |.  33C9           xor     ecx, ecx
0045A007  |.  B1 C9          mov     cl, 0C9
0045A009  |.  33D2           xor     edx, edx
0045A00B  \.  C3             retn


ok,破解完成。

最后是ABOUT窗口:

0052A580   .  BA 5CA75200   mov     edx, killit.0052A75C                    ;  未注册用户
0052A585   .  E8 6E50F0FF   call    killit.0042F5F8



字符串就自己改了,我改成这个:



不知道哪里可以发布破解软件!!!刚才在网上找了一下,居然没找到有破解版

破解发布见34楼

[课程]Linux pwn 探索篇!

收藏
免费 7
支持
分享
最新回复 (86)
雪    币: 5275
活跃值: (451)
能力值: (RANK:1170 )
在线值:
发帖
回帖
粉丝
2
BS!!!
发布破解:
http://soft.winzheng.com/Publish.asp
http://www16.fixdown.com/004.htm
2006-10-10 01:10
0
雪    币: 7309
活跃值: (3778)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
3
最初由 tankaiha 发布
BS!!!
发布破解:
http://soft.winzheng.com/Publish.asp
http://www16.fixdown.com/004.htm


不会发布,汗~~
2006-10-10 01:24
0
雪    币: 214
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
把破解版本发出来

SourceFormatX 2.56 中文试用版
发布日期:  [2004/10/27]  
SourceFormatX 2.56 Service Pack 3
发布日期:  [2005/03/04]

看来作者已经...
2006-10-10 04:40
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
5
牛x.支持!
2006-10-10 07:24
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
6
兄弟强悍的说,所以说,还是要装个 影子系统 的好
2006-10-10 07:50
0
雪    币: 372
活跃值: (31)
能力值: ( LV12,RANK:410 )
在线值:
发帖
回帖
粉丝
7
强悍,膜拜~~~
2006-10-10 07:51
0
雪    币: 441
活跃值: (149)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
8
以前也打算破解这个,论坛中有前辈说过删除注册表一事。每次都用OLLYDBG载入后修改关键点让它处理文件,不敢脱壳破解.

后来发现这个软件有致命的BUG,如果有宏定义,在某些情况下用它对源码美化后有些代码导致不能编译通过(一行代码不见了)。

后面去信问过作者,其本人也承认对预处理支持不好。会在下个版本修正。(估计作者也不打算出下个版本了)

强烈推荐楼主用开源的GreatCode (SourceForge上有).尽管也有BUG,但比这个工具强大好用。而且是开源的,你可以自己修复BUG的。
2006-10-10 09:03
0
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
9
这种软件就应该破之
2006-10-10 09:38
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
10
我也中招了,XXXXXX 的。。。。。。。。。汗 ,脱完壳后,一不小心就重启了一次(幸好我有 影子系统 , 楼主厉害啊。。。。。。。。谢
上传的附件:
  • 1.jpg (3.87kb,2963次下载)
2006-10-10 09:49
0
雪    币: 1829
活跃值: (1357)
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
11
哈哈,这个软件成了知名的危险软件了
2006-10-10 12:17
0
雪    币: 67
活跃值: (66)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
12
我尝试过一次 后来注册表被它删除了 就在也没碰它
2006-10-10 13:15
0
雪    币: 1714
活跃值: (555)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我今天搞了下也挂了,不过是在虚拟机下的

请问楼主一下两个地方怎么找到的哦,今天就因为没找到所以偷了下懒就。。。

★下面这处千万别漏了,这个是点击格式化目录这个按钮时调用的,直接删你注册表的!!
--------------------------------------------------------------------------------

00564159   .  6A 02         push    2                                ; /Origin = FILE_END
0056415B   .  6A 00         push    0                                ; |pOffsetHi = NULL
0056415D   .  6A 00         push    0                                ; |OffsetLo = 0
0056415F   .  8B45 F0       mov     eax, dword ptr ss:[ebp-10]       ; |
00564162   .  50            push    eax                              ; |hFile
00564163   .  E8 CC28EAFF   call    <jmp.&kernel32.SetFilePointer>   ; \SetFilePointer
00564168   .  3D 508D0F00   cmp     eax, 0F8D50
0056416D   .  90            nop
0056416E   .  E9 F7000000   jmp     killit.0056426A
--------------------------------------------------------------------------------


去除脱壳校验:

代码:--------------------------------------------------------------------------------

0045A000  /$  53                push    ebx                                 ;  计算校验值
0045A001  |.  89C3              mov     ebx, eax
0045A003  |.  B8 FFFFFFFF       mov     eax, -1
0045A008  |.  56                push    esi
0045A009  |.  85D2              test    edx, edx
0045A00B  |.  74 16             je      short SourceFo.0045A023
0045A00D  |>  0FB633            /movzx   esi, byte ptr ds:[ebx]
0045A010  |.  0FB6C8            |movzx   ecx, al
0045A013  |.  31F1              |xor     ecx, esi
0045A015  |.  C1E8 08           |shr     eax, 8
0045A018  |.  33048D C09B5700   |xor     eax, dword ptr ds:[ecx*4+579BC0]
0045A01F  |.  43                |inc     ebx
0045A020  |.  4A                |dec     edx
0045A021  |.^ 75 EA             \jnz     short SourceFo.0045A00D
0045A023  |>  5E                pop     esi
0045A024  |.  F7D0              not     eax
0045A026  |.  5B                pop     ebx
0045A027  \.  C3                retn
--------------------------------------------------------------------------------

还有楼主在试用中遇到其他限制或问题没有哦
2006-10-10 18:55
0
雪    币: 314
活跃值: (10)
能力值: ( LV12,RANK:570 )
在线值:
发帖
回帖
粉丝
14
对鄙视它,假如我有钱,肯定上法院告它!
2006-10-10 18:57
0
雪    币: 450
活跃值: (552)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
15
鄙视之。
这和投毒有什么区别?
2006-10-10 19:06
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
16
比投毒还毒,楼主发布它的破解吧
2006-10-10 22:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
楼主发布它的破解吧
2006-10-10 23:59
0
雪    币: 367
活跃值: (20)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
18
这作者违反了现行的法规吧...

道德这么差,不死何为?
2006-10-11 00:01
0
雪    币: 367
活跃值: (20)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
19
说不定代码还是抄某些开源软件的.
2006-10-11 00:02
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
20
向楼主学习,除了BS它更要颠覆它
2006-10-11 00:04
0
雪    币: 227
活跃值: (164)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
有钱了一定要装虚拟系统
2006-10-11 00:51
0
雪    币: 7309
活跃值: (3778)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
22
补充:

原版还有一个地方没搞定

00569B2C     /EB 04         jmp     short killit.00569B32            ;  保存所有校验的爆破
00569B2E   . |C645 8B 01    mov     byte ptr ss:[ebp-75], 1
00569B32   > \33C0          xor     eax, eax


下面是SP3版的破解

脱壳和去除ANTI不说了

破解点:


保存所有功能  校验的爆破
0057735C     /EB 04         jmp     short killitSP.00577362
0057735E   > |C645 8B 01    mov     byte ptr ss:[ebp-75], 1


0057334B     /74 00         je      short killitSP.0057334D          ;  保存大小限制
0057334D   . \C645 DB 01    mov     byte ptr ss:[ebp-25], 1

00509F70      C645 DF 01    mov     byte ptr ss:[ebp-21], 1          ;  应该解除很多功能限制


0045C328  /$  53            push    ebx                                 ;  57731d返回8D684942
0045C329  |.  89C3          mov     ebx, eax                            ;  5657BA返回8851BE7F
0045C32B  |.  B8 FFFFFFFF   mov     eax, -1                             ;  58310C返回8D684942
0045C330  |.  56            push    esi
0045C331  |.  85D2          test    edx, edx
0045C333  |.  74 16         je      short SourceFo.0045C34B
0045C335  |>  0FB633        /movzx   esi, byte ptr ds:[ebx]
0045C338  |.  0FB6C8        |movzx   ecx, al
0045C33B  |.  31F1          |xor     ecx, esi
0045C33D  |.  C1E8 08       |shr     eax, 8
0045C340  |.  33048D 18AC58>|xor     eax, dword ptr ds:[ecx*4+58AC18]
0045C347  |.  43            |inc     ebx
0045C348  |.  4A            |dec     edx
0045C349  |.^ 75 EA         \jnz     short SourceFo.0045C335
0045C34B  |>  5E            pop     esi
0045C34C  |.  F7D0          not     eax
0045C34E  |.  5B            pop     ebx
0045C34F  \.  C3            retn


0045C328  /$  817C24 24 BA57>cmp     dword ptr ss:[esp+24], killitSP.005657BA   ;  计算好的校验值
0045C330  |.  74 0A          je      short killitSP.0045C33C                    ;  57731d返回8D684942
0045C332  |.  B8 4249688D    mov     eax, 8D684942                              ;  5657BA返回8851BE7F
0045C337  |.  33C9           xor     ecx, ecx                                   ;  58310C返回8D684942
0045C339  |.  B1 C6          mov     cl, 0C6
0045C33B  |.  C3             retn
0045C33C  |>  B8 7FBE5188    mov     eax, 8851BE7F
0045C341  |.  33C9           xor     ecx, ecx
0045C343  |.  41             inc     ecx
0045C344  \.  C3             retn

2006-10-11 01:37
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
23
支持 海风!
2006-10-11 16:42
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
楼主发布它的破解吧
2006-10-11 17:29
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
最初由 kflnig 发布
对鄙视它,假如我有钱,肯定上法院告它!
]

有钱就买正版了
2006-10-11 19:32
0
游客
登录 | 注册 方可回帖
返回
//