160 - 48 DueList.3

环境:
Windows xp sp3

工具:
Ollydbg
exeinfope

0x00 查壳

无壳的程序

0x01 分析

应该就是选上某个或多个框后点Check就能成功的,那应该就是不同框对应不同的值咯。旁边还有个提示:建议使用资源编辑器。
直接OD载入,看看不同的框代表什么值。

00401127   > /0FBE8E FE2040>movsx ecx,byte ptr ds:[esi+0x4020FE]     ;  这里获取框的值
0040112E   . |83F9 4D       cmp ecx,0x4D
00401131   . |74 2F         je XDueList_.00401162
00401133   . |890D 5E214000 mov dword ptr ds:[0x40215E],ecx
00401139   . |51            push ecx                                 ; /ButtonID
0040113A   . |FF75 08       push dword ptr ss:[ebp+0x8]              ; |hWnd
0040113D   . |E8 D0010000   call <jmp.&USER32.IsDlgButtonChecked>    ; \IsDlgButtonChecked
00401142   . |46            inc esi                                  ;  看看这个框是不是被选上了
00401143   . |83F8 00       cmp eax,0x0
00401146   .^ 74 DF         je XDueList_.00401127                    ;  是的话就往下计算,不是就下一个框
00401148   . |A1 5E214000   mov eax,dword ptr ds:[0x40215E]
0040114D   . |0FBE8E FE2040>movsx ecx,byte ptr ds:[esi+0x4020FE]
00401154   . |0FAFC1        imul eax,ecx
00401157   . |0FAFC6        imul eax,esi
0040115A   . |0105 62214000 add dword ptr ds:[0x402162],eax
00401160   .^\EB C5         jmp XDueList_.00401127
00401162   >  A1 62214000   mov eax,dword ptr ds:[0x402162]          ;  这个值要328FE
00401167   .  6BC0 4D       imul eax,eax,0x4D
0040116A   .  3D 6654F300   cmp eax,0xF35466
0040116F   .  75 20         jnz XDueList_.00401191

在401142处下个断点,选一个框就运行一次,18次就能知道哪几个框对应哪几个值了,而且还知道对应的顺序。如下:

复选框的编号:1  2  3  4  5  6  7  8  9
10 11 12 13 14 15 16 17 18复选框的属性:
顺序 值    编号
1    0x16  4
2    0x49  2
3    0x5E  3
4    0x15  10
5    0x27  17
6    0x26  6
7    0x21  7
8    0x25  5
9    0x1D  18
10   0x59  8
11   0x53  9
12   0x37  11
13   0x31  12
14   0x48  13
15   0x5D  14
16   0xC   15
17   0x61  1
18   0x52  16
19   0x4D  结束

0x02 算法分析

计算过程就两三行:

00401148   .  A1 5E214000   mov eax,dword ptr ds:[0x40215E]
0040114D   .  0FBE8E FE2040>movsx ecx,byte ptr ds:[esi+0x4020FE]
00401154   .  0FAFC1        imul eax,ecx
00401157   .  0FAFC6        imul eax,esi
0040115A   .  0105 62214000 add dword ptr ds:[0x402162],eax
00401160   .^\EB C5         jmp XDueList_.00401127
00401162   >  A1 62214000   mov eax,dword ptr ds:[0x402162]          ;  这个值要328FE
00401167   .  6BC0 4D       imul eax,eax,0x4D
0040116A   .  3D 6654F300   cmp eax,0xF35466

因为每个复选框对应一个ID:
被选中的复选框的ID* 下一个复选框的ID *当前复选框的次序 = 被选中的复选框的值
最后一个复选框被选上的话会有一个0x4D作为结束的ID。
将所有被选中的复选框的值加起来,乘以0x4D,看看乘积是否为0xF35466,如果等于则成功。

注册机也不难写,每个框对应的值出来后,深搜一遍,看看哪种组合的情况下会等于即可。

于是得到:

2 3 4 5 6 7 11 14 15  //这是用到的值的次序编号,还有看看这些值是由哪几个位置的框计算出来的

对应的框框位置:

2 3 10 17 6 7 9 13 14

选上就好了:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

160 - 49 DueList.4

环境&#xff1a; Windows xp sp3 工具&#xff1a; ollydbg exeinfope 0x00 查壳 无壳的程序 0x01 分析 运行后随便输入点东西&#xff0c; OD载入&#xff1a; 00401127 > /6A 00 push 0x0 ; /lParam 0 00401129 …

MD5算法详解

0x00 前言 MD5是一种哈希算法&#xff0c;用来保证信息的完整性。 就一段信息对应一个哈希值&#xff0c;且不能通过哈希值推出这段信息&#xff0c;而且还需要保证不存在任意两段不相同的信息对应同一个哈希值。不过MD5算法算出来的值也就16个字节&#xff08;16*8128&#x…

基于XMPP协议的aSmack源码分析

在研究如何实现Pushing功能期间&#xff0c;收集了很多关于Pushing的资料&#xff0c;其中有一个androidnp开源项目用的人比较多&#xff0c;但是由于长时间没有什么人去维护&#xff0c;听说bug的几率挺多的&#xff0c;为了以后自己的产品稳定些&#xff0c;所以就打算自己研…

[Reverse] - 百度杯”CTF比赛 2017 二月场-CrackMe-1

环境&#xff1a;Windows XP 工具&#xff1a; IDA OD EXEINFOPE 0x00 查壳 0x01 分析 拖入OD&#xff0c;字符串查找看一看。 跟进去看就可以知道关键call了 0040196A . 48 dec eax 0040196B . 0F85 C4000000 jnz CrackMe1.00401A35 00401971 . …

【DeepLearning】Exercise:Learning color features with Sparse Autoencoders

Exercise:Learning color features with Sparse Autoencoders 习题链接&#xff1a;Exercise:Learning color features with Sparse Autoencoders sparseAutoencoderLinearCost.m function [cost,grad,features] sparseAutoencoderLinearCost(theta, visibleSize, hiddenSize,…

win7 64位系统下 PL/SQL无法连接的问题

第一步&#xff1a;下载oracle客户端 由于 PLSQL Developer 没有64位版本&#xff0c;所以在64位系统上运行该程链接64位Oracle时就会报错&#xff0c;笔者为这个问题纠结了好几天&#xff0c;后来通过请教Google 动手实践&#xff0c;终于搞定了这个问题。现在把笔者解决的过…

2016腾讯安全挑战赛第一轮-PC游戏方向

0x00 查壳 无壳的VC程序 0x01 测试 没有消息弹窗&#xff0c;尝试对函数下断点。 OD载入后&#xff0c;CtrlN查找函数&#xff0c;找到GetDlgItem 程序运行起来&#xff0c;等输入完后点击确定后程序断下。一路F8就来到这里 00401EED . E8 6A5B0000 call Tenc…

JavascriptDOM(三)

简介 今天学习第二天的知识,js和BOM对象,再接再厉,fighting~学习原则 脚踏实地的走好每一步,要想学好高级部分,基础知识必须扎实呀 掌握基本语法,完成小案例,写博客作总结,基本就是这个节奏,下面我们一起快速入门吧JavaScript快速入门 1. js简介 1.js基于对象和事件驱动的脚本语…

看雪 2016CrackMe 攻防大赛 - 1-Crack_Me-凉飕飕

环境&#xff1a; Windows xp 工具&#xff1a; IDA EXEINFOPE OD 0x00 查壳 EXEINFOPE查壳&#xff0c; 无壳 0x01 分析 if ( (unsigned __int16)wParam 0x40B ) // 成功{*(_OWORD *)v22 xmmword_41DB98;v25 0;v23 xmmword_41DBA8;v24 xmmword_41DBB8;memset_4039D0…

使用CSDN-markdown编辑器

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

C++ vector类详解

转自http://blog.csdn.net/whz_zb/article/details/6827999 vector简介 vector是STL中最常见的容器&#xff0c;它是一种顺序容器&#xff0c;支持随机访问。vector是一块连续分配的内存&#xff0c;从数据安排的角度来讲&#xff0c;和数组极其相似&#xff0c;不同的地方就是…

ViewPager的使用方法和实现过程

看图先&#xff1a; 页面中填充内容是随机关键词飞入和飞出动画效果&#xff0c;随后会更新&#xff0c;现在请先无视吧 首先是 导入jar包 下载地址&#xff1a; android-support-v4.jar 布局文件里添加viewPager布局 [html] view plaincopyprint?<android.support.v4.vi…

如何通过浏览器在所有响应内容中查找文本

使用浏览器的开发者工具查找响应文件的内容 ** Chrome ** 版本&#xff1a; 快捷键&#xff1a;CtrlShiftF 可以看到已经查找出来了 ** firefox ** 版本

【Leetcode】【Easy】Implement strStr()

Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. 解题&#xff1a; 本题为典型的KMP算法考察题&#xff0c;KMP算法描述为&#xff1a; 设主串S&#xff0c;匹配串P&#xff0c;i为S的索引下…

Jenkins入门指南

新手学习使用Jenkins 安装好Jenkins后如何运行脚本 1.新建item 2.输入任务名称&#xff0c;选择项目类型&#xff0c;点击确定 3.填个描述就好了&#xff0c;新手学jenkins&#xff0c;其他都不看&#xff0c;跑起来再说 4.点这个高级&#xff0c;选择你要运行的脚本所在…

Sublime Text 3 史上最性感的编辑器

↑ ↑ ↑ ↑ ↑ 请看文件夹 ↑ ↑ ↑ ↑ ↑ 下载 / 安装 windows / MAC OS 官网下载&#xff0c;双击安装&#xff0c;这个都会吧&#xff5e; linux linux下安装&#xff0c;一种办法是从官网下载 tar.bz &#xff0c;手动安装。 这里介绍用 apt-get 自己主动安装方法&#xf…

swift入门之TableView

IOS8更新了&#xff0c;oc还将继续但新增了swift语言&#xff0c;能够代替oc编写ios应用&#xff0c;本文将使用swift作为编写语言&#xff0c;为大家提供step by step的教程。 工具 ios每次更新都须要更新xcode&#xff0c;这次也不例外&#xff0c;但使用xcode6&#xff0c;须…

Jmeter BeanShell学习(一) - BeanShell取样器(一)

通过利用BeanShell取样器设置请求发送的参数。 第一步&#xff1a;添加BeanShell取样器 第二步&#xff1a;在BeanShell中输入执行的代码 log.info("脚本开始执行"); //意思是将字符串输出到日志消息中 vars.put("username","123163.com");//…

Jmeter BeanShell学习(一) - BeanShell取样器(二)

利用BeanShell取样器获取接口返回的JSON格式的结果&#xff0c;并将该结果写入到文件。 第一步&#xff1a;添加BeanShell取样器 前面几个取样器的内容查看&#xff1a; https://blog.csdn.net/goodnameused/article/details/96985514 第二步&#xff1a;查看返回的结果格式 …

160 - 50 DueList.5

环境&#xff1a; Windows xp sp3 工具&#xff1a; Ollydbg exeinfope 0x00 查壳 可以看出程序有加壳&#xff0c;那么我们下一步就是脱壳了。 0x01 脱壳 看上去没什么特别的地方&#xff0c;就直接 单步跟踪法 来脱壳吧 近call F7&#xff0c;远call F8 来到这里 哈&…