环境
Windows xp sp3

工具
exeinfope
ollydbg

查壳
无壳的MFC程序

测试

输入
Nmae:123456
Serial:12345

点击“CHECK”后弹出错误提示的消息框,然后程序自己结束掉

依然是字符串搜索:

004014DB   .  8B1D FC214000 mov ebx,dword ptr ds:[<&USER32.PostQuitMessag>;  USER32.PostQuitMessage
004014E1   .  83F8 05       cmp eax,0x5
004014E4   .  7E 50         jle XCoSH_2.00401536
004014E6   .  8D6E 60       lea ebp,dword ptr ds:[esi+0x60]
004014E9   .  8BCD          mov ecx,ebp
004014EB   .  E8 5A030000   call <jmp.&MFC42.#CWnd::GetWindowTextLengthA_>
004014F0   .  83F8 05       cmp eax,0x5
004014F3   .  7E 41         jle XCoSH_2.00401536
004014F5   .  8D86 E0000000 lea eax,dword ptr ds:[esi+0xE0]
004014FB   .  8BCF          mov ecx,edi
004014FD   .  50            push eax
004014FE   .  E8 41030000   call <jmp.&MFC42.#CWnd::GetWindowTextA_3874>
00401503   .  8DBE E4000000 lea edi,dword ptr ds:[esi+0xE4]
00401509   .  8BCD          mov ecx,ebp
0040150B   .  57            push edi
0040150C   .  E8 33030000   call <jmp.&MFC42.#CWnd::GetWindowTextA_3874>
00401511   .  8B07          mov eax,dword ptr ds:[edi]
00401513   .  8038 36       cmp byte ptr ds:[eax],0x36
00401516   .  75 1E         jnz XCoSH_2.00401536
00401518   .  8078 01 32    cmp byte ptr ds:[eax+0x1],0x32
0040151C   .  75 18         jnz XCoSH_2.00401536
0040151E   .  8078 02 38    cmp byte ptr ds:[eax+0x2],0x38
00401522   .  75 12         jnz XCoSH_2.00401536
00401524   .  8078 03 37    cmp byte ptr ds:[eax+0x3],0x37
00401528   .  75 0C         jnz XCoSH_2.00401536
0040152A   .  8078 04 2D    cmp byte ptr ds:[eax+0x4],0x2D
0040152E   .  75 06         jnz XCoSH_2.00401536
00401530   .  8078 05 41    cmp byte ptr ds:[eax+0x5],0x41
00401534   .  74 17         je XCoSH_2.0040154D
00401536   >  6A 00         push 0x0
00401538   .  68 64304000   push CoSH_2.00403064                          ;  ASCII "ERROR"
0040153D   .  68 38304000   push CoSH_2.00403038                          ;  ASCII "One of the Details you entered was wrong"
00401542   .  8BCE          mov ecx,esi
00401544   .  E8 F5020000   call <jmp.&MFC42.#CWnd::MessageBoxA_4224>
00401549   .  6A 00         push 0x0
0040154B   .  FFD3          call ebx
0040154D   >  8D8E E0000000 lea ecx,dword ptr ds:[esi+0xE0]
00401553   .  8D5424 14     lea edx,dword ptr ss:[esp+0x14]
00401557   .  51            push ecx
00401558   .  68 2C304000   push CoSH_2.0040302C                          ;  ASCII "Well done,"
0040155D   .  52            push edx
0040155E   .  E8 D5020000   call <jmp.&MFC42.#operator+_926>
00401563   .  68 3C314000   push CoSH_2.0040313C
00401568   .  50            push eax
00401569   .  8D4424 18     lea eax,dword ptr ss:[esp+0x18]
0040156D   .  C74424 28 000>mov dword ptr ss:[esp+0x28],0x0
00401575   .  50            push eax
00401576   .  E8 B7020000   call <jmp.&MFC42.#operator+_924>
0040157B   .  8B00          mov eax,dword ptr ds:[eax]
0040157D   .  6A 00         push 0x0
0040157F   .  68 20304000   push CoSH_2.00403020                          ;  ASCII "YOU DID IT"
00401584   .  50            push eax
00401585   .  8BCE          mov ecx,esi
00401587   .  C64424 2C 01  mov byte ptr ss:[esp+0x2C],0x1
0040158C   .  E8 AD020000   call <jmp.&MFC42.#CWnd::MessageBoxA_4224>

[00401513]处开始比较内容:

00401513   .  8038 36       cmp byte ptr ds:[eax],0x36
00401516   .  75 1E         jnz XCoSH_2.00401536
00401518   .  8078 01 32    cmp byte ptr ds:[eax+0x1],0x32
0040151C   .  75 18         jnz XCoSH_2.00401536
0040151E   .  8078 02 38    cmp byte ptr ds:[eax+0x2],0x38
00401522   .  75 12         jnz XCoSH_2.00401536
00401524   .  8078 03 37    cmp byte ptr ds:[eax+0x3],0x37
00401528   .  75 0C         jnz XCoSH_2.00401536
0040152A   .  8078 04 2D    cmp byte ptr ds:[eax+0x4],0x2D
0040152E   .  75 06         jnz XCoSH_2.00401536
00401530   .  8078 05 41    cmp byte ptr ds:[eax+0x5],0x41
00401534   .  74 17         je XCoSH_2.0040154D

不相同则跳转到错误信息,于是就得到了一个字符串,但是并不知道这个比较的内容是对Name进行比较还是对Serial进行比较。
往上看一看有几个:

004014E1   .  83F8 05       cmp eax,0x5
004014F0   .  83F8 05       cmp eax,0x5

可以猜测输入的两个内容长度都要大于5
先猜猜比较的内容是Serial,于是有:

160 - 28 CoSH.2相关推荐

  1. 160 - 29 cosh.3

    环境 Windows xp sp3 工具 exeinfope ollydbg 查壳 无壳的MFC程序 测试 字符串搜索: 004014F5 |. E8 AA030000 call <jmp.&a ...

  2. 160 - 27 Cosh.1

    环境 Windows XP sp3 工具 exeinfope ollydbg 查壳 无壳的MFC程序 测试 弹出这个: 是一个CD-CHECK保护的程序. 字符串搜索,一下子就能来到这里: 00401 ...

  3. 思林杰科技通过注册:应收账款余额1.87亿 占营收比例160%

    雷递网 雷建平 2月18日报道 广州思林杰科技股份有限公司(简称:"思林杰科技")日前通过注册,准备在科创板上市,计划募资5.57亿元. 其中,2.67亿元用于嵌入式智能仪器模块扩 ...

  4. OSPF协议介绍及配置 (下)

    4.特殊区域详解 为了让我们的讲解更加的通俗易懂,我们看上面这个拓扑,这是一个根据客户业务逻辑结构所涉及的OSPF网络,共有三个区域(实际上远远不止),骨干区域area0为一级行及二级行所部署,三级行 ...

  5. JeecgBoot 常见问题QA

    常见问题Q&A 在线文档 2.0最新文档 1.1 文档 1.0 文档 更多资料 新手入门 版本日志 源码下载 视频教程 JEECG老版常见问题: 点击进入 JEECG老版在线文档: 点击进入 ...

  6. 模拟退火算法从原理到实战【基础篇】

    模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小 ...

  7. 从入门到入土(九)手摸手教你搭建RocketMQ双主双从同步集群,不信学不会!...

    精彩推荐 一百期Java面试题汇总 SpringBoot内容聚合 IntelliJ IDEA内容聚合 Mybatis内容聚合 接上一篇:从入门到入土(八)RocketMQ的Consumer是如何做的负 ...

  8. 服务器磁盘性能表现在,09计算机等级考试试题.doc

    文档介绍: 2010年9月计算机四级网络工程师笔试试题:文字版一.选择题(每小题1分,共40分) (1)下列关于RPR技术的描述中,错误的是B A)RPR与FDDI一样使用双环结构 B)在RPR环中, ...

  9. 快速掌握 JavaScript 库必备的 5 大技巧!

    作者 | Kevin Peters 译者 | 弯月 出品 | CSDN(ID:CSDNnews) 以下为译文: 在担任软件工程师的那几年里,我研究了很多代码库,可能有数百个之多.大多数时候,我都很发愁 ...

最新文章

  1. java或者jsp中修复会话标识未更新漏洞
  2. linux下生成源程序控制流图,Linux下控制(统计)文件的生成的C代码实现
  3. pl/postgresql_PostgreSQL PL / java简介
  4. Hibernate中hql的基本查询、条件查询、排序插叙、分页查询、投影查询
  5. python初级进阶篇
  6. python如何运行代码_python上怎么跑(运行)代码
  7. python单词倒排_【原创】python倒排索引之查找包含某主题或单词的文件
  8. heic文件怎么打开 怎么将安卓heic格式转化jpg
  9. java易宝支付接口文档_易宝支付的最新接口文档
  10. 个人(wiki)知识管理工具-一代神器之mybase
  11. [linux内核] 3.系统调用处理过程
  12. 计算机专业应届生简历表格,计算机专业应届生个人简历模板
  13. 计算机应用程序没声音,电脑没有声音怎么办,五个步骤解决电脑没声音
  14. 10_微信小程序-BLE低功耗蓝牙开发-连接设备
  15. Sam版Matlab粒子群PSO工具已经更新
  16. SRT软体机器人:等风来不如追风去,“万米蓝海”的探索才刚开始
  17. 怎么用matlab作出两个系统的相位差,如何求两个信号的相位差
  18. html背景图片css怎么添加,css样式怎么插入背景图片?
  19. 维修服务器请示,更换云服务器的请示
  20. 快速学习html、css的经典笔记

热门文章

  1. VS code常用的快捷键
  2. 9277用计算机,关于计算机常用进制以及进制之间的转换笔记
  3. antd Datepicker组件报错 ——date.clone is not a function或者date1.isAfter is not a function
  4. 超大超长图片居中显示且放大缩小无影响
  5. js如何把ajax获取的值返回到上层函数里?
  6. HashSet源码分析:JDK源码系列
  7. Git初始化配置以及配置github
  8. LeetCode第14题:最长公共前缀
  9. 【BZOJ 1098】办公楼(补图连通块个数,Bfs)
  10. 如何查看Ubuntu版本,以及Linux内核版本??