分析abex'crackme#2
这是一个根据输入的name自动生成serial的VB软件。

1.指令分析
打开之后,外部主要有三条指令。

jmp dword ptr ds:[0x4010A0] ; msvbvm60.ThunRTMain
push 0x401E14
call ; <jmp.&MSVBVM60.#ThunRTMain_100>
起始从push 0x401E14开始,将所需要的参数结构体入栈,传入函数。
call 00401232即调用jmp dword ptr ds:[0x4010A0]进入主函数
2.字串搜索
打开“查找”--》“所有参考文本字串”,找到我们错误提示的字符串。

2.1字串分析
找到“Wrong..”和"congratulation..."相邻,那么必定有比较,匹配序列号是否正确,跳转到对应字符串提示。向上查找

serial查找
这是相当于C语言的strcmp函数,即EDX和EAX是我们需要的参数,设置断点,F9执行到断点,在生成的可执行文件中写入name,继续执行,找到存储数据的对应栈地址。

根据栈中存储内存地址,找到name和serial内存地址

转换为长型Unicode

校验结果
得到name=123456,对应的serial=95969798

解码程序
#include <string>
#include <iostream> using namespace std; int main()
{
string str;
cout << "请输入name:" << endl;
cin >> str;
cout << "你的serial为:" << endl;
cout << uppercase;
for (int i = ; i < ; ++i) {
cout << hex << (int)str[i] + 0x64;
}
cout << nouppercase; system("PAUSE");
return ;
}

分析abex'crackme#2的更多相关文章
- 分析abex'crackme#1
测试文件下载:https://www.wocloud.com.cn/webclient/share/sindex.action?id=i9K_Br6TgE7Kf_YTF04yHmKcRy5TUdZ8U ...
- 看雪论坛 破解exe 看雪CTF2017第一题分析-『CrackMe』-看雪安全论坛
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 逆向 黑客 破解 学习 论坛 『CrackMe』 http://bbs.pediy.co ...
- RE-1 逆向分析基础
逆向分析基础 0x01-0x0C 本笔记使用汇编指令为x86架构下汇编指令,ARM架构汇编指令不做介绍 0x01. 关于RE 逆向工程(Reverse Engineering RE) 逆向分析方法: ...
- Reverse Core 第一部分 代码逆向技术基础
@date: 2016/10/14 <逆向工程核心原理>笔记 记录书中较重要的知识,方便回顾 ps. 因有一些逆向基础,所以我本来就比较熟悉的知识并未详细记录 第一章 关于逆向工程 目标, ...
- LoardPe与Import REC X64dbg脚本 脱壳 Upx
目录 LoardPe与Import REC X64dbg脚本 脱壳 Upx 一丶X64dbg调试器与脚本 1.1 起因 1.2 脚本的调试 1.3 Upx脱壳脚本 二丶LoardPe 内存Dump与I ...
- 初期web渗透的学习路线
成长路线 信息安全 前端安全 web安全 基础,书籍推荐 <网站入侵与脚本攻防修炼> 什么是web漏洞 什么是sql注入漏洞 什么是数据库 什么是文件上传漏洞 什么是跨站脚本攻击 < ...
- CrackMe005-下篇 | 逆向破解分析 | 160个CrackMe(视频+图文)深度解析系列
作者:逆向驿站微信公众号:逆向驿站知乎:逆向驿站 CrackMe005,上篇说了具体方法,下篇来发逆向分析过程,看看老夫是如何得到上篇的具体方法的! 准备 [环境和工具] win7/xp虚拟机环境 C ...
- 360破解大赛crackme分析--之3DES解密附加数据
具体的分析这里有.本人仅仅是对这里面有趣的算法进行了一些学习 分析链接 这次是逆向的使用3DES解密的过程中的内容: 使用微软的crypt库 使用3DES解密程序中的附加数据 代码: VOID enc ...
- 一个crackme的分析
是看雪合集的一个,因为老师让我们多练习,所以我就找了个crackme来练习 http://images2015.cnblogs.com/blog/638600/201612/638600-201612 ...
随机推荐
- openprocess打不开 如何读取exe路径描述
openprocess打不开 如何读取exe路径描述 openprocess打不开 如何读取exe路径描述 https://bbs.pediy.com/thread-210652.htm https: ...
- P4206[NOI2005]聪聪与可可
链接P4206 [NOI2005]聪聪与可可 类似于开车旅行,如果老鼠确定了那么猫的路线是确定的. 预处理\(g_{i,j}\)表示老鼠在\(i\)号点,猫的下一步方向,\(Bfs\)就行了 设\(f ...
- jmeter性能工具 之监控cpu,内存等信息(四)
1.jmeter 本身不支持直接监控 cpu,内存等信息,需要去官网下载控件 JMeterPlugins-Standard-1.4.0.zip 解压好将其中\lib\ext\JMeterPlug ...
- Qt 样式对于QPushbutton 增加 hover press release效果
按钮的三种状态,未被选中,选中(划过),点击时候的效果 使用setStyleSheet即QSS样式实现. QPushButton *MyBtn = new QPushButton(this); MyB ...
- selenium 自动化的坑(5)
这次要说的自动化坑是关于<a>标签的,话不多说,先上图: 这个表面上看起来是个输入框,操作的时候需要鼠标先悬停,才会出来下面的选项,刚开始我尝试直接点击,结果当然是失败的了. 注意:我的操 ...
- NLP第一周
19-21周,每周学习15小时以上 基础:Python编程基础:基础的概览统计.了解线性代数:足够的时间投入. 完成9个课程项目,每个5小时-15小时 完成聊天机器人项目(40-80小时) Capst ...
- [USACO2011 Feb]Best Parenthesis
Time Limit: 10 Sec Memory Limit: 128 MB Description Recently, the cows have been competing with stri ...
- 前端JS编码规范
对初学者来说应该学习的JavaScript编码规范: 传送门: http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29292475 ...
- Oulipo (poj3461
Oulipo Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 29759 Accepted: 11986 Descript ...
- curry柯里化
Function.prototype.method = function(name,func){ if(!this.prototype[name]){ this.prototype[name] = f ...