吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4751|回复: 16
收起左侧

[KeyGenMe] keygenme !!!!不要爆破,来分析算法朋友们 来吧,难度不高 分析着玩玩吧!

[复制链接]
dazong 发表于 2016-3-11 22:15
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。

本帖最后由 dazong 于 2016-3-11 22:27 编辑

keygenme !!!!不要爆破,来分析算法朋友们 来吧,难度不高  分析着玩玩吧!
keygenme !!!!不要爆破,来分析算法朋友们 来吧,难度不高  分析着玩玩吧!
很久没做了,闲着无聊做个cm
不要爆破没难度,来个朋友分析分析算法 哈哈  


弹出  验证成功 即可

链接: http://pan.baidu.com/s/1pKtZo9t 密码: rac7


写分析过程,悬赏100CB,爆破,追码不算,。。。。只限分析算法,

当然想爆破玩的也可以,只是很简单没什么意思了

免费评分

参与人数 1热心值 +1 收起 理由
Sound + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

风清扬 发表于 2016-3-13 01:05
dazong 发表于 2016-3-12 15:45
厉害!!Function Getcpuid() Dim cpuSet,cpu
    Set cpuSet = GetObject("winmgmts:{impersonationLev ...

004013E4  |.  68 04000080   push    0x80000004
004013E9  |.  6A 00         push    0x0
004013EB  |.  68 195E4800   push    00485E19                         ;  VBScript
004013F0  |.  68 04000080   push    0x80000004
004013F5  |.  6A 00         push    0x0
004013F7  |.  68 225E4800   push    00485E22                         ;  Language
004013FC  |.  68 30000100   push    0x10030
00401401  |.  6A 00         push    0x0
00401403  |.  FF75 FC       push    dword ptr [ebp-0x4]
00401406  |.  68 03000000   push    0x3
0040140B  |.  BB A03B4000   mov     ebx, 00403BA0
00401410  |.  E8 C1140000   call    004028D6
00401415  |.  83C4 28       add     esp, 0x28
00401418  |.  68 04000080   push    0x80000004
0040141D  |.  6A 00         push    0x0
0040141F  |.  68 2B5E4800   push    00485E2B                         ;  Function Getcpuid() \r\nDim cpuSet,cpu\r\n    Set cpuSet = GetObject("w>
00401424  |.  68 04000080   push    0x80000004
00401429  |.  6A 00         push    0x0
0040142B  |.  68 1C5F4800   push    00485F1C                         ;  ExecuteStatement
00401430  |.  68 30000100   push    0x10030
00401435  |.  6A 00         push    0x0
00401437  |.  FF75 FC       push    dword ptr [ebp-0x4]
0040143A  |.  68 03000000   push    0x3
0040143F  |.  BB 70334000   mov     ebx, 00403370
00401444  |.  E8 8D140000   call    004028D6
00401449  |.  83C4 28       add     esp, 0x28
0040144C  |.  6A 00         push    0x0
0040144E  |.  6A 00         push    0x0
00401450  |.  6A 00         push    0x0
00401452  |.  68 04000080   push    0x80000004
00401457  |.  6A 00         push    0x0
00401459  |.  68 2D5F4800   push    00485F2D                         ;  Getcpuid
0040145E  |.  68 04000080   push    0x80000004
00401463  |.  6A 00         push    0x0
00401465  |.  68 365F4800   push    00485F36                         ;  Run
0040146A  |.  68 30000100   push    0x10030
0040146F  |.  6A 00         push    0x0
00401471  |.  FF75 FC       push    dword ptr [ebp-0x4]
00401474  |.  68 04000000   push    0x4
00401479  |.  BB 40334000   mov     ebx, 00403340
0040147E  |.  E8 53140000   call    004028D6


0x485E2B
这里就是VBS脚本的常量了!跟随到DUMP窗口就可以看到了!
CB  你发个悬赏帖子,私信我地址,我回复你确认就行了!
zbnysjwsnd8 发表于 2017-7-15 23:10
本帖最后由 zbnysjwsnd8 于 2017-7-15 23:17 编辑

[Asm] 纯文本查看 复制代码
00401205  |> /41            /INC ECX
00401206  |. |51            |PUSH ECX
00401207  |. |53            |PUSH EBX
00401208  |. |890B          |MOV DWORD PTR DS:[EBX], ECX
0040120A  |. |50            |PUSH EAX
0040120B  |. |3BC8          |CMP ECX, EAX
0040120D  |. |0F8F 42000000 |JG 00401255                             ;  如果转移 则a1指向的字符串就是注册码(注册码 = 机器码的每个ASCII码 + 1)
00401213  |. |8B1D 44A64A00 |MOV EBX, DWORD PTR DS:[0x4AA644]
00401219  |. |E8 ADFEFFFF   |CALL 004010CB                           ;  得到机器码的地址 记为a1
0040121E  |. |53            |PUSH EBX
0040121F  |. |51            |PUSH ECX
00401220  |. |8B45 FC       |MOV EAX, [LOCAL.1]
00401223  |. |48            |DEC EAX
00401224  |. |79 0D         |JNS SHORT 00401233
00401226  |. |68 04000000   |PUSH 0x4
0040122B  |. |E8 BE160000   |CALL 004028EE
00401230  |. |83C4 04       |ADD ESP, 0x4
00401233  |> |59            |POP ECX
00401234  |. |5B            |POP EBX
00401235  |. |3BC1          |CMP EAX, ECX
00401237  |. |7C 0D         |JL SHORT 00401246
00401239  |. |68 01000000   |PUSH 0x1
0040123E  |. |E8 AB160000   |CALL 004028EE
00401243  |. |83C4 04       |ADD ESP, 0x4
00401246  |> |03D8          |ADD EBX, EAX
00401248  |. |895D F8       |MOV [LOCAL.2], EBX
0040124B  |. |8B5D F8       |MOV EBX, [LOCAL.2]
0040124E  |. |FE03          |INC BYTE PTR DS:[EBX]                   ;  机器码的每个ASCII码 + 1
00401250  |. |58            |POP EAX
00401251  |. |5B            |POP EBX
00401252  |. |59            |POP ECX
00401253  |.^\EB B0         \JMP SHORT 00401205
李成520 发表于 2016-3-11 22:26
11747635 发表于 2016-3-11 22:28
分析就是这个。继续往下走就跟输入的假吗对比。对比结果错误就弹窗。算法我不会。哈哈

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x
头像被屏蔽
初衷 发表于 2016-3-11 22:33
提示: 作者被禁止或删除 内容自动屏蔽
冰怜泯灭 发表于 2016-3-11 23:04
一看三楼截图我就知道典型的易语言软件。。比较字符串永远都是test edx,3
风清扬 发表于 2016-3-12 09:06

Function Getcpuid()
Dim cpuSet,cpu
    Set cpuSet = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_Processor")
    For Each cpu In cpuSet
      getcpuid=cpu.ProcessorId
      exit for
    Next
end Function


使用VBS脚本获取CPUID后面再加上一个字符串“2” 这样得到一个机器码!
Getcpuid() +“2”

00401248    895D F8         mov     dword ptr [ebp-0x8], ebx             ; ebx=005A7130, (ASCII "BFEBFBFF000206A72")
0040124B    8B5D F8         mov     ebx, dword ptr [ebp-0x8]             ; ebx==hwid
0040124E    FE03            inc     byte ptr [ebx]                                   ; asc++


接着使用将机器码的ascii码逐位+1得到的就是注册码! 下面附上注册机





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 1热心值 +1 收起 理由
Sound + 1 热心回复!

查看全部评分

tusdasa翼 发表于 2016-3-12 10:41
楼上的都好厉害啊!
思念灬给了谁 发表于 2016-3-12 12:22
萌新路过帮顶
 楼主| dazong 发表于 2016-3-12 15:43
风清扬 发表于 2016-3-12 09:06
Function Getcpuid()
Dim cpuSet,cpu
    Set cpuSet = GetObject("winmgmts:{impersonationLevel=imp ...

厉害,  

Function Getcpuid()
Dim cpuSet,cpu
    Set cpuSet = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_Processor")
    For Each cpu In cpuSet
      getcpuid=cpu.ProcessorId
      exit for
    Next
end Function

这段怎么分析的 。 用的什么?

cb咋给你 你知道么 。

ps:话说咱俩的 cpu id 一样  一模一样
/////。。。。。。。。
 楼主| dazong 发表于 2016-3-12 15:45
风清扬 发表于 2016-3-12 09:06
Function Getcpuid()
Dim cpuSet,cpu
    Set cpuSet = GetObject("winmgmts:{impersonationLevel=imp ...

厉害!!Function Getcpuid() Dim cpuSet,cpu
    Set cpuSet = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_Processor")
    For Each cpu In cpuSet
      getcpuid=cpu.ProcessorId
      exit for
    Next
end Function

这段怎么 分析的?   用什么软件吗?




怎么给你cb。   

ps:咱俩cpu id 一模一样。。。



您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-26 14:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表