蓝蓝深海 发表于 2017-4-30 16:09:04

一款送货单软件单机版菜鸟分析-

不确定是不是发这个板块

一款送货单软件单机版菜鸟分析   肯请表哥们给解个疑问
先附上自己的简易分析

公司名:河北石家庄
注册码:400ED74C6CEDD5CCE3AD3640D5423690CBE69F926F3E4EA152F78E4E451AF158
软件地址:
链接: http://pan.baidu.com/s/1sl6RSXf 密码: 7bb6

CPU Disasm
地址      十六进制数据            指令                                       注释
00A0F8DC/.55            PUSH EBP                                 ; 注册段首
00A0F8DD|.8BEC          MOV EBP,ESP
00A0F8DF|.B9 09000000   MOV ECX,9
00A0F8E4|>6A 00         /PUSH 0                                  ; 循环储备 72.字节堆栈上
00A0F8E6|.6A 00         |PUSH 0
00A0F8E8|.49            |DEC ECX
00A0F8E9|.^ 75 F9         \JNZ SHORT 00A0F8E4
00A0F8EB|.51            PUSH ECX
00A0F8EC|.8945 FC       MOV DWORD PTR SS:,EAX
00A0F8EF|.33C0          XOR EAX,EAX
00A0F8F1|.55            PUSH EBP
00A0F8F2|.68 33FCA000   PUSH 00A0FC33
00A0F8F7|.64:FF30       PUSH DWORD PTR FS:
00A0F8FA|.64:8920       MOV DWORD PTR FS:,ESP               ; 安装 <???> SE 处理程序
00A0F8FD|.8D55 E8       LEA EDX,
00A0F900|.8B45 FC       MOV EAX,DWORD PTR SS:
00A0F903|.8B80 14030000 MOV EAX,DWORD PTR DS:
00A0F909|.E8 BE13A5FF   CALL 00460CCC                            ; 取公司名
00A0F90E|.8B45 E8       MOV EAX,DWORD PTR SS:
00A0F911|.8D55 EC       LEA EDX,
00A0F914|.E8 B7AD9FFF   CALL 0040A6D0
00A0F919|.837D EC 00    CMP DWORD PTR SS:,0
00A0F91D|.75 2E         JNE SHORT 00A0F94D
00A0F91F|.6A 40         PUSH 40                                  ; /Arg1 = 40
00A0F921|.B9 40FCA000   MOV ECX,00A0FC40                         ; |
00A0F926|.BA 48FCA000   MOV EDX,00A0FC48                         ; |UNICODE "请输入公司名称!"
00A0F92B|.A1 6455A300   MOV EAX,DWORD PTR DS:         ; |
00A0F930|.8B00          MOV EAX,DWORD PTR DS:               ; |
00A0F932|.E8 A942A7FF   CALL 00483BE0                            ; \Sale.00483BE0
00A0F937|.8B45 FC       MOV EAX,DWORD PTR SS:
00A0F93A|.8B80 14030000 MOV EAX,DWORD PTR DS:
00A0F940|.8B10          MOV EDX,DWORD PTR DS:
00A0F942|.FF92 C4000000 CALL DWORD PTR DS:
00A0F948|.E9 69020000   JMP 00A0FBB6
00A0F94D|>B2 01         MOV DL,1
00A0F94F|.A1 50074200   MOV EAX,DWORD PTR DS:
00A0F954|.E8 F7449FFF   CALL 00403E50
00A0F959|.8945 F8       MOV DWORD PTR SS:,EAX
00A0F95C|.8D55 E0       LEA EDX,
00A0F95F|.33C0          XOR EAX,EAX
00A0F961|.E8 CA369FFF   CALL 00403030
00A0F966|.8B45 E0       MOV EAX,DWORD PTR SS:
00A0F969|.8D55 E4       LEA EDX,
00A0F96C|.E8 D3BE9FFF   CALL 0040B844                            ; 应该是判断目录下Licenses.dat文件--注册文件
00A0F971|.8B55 E4       MOV EDX,DWORD PTR SS:
00A0F974|.8D45 F4       LEA EAX,
00A0F977|.B9 64FCA000   MOV ECX,00A0FC64                         ; ASCII "Licenses.dat"
00A0F97C|.E8 6B579FFF   CALL 004050EC
00A0F981|.33C0          XOR EAX,EAX
00A0F983|.55            PUSH EBP
00A0F984|.68 5DFBA000   PUSH 00A0FB5D
00A0F989|.64:FF30       PUSH DWORD PTR FS:
00A0F98C|.64:8920       MOV DWORD PTR FS:,ESP               ; 安装 <???> SE 处理程序
00A0F98F|.8D55 D8       LEA EDX,
00A0F992|.8B45 FC       MOV EAX,DWORD PTR SS:
00A0F995|.8B80 10030000 MOV EAX,DWORD PTR DS:
00A0F99B|.E8 2C13A5FF   CALL 00460CCC                            ; 取注册码
00A0F9A0|.8B45 D8       MOV EAX,DWORD PTR SS:
00A0F9A3|.8D55 DC       LEA EDX,
00A0F9A6|.E8 25AD9FFF   CALL 0040A6D0
00A0F9AB|.8B45 DC       MOV EAX,DWORD PTR SS:
00A0F9AE|.50            PUSH EAX
00A0F9AF|.8D55 CC       LEA EDX,
00A0F9B2|.8B45 FC       MOV EAX,DWORD PTR SS:
00A0F9B5|.8B80 14030000 MOV EAX,DWORD PTR DS:
00A0F9BB|.E8 0C13A5FF   CALL 00460CCC
00A0F9C0|.8D45 CC       LEA EAX,
00A0F9C3|.BA 7CFCA000   MOV EDX,00A0FC7C                         ; 应该是固定字符;"-你Y的,破解者死全家!"
00A0F9C8|.E8 DB569FFF   CALL 004050A8
00A0F9CD|.8B45 CC       MOV EAX,DWORD PTR SS:
00A0F9D0|.8D4D D0       LEA ECX,
00A0F9D3|.BA 9CFCA000   MOV EDX,00A0FC9C                         ; ASCII "0760-81630888-122882899-013232366993!@#$%^&*()_+"   应该也是固定字符
00A0F9D8|.E8 3BABAAFF   CALL 004BA518                            ; [Sale.004BA518
00A0F9DD|.8B55 D0       MOV EDX,DWORD PTR SS:   ASCII "851FA154E4E87F251AE4E3F629F96EBC0963245D0463DA3ECC5DDEC6C47DE004"
00A0F9E0|.8D4D D4       LEA ECX,
00A0F9E3|.A1 204CA300   MOV EAX,DWORD PTR DS:
00A0F9E8|.8B00          MOV EAX,DWORD PTR DS:
00A0F9EA|.E8 39470000   CALL 00A14128                            ; [Sale.00A14128, 循环倒序
00A0F9EF|.8B55 D4       MOV EDX,DWORD PTR SS:          ; 倒序400ED74C6CEDD5CCE3AD3640D5423690CBE69F926F3E4EA152F78E4E451AF158
00A0F9F2|.58            POP EAX
00A0F9F3|.E8 F4579FFF   CALL 004051EC                            ; 关键CALL--真假码对比
00A0F9F8|.0F85 DD000000 JNZ 00A0FADB



疑问:想知道00A0F9DD地址ASCII "851FA154E4E87F251AE4E3F629F96EBC0963245D0463DA3ECC5DDEC6C47DE004"这个值是怎么来的,我跟了半天水平太菜没有头绪,这个值倒序过来就是真码,望各位表哥指点一下,感谢!

YUEN 发表于 2017-5-1 21:21:27

应该是固定字符;"-你Y的,破解者死全家!"

这个作者。。。

walykyy 发表于 2017-5-2 14:05:40

你可以看看他前面的call里面或者前面是不是有什么跳转

Dxer 发表于 2017-5-2 15:30:45

跟进00A0F9D8|.E8 3BABAAFF   CALL 004BA518                            ; [Sale.004BA518 这个call

Dxer 发表于 2017-5-2 15:48:04

第一段数据转换循环:

第一个call:00A0F9D8    E8 3BABAAFF   call Sale.004BA518

004BA57A    8D45 EC         lea eax,dword ptr ss:
004BA57D    50            push eax
004BA57E    8B45 F0         mov eax,dword ptr ss:
004BA581    0FB60430      movzx eax,byte ptr ds:
004BA585    8945 E4         mov dword ptr ss:,eax
004BA588    C645 E8 00      mov byte ptr ss:,0x0
004BA58C    8D55 E4         lea edx,dword ptr ss:
004BA58F    33C9            xor ecx,ecx
004BA591    B8 00A64B00   mov eax,Sale.004BA600                  ; ASCII "%x"
004BA596    E8 5D25F5FF   call Sale.0040CAF8
004BA59B    8B45 EC         mov eax,dword ptr ss:          ; ASCII "C4" ASCII "2F"
004BA59E    E8 FDAAF4FF   call Sale.004050A0
004BA5A3    48            dec eax
004BA5A4    75 10         jnz short Sale.004BA5B6
004BA5A6    8D45 EC         lea eax,dword ptr ss:
004BA5A9    8B4D EC         mov ecx,dword ptr ss:
004BA5AC    BA 0CA64B00   mov edx,Sale.004BA60C                  ; UNICODE "0"
004BA5B1    E8 36ABF4FF   call Sale.004050EC
004BA5B6    8D45 F4         lea eax,dword ptr ss:
004BA5B9    8B55 EC         mov edx,dword ptr ss:          ; ASCII "C4"
004BA5BC    E8 E7AAF4FF   call Sale.004050A8
004BA5C1    46            inc esi                                  ; Sale.00505BEC
004BA5C2    4B            dec ebx
004BA5C3^ 75 B5         jnz short Sale.004BA57A

第二段数据转换循环:

第二个call:00A0F9EA    E8 39470000   call Sale.00A14128

00A14157    8D45 FC         lea eax,dword ptr ss:
00A1415A    8A541F FF       mov dl,byte ptr ds:
00A1415E    E8 550E9FFF   call Sale.00404FB8
00A14163    8B55 FC         mov edx,dword ptr ss:
00A14166    8BC6            mov eax,esi
00A14168    E8 3B0F9FFF   call Sale.004050A8
00A1416D    4B            dec ebx
00A1416E    85DB            test ebx,ebx
00A14170^ 75 E5         jnz short Sale.00A14157

具体的还需要你自己看,两个call 分别跟进去,简单的运算方法。不复杂。


野猫III 发表于 2017-5-2 17:43:35

这个作者真性情呀{:titter:}

蓝蓝深海 发表于 2017-5-3 09:10:47

Dxer 发表于 2017-5-2 15:48
第一段数据转换循环:

第一个call:00A0F9D8    E8 3BABAAFF   call Sale.004BA518


感谢,我当时也跟到这,可能太菜了,没明白咋回事,我再多跟两遍,看看 ,谢谢

Dxer 发表于 2017-5-3 11:12:31

野猫III 发表于 2017-5-2 17:43
这个作者真性情呀

艾玛,54教学的创始人惊现。抱大腿
页: [1]
查看完整版本: 一款送货单软件单机版菜鸟分析-