飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

楼主: JZL

[讨论] 一款明码比较的软件修改方法

  [复制链接]

该用户从未签到

发表于 2014-11-28 10:02:50 | 显示全部楼层
  1. 0040396B      FF15 8C464100 CALL    NEAR DWORD PTR DS:[<&MSVCRT._mbs>;  MSVCRT._mbscmp
  2. 00403971  |.  83C4 14       ADD     ESP, 14

  3. // 修改为

  4. 0040396B     /E9 10F70000   JMP     Excel汇?00413080
  5. 00403970     |90            NOP

  6. Path 数据:

  7. 00413080     /EB 17             JMP     SHORT Excel汇?00413099
  8. 00413082     |6D                INSD
  9. 00413083     |73 76             JNB     SHORT Excel汇?004130FB
  10. 00413085     |6372 74           ARPL    WORD PTR DS:[EDX+74], SI
  11. 00413088     |2E:               PREFIX CS:
  12. 00413089     |64:6C             INSB
  13. 0041308B     |6C                INSB
  14. 0041308C     |0073 74           ADD     BYTE PTR DS:[EBX+74], DH
  15. 0041308F     |72 63             JB      SHORT Excel汇?004130F4
  16. 00413091     |70 79             JO      SHORT Excel汇?0041310C
  17. 00413093     |0090 90909090     ADD     BYTE PTR DS:[EAX+90909090], DL
  18. 00413099     \68 82304100       PUSH    Excel汇?00413082                            ;  ASCII "msvcrt.dll"
  19. 0041309E      E8 FC183F76       CALL    kernel32.LoadLibraryA
  20. 004130A3      68 8D304100       PUSH    Excel汇?0041308D                            ;  ASCII "strcpy"
  21. 004130A8      50                PUSH    EAX                                        ;  kernel32.BaseThreadInitThunk
  22. 004130A9      E8 67ED6975       CALL    KERNELBA.GetProcAddress
  23. 004130AE      FFD0              CALL    NEAR EAX                                   ;  kernel32.BaseThreadInitThunk
  24. 004130B0      33C0              XOR     EAX, EAX                                   ;  kernel32.BaseThreadInitThunk
  25. 004130B2    ^ E9 BA08FFFF       JMP     Excel汇?00403971    // 原地址
复制代码


MORE: https://www.chinapyg.com/thread-51664-1-1.html
PYG19周年生日快乐!

该用户从未签到

发表于 2014-11-28 10:29:33 | 显示全部楼层
方法II: 不适用固定便宜的 ShellCode ...



  1. 0040396B  |.  E8 10F70000      CALL    Excel汇?00413080
  2. 00403970  |.  90               NOP



  3. 00413080  /$ /EB 12            JMP     SHORT Excel汇?00413094
  4. 00413082  |. |6D 73 76 63 72 7>ASCII   "msvcrt.dll",0
  5. 0041308D  |. |73 74 72 63 70 7>ASCII   "strcpy",0
  6. 00413094  |> \60               PUSHAD
  7. 00413095  |.  E8 00000000      CALL    Excel汇?0041309A
  8. 0041309A  |nbsp; 5B               POP     EBX                              ;  Excel汇?0041309A
  9. 0041309B  |.  8D43 E8          LEA     EAX, DWORD PTR DS:[EBX-18]
  10. 0041309E  |.  50               PUSH    EAX                              ; /FileName = "W媩$?婰$W髁"
  11. 0041309F  |.  E8 FB183F76      CALL    kernel32.LoadLibraryA            ; \LoadLibraryA
  12. 004130A4  |.  8D4B F3          LEA     ECX, DWORD PTR DS:[EBX-D]
  13. 004130A7  |.  51               PUSH    ECX                              ; /ProcNameOrOrdinal = "MZ?
  14. 004130A8  |.  50               PUSH    EAX                              ; |hModule = 76948D6E
  15. 004130A9  |.  E8 67ED6975      CALL    KERNELBA.GetProcAddress          ; \GetProcAddress
  16. 004130AE      FF7424 28        PUSH    DWORD PTR SS:[ESP+28]
  17. 004130B2      FF7424 28        PUSH    DWORD PTR SS:[ESP+28]
  18. 004130B6  |.  FFD0             CALL    NEAR EAX                         ;  MSVCRT.strcpy
  19. 004130B8  |.  61               POPAD
  20. 004130B9      83C4 08          ADD     ESP, 8
  21. 004130BC      33C0             XOR     EAX, EAX                         ;  MSVCRT.strcpy
  22. 004130BE      C3               RETN

复制代码



EB 12 6D 73 76 63 72 74 2E 64 6C 6C 00 73 74 72 63 70 79 00 60 E8 00 00 00 00 5B 8D 43 E8 50 E8
FB 18 3F 76 8D 4B F3 51 50 E8 67 ED 69 75 FF 74 24 28 FF 74 24 28 FF D0 61 83 C4 08 33 C0 C3

PYG19周年生日快乐!

该用户从未签到

发表于 2014-11-28 10:33:27 | 显示全部楼层

调试程序安装包下载
链接: http://pan.baidu.com/s/1mgA5H0G 密码: u5m3

之所以用Path出来写代码的方法,是因为导入表中没有 strcpy 这个函数(有的话就直接用了) ... 所以我们要自己来找一下函数的地址,方便跨平台 ...

111.jpg

点评

修正一下,直接调用程序的导入表来实现。 EB 12 6D 73 76 63 72 74 2E 64 6C 6C 00 73 74 72 63 70 79 00 60 E8 00 00 00 00 5B 8D 43 E8 50 FF 15 70 40 41 00 8D 4B F3 51 50 FF 15 50 40 41 00 FF 74 24  详情 回复 发表于 2014-12-3 09:45

评分

参与人数 2威望 +12 飘云币 +12 收起 理由
JZL + 4 + 4 你这个已经完全看不明白了。
small-q + 8 + 8 很给力!

查看全部评分

PYG19周年生日快乐!
  • TA的每日心情

    2019-6-28 23:57
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2014-11-28 14:19:58 | 显示全部楼层
                                  流弊啊
    PYG19周年生日快乐!
  • TA的每日心情

    2019-6-28 23:57
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2014-11-28 19:37:21 | 显示全部楼层
    l哈哈哈好东西
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2014-12-3 09:45:09 | 显示全部楼层
    Nisy 发表于 2014-11-28 10:33
    调试程序安装包下载
    链接: http://pan.baidu.com/s/1mgA5H0G 密码: u5m3

    1. 0040396A  |.  51                   PUSH    ECX                                                ;  MFC42.6C4456C8
    2. 0040396B  |.  E8 10F70000          CALL    Excel汇?00413080
    3. 00403970  |.  90                   NOP


    4. 00413080  /$ /EB 12                JMP     SHORT Excel汇?00413094
    5. 00413082  |. |6D 73 76 63 72 74 2E>ASCII   "msvcrt.dll",0
    6. 0041308D  |. |73 74 72 63 70 79 00>ASCII   "strcpy",0
    7. 00413094  |> \60                   PUSHAD
    8. 00413095  |.  E8 00000000          CALL    Excel汇?0041309A
    9. 0041309A  |$  5B                   POP     EBX                                                ;  Excel汇?00403970
    10. 0041309B  |.  8D43 E8              LEA     EAX, DWORD PTR DS:[EBX-18]
    11. 0041309E  |.  50                   PUSH    EAX                                                ; /pModule = "83EY4M3KN77BKG7F8M86"
    12. 0041309F  |.  FF15 70404100        CALL    NEAR DWORD PTR DS:[<&KERNEL32.GetModuleHandleA>]   ; \GetModuleHandleA
    13. 004130A5  |.  8D4B F3              LEA     ECX, DWORD PTR DS:[EBX-D]
    14. 004130A8  |.  51                   PUSH    ECX                                                ; /ProcNameOrOrdinal = ""
    15. 004130A9  |.  50                   PUSH    EAX                                                ; |hModule = 02311D90
    16. 004130AA  |.  FF15 50404100        CALL    NEAR DWORD PTR DS:[<&KERNEL32.GetProcAddress>]     ; \GetProcAddress
    17. 004130B0  |.  FF7424 28            PUSH    DWORD PTR SS:[ESP+28]
    18. 004130B4  |.  FF7424 28            PUSH    DWORD PTR SS:[ESP+28]
    19. 004130B8      FFD0                 CALL    NEAR EAX
    20. 004130BA  |.  61                   POPAD
    21. 004130BB      83C4 08              ADD     ESP, 8
    22. 004130BE      33C0                 XOR     EAX, EAX
    23. 004130C0      C3                   RETN



    复制代码


    修正一下,直接调用程序的导入表来实现。

    EB 12 6D 73 76 63 72 74 2E 64 6C 6C 00 73 74 72 63 70 79 00 60 E8 00 00 00 00 5B 8D 43 E8 50 FF
    15 70 40 41 00 8D 4B F3 51 50 FF 15 50 40 41 00 FF 74 24 28 FF 74 24 28 FF D0 61 83 C4 08 33 C0
    C3



    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2023-12-1 15:26
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2014-12-3 11:49:04 | 显示全部楼层
    本帖最后由 零下八度 于 2014-12-3 12:03 编辑

    前面几位果然牛~~
    俺好好看看,研究研究~~

    点评

    JZL
    或许你没看明白,这几个方法都是在真假码验证时,用真码去覆盖假码,也就是说通过了验证,保存的也是真码。  详情 回复 发表于 2014-12-3 11:52
    PYG19周年生日快乐!
  • TA的每日心情
    郁闷
    2018-1-26 16:44
  • 签到天数: 149 天

    [LV.7]常住居民III

     楼主| 发表于 2014-12-3 11:52:05 | 显示全部楼层
    零下八度 发表于 2014-12-3 11:49
    前面几位果然牛~~
    小菜能发言么?
    既然是明码比较,或许我会选择(内存)注册机,爆破有一点永远比不上注册 ...

    或许你没看明白,这几个方法都是在真假码验证时,用真码去覆盖假码,也就是说通过了验证,保存的也是真码。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-8-10 15:15
  • 签到天数: 32 天

    [LV.5]常住居民I

    发表于 2014-12-14 06:31:45 | 显示全部楼层
    这个要支持一下呀,学习了呀。。。。哈哈。。。。。
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    3 天前
  • 签到天数: 2569 天

    [LV.Master]伴坛终老

    发表于 2015-12-13 10:20:11 | 显示全部楼层
    哈哈,牛人真多。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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