反汇编练习-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
- 反汇编练习-20170121
- ARM反汇编练习
- 反汇编练习-20170111
- 反汇编练习-20170113
- 反汇编练习20170311
- x86反汇编练习-20161120
- 反汇编练习-2016-1130
- 反汇编练习2017-0123
- 反汇编练习-20170124a
- 反汇编练习20170312a
- 三 练习反汇编C语言程序
- 反汇编个人练习:不用循环语句实现循环操作
- [反汇编练习] 160个CrackMe之001
- 做ARM反汇编练习的环境配置
- 反汇编
- 反汇编
- 反汇编
- 反汇编
- 欢迎使用CSDN-markdown编辑器
- linux之cp/scp命令+scp命令详解
- Search in Rotated Sorted Array II
- (13)Java多线程之线程组
- 分类决策树原理及实现(四)
- 反汇编练习-20170121
- 学习plsqp过程
- spring Multiple annotations found at this line: 解决办法
- LeetCode 228. Summary Ranges
- Android AudioRecord 初识
- 数据库用一个int类型的字段保存前端多个字段(该字段为多选)
- JSP基础
- OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。
- 初学Android--APP开发感受