反汇编练习-20170121

来源:互联网 发布:手机 流程图 软件 编辑:程序博客网 时间:2024/06/03 13:30

前言

看到书上有个cm, 拿来玩下.
那个cm是个工具软件, 10年写的, 比较注册码时,还真的是明码比对.
用IDA找下真的注册码的交叉引用,还真的是预留的明码.
注册码比对函数,也是经典的送假注册码和真的注册码作为参数.

记录

注册流程00405BFA <cm.fnRegSn>     .  55            push ebp00405BFB                  .  8BEC          mov ebp,esp00405BFD                  .  81EC 0C000000 sub esp,0xC00405C03                  .  C745 FC 00000>mov dword ptr ss:[ebp-0x4],0x000405C0A                  .  8965 F8       mov dword ptr ss:[ebp-0x8],esp00405C0D                  .  68 03000000   push 0x300405C12                  .  68 84DB4700   push cm.0047DB8400405C17                  .  68 191A4800   push cm.00481A19                         ;  ASCII "http://www.jdfw.cn/bbs/upload/index.php"00405C1C                  .  68 9BDB4700   push cm.0047DB9B                         ;  ASCII "iexplore"00405C21                  .  68 A4DB4700   push cm.0047DBA4                         ;  ASCII "open"00405C26                  .  68 00000000   push 0x000405C2B                  .  B8 00000000   mov eax,0x000405C30                  .  E8 186C0000   call cm.0040C84D00405C35                  .  3965 F8       cmp dword ptr ss:[ebp-0x8],esp00405C38                  .  74 0D         je short cm.00405C4700405C3A                  .  68 06000000   push 0x600405C3F                  .  E8 036C0000   call cm.0040C84700405C44                  .  83C4 04       add esp,0x400405C47                  >  6A 00         push 0x000405C49                  .  6A 00         push 0x000405C4B                  .  6A 00         push 0x000405C4D                  .  68 04000080   push 0x8000000400405C52                  .  6A 00         push 0x000405C54                  .  8D45 FC       lea eax,dword ptr ss:[ebp-0x4]00405C57                  .  50            push eax00405C58                  .  68 04000080   push 0x8000000400405C5D                  .  6A 00         push 0x000405C5F                  .  68 84DB4700   push cm.0047DB8400405C64                  .  68 04000080   push 0x8000000400405C69                  .  6A 00         push 0x000405C6B                  .  68 431A4800   push cm.00481A43                         ;  ASCII "注册软件"00405C70                  .  68 04000080   push 0x8000000400405C75                  .  6A 00         push 0x000405C77                  .  68 4C1A4800   push cm.00481A4C                         ;  ASCII "请输入注册码"00405C7C                  .  68 05000000   push 0x500405C81                  .  BB 00E84000   mov ebx,cm.0040E80000405C86                  .  E8 C86B0000   call cm.0040C853                         ;  UI_输入注册码00405C8B                  .  83C4 40       add esp,0x4000405C8E                  .  85C0          test eax,eax00405C90                  .  0F84 AE000000 je cm.00405D4400405C96                  .  68 591A4800   push cm.00481A59                         ;  ASCII "ASDA-GDFWT-FHRR-BJNR"00405C9B                  .  FF75 FC       push dword ptr ss:[ebp-0x4]00405C9E                  .  E8 12B9FFFF   call <cm.fnCalcRegSn>                    ;  将测试输入和真的注册码作为函数入参00405CA3                  .  83C4 08       add esp,0x800405CA6                  .  83F8 00       cmp eax,0x000405CA9                  .  B8 00000000   mov eax,0x000405CAE                  .  0f94c0        sete al00405CB1                  .  68 02000080   push 0x8000000200405CB6                  .  6A 00         push 0x000405CB8                  .  50            push eax00405CB9                  .  68 01000000   push 0x100405CBE                  .  BB 70D04000   mov ebx,cm.0040D07000405CC3                  .  E8 8B6B0000   call cm.0040C85300405CC8                  .  83C4 10       add esp,0x1000405CCB                  .  33C9          xor ecx,ecx00405CCD                  >  41            inc ecx00405CCE                  .  51            push ecx00405CCF                  .  50            push eax00405CD0                  .  3BC8          cmp ecx,eax00405CD2                  .  0F8F 39000000 jg cm.00405D1100405CD8                  .  6A 00         push 0x000405CDA                  .  6A 00         push 0x000405CDC                  .  6A 00         push 0x000405CDE                  .  68 01030080   push 0x8000030100405CE3                  .  6A 00         push 0x000405CE5                  .  68 00000000   push 0x000405CEA                  .  68 04000080   push 0x8000000400405CEF                  .  6A 00         push 0x000405CF1                  .  68 6E1A4800   push cm.00481A6E                         ;  ASCII "注册成功!"00405CF6                  .  68 03000000   push 0x300405CFB                  .  BB 60EA4000   mov ebx,cm.0040EA6000405D00                  .  E8 4E6B0000   call cm.0040C85300405D05                  .  83C4 28       add esp,0x2800405D08                  .  E9 37000000   jmp cm.00405D44
0 0
原创粉丝点击