【ZCTF】easy reverse 详解
0x01 前言
团队逆向牛的解题思路,分享出来~
0x02 内容








此处取了 *a3 和 *(a3 + 1)的值

此处回写了 *a3和 *(a3 + 1)的值
typedef int(*encrypt_str)(uint8_t*, uint32_t, int*);
auto h = LoadLibrary("bbcdd1f7-9983-4bf4-9fde-7f77a6b947b4.dll");
encrypt_str f = (encrypt_str)((uint8_t*)h + 0x67C + 0xC00);
int v1 = 0xEFBEADDE;
char testStr[] = "0123456789abcdefgh";
f((uint8_t *)testStr, strlen(testStr)+, &v1);




uint8_t str[] = { };[/align] for (int n = ; n < ; n+=)
{
for (int i = ; i <= 0xFF; i++)
for (int j = ; j <= 0xFF; j++)
{
uint8_t *data = new uint8_t[];
memcpy(data, str, );
*(data + n) = (uint8_t)i;
*(data + n + ) = (uint8_t)j;
f(data, , &v1);
if (data[n] == pstr[n] && data[n+] == pstr[n+]) {
str[n] = i;
str[n + ] = j;
break;
}
}
}
printf("%s\n", str);
f(str, , &v1);
if (memcmp(str, pstr, ) == )
{
printf("It's OK!\n");
}
团队逆向牛的解题思路,分享出来~
0x02 内容








此处取了 *a3 和 *(a3 + 1)的值

此处回写了 *a3和 *(a3 + 1)的值
typedef int(*encrypt_str)(uint8_t*, uint32_t, int*);
auto h = LoadLibrary("bbcdd1f7-9983-4bf4-9fde-7f77a6b947b4.dll");
encrypt_str f = (encrypt_str)((uint8_t*)h + 0x67C + 0xC00);
int v1 = 0xEFBEADDE;
char testStr[] = "0123456789abcdefgh";
f((uint8_t *)testStr, strlen(testStr)+, &v1);




uint8_t str[] = { };[/align] for (int n = ; n < ; n+=)
{
for (int i = ; i <= 0xFF; i++)
for (int j = ; j <= 0xFF; j++)
{
uint8_t *data = new uint8_t[];
memcpy(data, str, );
*(data + n) = (uint8_t)i;
*(data + n + ) = (uint8_t)j;
f(data, , &v1);
if (data[n] == pstr[n] && data[n+] == pstr[n+]) {
str[n] = i;
str[n + ] = j;
break;
}
}
}
printf("%s\n", str);
f(str, , &v1);
if (memcmp(str, pstr, ) == )
{
printf("It's OK!\n");
}
结果:

【ZCTF】easy reverse 详解的更多相关文章
- Android APK反编译easy 详解
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...
- Redis:默认配置文件redis.conf详解
转: Redis:默认配置文件redis.conf详解 # Redis配置文件样例 # Note on units: when memory size is needed, it is possibl ...
- Redis配置文件redis.conf详解
一.Redis配置文件redis.conf详解 # Note on units: when memory size is needed, it is possible to specifiy # it ...
- Android Animation动画详解(二): 组合动画特效
前言 上一篇博客Android Animation动画详解(一): 补间动画 我已经为大家介绍了Android补间动画的四种形式,相信读过该博客的兄弟们一起都了解了.如果你还不了解,那点链接过去研读一 ...
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解
前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...
- Quartz.net开源作业调度框架使用详解
前言 quartz.net作业调度框架是伟大组织OpenSymphony开发的quartz scheduler项目的.net延伸移植版本.支持 cron-like表达式,集群,数据库.功能性能强大更不 ...
- Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
转载:http://freeloda.blog.51cto.com/2033581/1288553 大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负 ...
- linux查看端口及端口详解
今天现场查看了TCP端口的占用情况,如下图 红色部分是IP,现场那边问我是不是我的程序占用了tcp的链接,,我远程登陆现场查看了一下,这种类型的tcp链接占用了400多个,,后边查了一下资料,说E ...
随机推荐
- MR汇聚工具步骤
---------------------------------MR汇聚工具步骤------------------------------------- 1.需要连上141服务器 用户:root ...
- hbase-数据恢复流程
引用<https://blog.csdn.net/nigeaoaojiao/article/details/54909921> hlog介绍: hlog构建: 从图中可以看出,对于一个hl ...
- python 10 迭代器和三元运算符
一.迭代器 1.迭代器协议:对象必须提供一种next方法,执行该方法要么返回迭代中的下一项,要么引起一个stopIteration异常,终止迭代 2.可迭代对象:实现了迭代器协议的对象 3.pytho ...
- JS require and import
作者:寸志链接:https://www.zhihu.com/question/56820346/answer/150724784来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- GUI学习之八——复选框QCheckBox的学习总结
一.描述 a.QCheckBox一般用于给用户提供若干选项中多个选择时的使用 b.控件左侧有一个方框来显示控件被选中. c.复选框是有三种状态的 二.使用 1.创建 复选框的创建和常规的按钮创建方式是 ...
- 关于python-flask中规范创建项目的几个关键py项目文件
1.config.py——配置文件 DEBUG = True DIALECT = 'mysql' DRIVER = 'mysqldb' USERNAME = 'root' PASSWORD = '' ...
- py3.0第四天 函数
列表生成 # -*- coding: utf-8 -*- # data =[1,2,3] # for index,i in enumerate(data): # print (index,i) # d ...
- 开发HR人事考试系统介绍
确定好需要开发的模块以及功能 一套人事考试系统主要模块: 1)组织管理:公司部门成员信息 2)人事管理:人事信息,离职管理,职务管理,岗位管理: 3)考勤管理:班次设置,停工放假,假日设置,刷卡记录, ...
- 字符串、数组、对象常用API
常用的字符串API 1.常见方法和属性 length 属性,获取字符串的字符数量 charAt(i) 返回给定位置的字符 charCodeAt( ) 返回给定位置的字符的字符编码 <scrip ...
- nginx高级用法汇总
1,nginx限制IP访问,允许IP访问 1.1 模块:nginx_http_access_module 注意:检测顺序是按配置顺序进行的,匹配首条规则将会被使用,所以要注意在配置文件配置的顺序. a ...