吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7629|回复: 4
收起左侧

[第三课] 从零开始学习破解注册码-数据操作-1

[复制链接]
lxyg06 发表于 2017-5-25 11:11
本帖最后由 lxyg06 于 2017-5-25 11:32 编辑

注册码,一般都会进行数据的处理,比如取注册码第几位和某一个数进行加 减 或者替换某一个位的数字等,这就要用到汇编里面的mov sub add等这些命令了

mov指令的几种形式:  mov  寄存器、  数据               
    mov ax,123mov  寄存器、  寄存器               
  mov bx,ax mov  寄存器、  内存单元               
mov ax,[0]mov  内存单元、寄存器                  
mov [0],ax mov  段寄存器、寄存器                  
mov ds,axadd和sub指令和mov一样,都有2个操作对象。sub和add类似,不过是相减,
sub ax,10                给ax减10,之后的结果赋值给ax
sub ax,bx                语意是ax = bx - ax
sub ax,[0]                将偏移地址为0的内存单元 - ax 再赋值给ax
一个简单的注册码验证程序,很简单的 取注册码中5这个字符,加上3 减去3 看看和之后的第一和第二是不是相等 QQ截图20170525101431.png
QQ截图20170525100637.png
汇编后的结果在整理
易语言汇编后变很复杂,还在整理中,为了不影响  用c写了一个一样的程序

QQ截图20170525112001.png
汇编后
[Asm] 纯文本查看 复制代码
00401323  |.  C785 70FFFFFF>mov [local.36],-0x1                      ; |
0040132D  |.  8D85 78FFFFFF lea eax,[local.34]                       ; |%s
00401333  |?  894424 04     mov dword ptr ss:[esp+0x4],eax           ;  kernel32.BaseThreadInitThunk
00401337  |?  C70424 003040>mov dword ptr ss:[esp],未命名1.00403000     ;  ASCII "%s"
0040133E  |?  E8 7D060000   call <jmp.&msvcrt.scanf>
00401343  |.  C785 6CFFFFFF>mov [local.37],0x7B
0040134D  |.  83BD 6CFFFFFF>cmp [local.37],0x5
00401354  |.  0F8E D0000000 jle 未命名1.0040142A
0040135A  |.  C785 68FFFFFF>mov [local.38],0x0
00401364  |>  8B85 68FFFFFF /mov eax,[local.38]
0040136A  |.  3B85 6CFFFFFF |cmp eax,[local.37]
00401370  |.  7D 29         |jge short 未命名1.0040139B
00401372  |.  8D45 F8       |lea eax,[local.2]
00401375  |.  0385 68FFFFFF |add eax,[local.38]
0040137B  |.  83C0 80       |add eax,-0x80
0040137E  |.  8038 35       |cmp byte ptr ds:[eax],0x35
00401381  |.  75 0E         |jnz short 未命名1.00401391
00401383  |.  8B85 68FFFFFF |mov eax,[local.38]
00401389  |.  8985 70FFFFFF |mov [local.36],eax                      ;  kernel32.BaseThreadInitThunk
0040138F  |.  EB 0A         |jmp short 未命名1.0040139B
00401391  |>  8D85 68FFFFFF |lea eax,[local.38]
00401397  |.  FF00          |inc dword ptr ds:[eax]
00401399  |.^ EB C9         \jmp short 未命名1.00401364
0040139B  |>  8B85 70FFFFFF mov eax,[local.36]                       ; |
004013A1  |.  8B95 6CFFFFFF mov edx,[local.37]                       ; |
004013A7  |.  29C2          sub edx,eax                              ; |kernel32.BaseThreadInitThunk
004013A9  |.  89D0          mov eax,edx                              ; |未命名1.<ModuleEntryPoint>
004013AB  |.  83F8 02       cmp eax,0x2                              ; |
004013AE  |.  7E 7A         jle short 未命名1.0040142A                  ; |
004013B0  |.  8D45 F8       lea eax,[local.2]                        ; |
004013B3  |.  0385 70FFFFFF add eax,[local.36]                       ; |
004013B9  |.  83C0 80       add eax,-0x80                            ; |
004013BC  |.  0FB600        movzx eax,byte ptr ds:[eax]              ; |
004013BF  |.  04 03         add al,0x3                               ; |
004013C1  |.  8885 77FFFFFF mov byte ptr ss:[ebp-0x89],al            ; |
004013C7  |.  8D45 F8       lea eax,[local.2]                        ; |
004013CA  |.  0385 70FFFFFF add eax,[local.36]                       ; |
004013D0  |.  83C0 80       add eax,-0x80                            ; |
004013D3  |.  0FB600        movzx eax,byte ptr ds:[eax]              ; |
004013D6  |.  2C 03         sub al,0x3                               ; |
004013D8  |.  8885 76FFFFFF mov byte ptr ss:[ebp-0x8A],al            ; |
004013DE  |.  0FBE95 77FFFF>movsx edx,byte ptr ss:[ebp-0x89]         ; |
004013E5  |.  8D45 F8       lea eax,[local.2]                        ; |
004013E8  |.  0385 70FFFFFF add eax,[local.36]                       ; |
004013EE  |.  83E8 7F       sub eax,0x7F                             ; |
004013F1  |.  0FBE00        movsx eax,byte ptr ds:[eax]              ; |
004013F4  |.  39C2          cmp edx,eax                              ; |kernel32.BaseThreadInitThunk
004013F6  |.  75 32         jnz short 未命名1.0040142A                  ; |
004013F8  |.  0FBE95 76FFFF>movsx edx,byte ptr ss:[ebp-0x8A]         ; |
004013FF  |.  8D45 F8       lea eax,[local.2]                        ; |
00401402  |.  0385 70FFFFFF add eax,[local.36]                       ; |
00401408  |.  83E8 7E       sub eax,0x7E                             ; |
0040140B  |.  0FBE00        movsx eax,byte ptr ds:[eax]              ; |
0040140E  |.  39C2          cmp edx,eax                              ; |kernel32.BaseThreadInitThunk
00401410  |.  75 18         jnz short 未命名1.0040142A                  ; |
00401412  |.  C70424 033040>mov dword ptr ss:[esp],未命名1.00403003     ; |注册成功
00401419  |.  E8 9A050000   call <jmp.&msvcrt.printf>                ; \printf
0040141E  |.  C785 64FFFFFF>mov [local.39],0x0
00401428  |.  EB 16         jmp short 未命名1.00401440
0040142A  |>  C70424 0C3040>mov dword ptr ss:[esp],未命名1.0040300C     ; |注册失败
00401431  |.  E8 82050000   call <jmp.&msvcrt.printf>                ; \printf
00401436  |.  C785 64FFFFFF>mov [local.39],0x0
00401440  |>  8B85 64FFFFFF mov eax,[local.39]
00401446  |.  C9            leave
00401447  \.  C3            retn


加减
QQ图片20170525112218.png
sub al,0x3  减去3
add al,0x3  加上3

赋值
QQ图片20170525112438.png
mov [local.36],-0x1  赋-1




123.zip

2.06 KB, 下载次数: 28, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 3吾爱币 +2 热心值 +3 收起 理由
纳新德白蛇 + 1 + 1 热心回复!
林海山河 + 1 + 1 我很赞同!
869175743 + 1 用心讨论,共获提升!

查看全部评分

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

wangp-3366 发表于 2017-5-25 11:18
楼主你有才@!·
pwp 发表于 2017-5-25 12:02
longmarchw 发表于 2017-5-25 13:31
qazx5555 发表于 2017-5-25 14:55 来自手机
看不懂  似天书歐
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-15 12:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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