hu1y40's blog

hu1y40'blog
天堂的穹空遍布地狱之火的颜色,但也是天堂。
  1. 首页
  2. 书籍阅读
  3. 正文

加密与解密 第3章实验

2023年10月7日 1096点热度 0人点赞 0条评论

0x01 IDA

实验环境

推荐使用的环境 备注
操作系统 Windows 10
编译器
编译选项
build版本
调试器 IDA

实验前准备

  1. 去下载书籍配套资料。
  2. 用IDA打开。

实验过程

结构体

fig:

shift + f9打开Structures窗口,随后按ins键添加一个结构体,D键添加输入(db,dw,dd),A键添加ASCII字符为结构体成员。

到数据处Alt+Q进行应用。

fig:

汇编代码区选中结构体数据按T

fig:

枚举类型

fig:

打开Enums窗口,随后按ins键添加一个枚举类型,N键枚举成员。

fig:

M键转换为枚举成员。

IDC解密脚本

auto i,x;
auto size=0x15;
auto key=0x1;
auto from=0x401060;
for(i=0;i<size;i++)
{
x=Byte(from);
x=(x^key);
PatchByte(from,x);
from=from+1;
}

fig:

解密结果。

静态分析技术应用实例

1.CrackMe.exe

首先丢进IDA看看

fig:

F5反汇编

fig:

其实反汇编代码已经能看出来,String2是9981,输入9981即可,或者将汇编的跳转jnz short loc_4010E8nop掉也可以。

2.ReverseMe.exe

看需求:

  • 移去 "Okay ...."对话框
  • 显示一个MessageBox对话框,上面显示用户输入的字符
  • 在显示一个对话框,告知用户输入的正确还是错误
  • 将按钮标题改成- reversed - 。
  • 是序列号为pediy

按shift + f12看看字符串找到"okay ...."

fig:

既然要移除直接jmp到下一指令即可。

用于获取编辑框字符的函数由GetWindowText,GetDlgItemText,在输入表中双击随后ctrl + x查看交叉引用发现地址text:00401223处比较可疑,获取文本后紧接着messagebox弹窗,但是却因为上面的跳转指令jmp eax没有执行,将jmp eaxnop掉就好了。

fig:

第三个直接改变字符串就行了

fig:

第四个,很显然这里对输入的结果进行了一些处理(Text是我们输入文本),我们要校验可以写在这块区域

1270 开始的汇编伪代码为:

lenth = len(str)
for i in str:
tmp = i
if i == '0' || (i<'0' && i>'9' ):
break
sum += int(tmp)
sum = (sum << 20)
sum += lenth
lenth -= 1
if sum == 0:
sum += 1

这是IDA翻译结果

do
{
if ( *result < 48 || (unsigned __int8)*result > 0x39u )
break;
LOBYTE(v6) = *result;
v5 = WindowTextA + ((v6 + v5) << 20);
++result;
--WindowTextA;
if ( !v5 )
v5 = 1;
}
while ( WindowTextA );

fig:

随后就是在该区域内写一个简单的字符串比较代码了。

标签: 实验 总结
最后更新:2023年10月7日

hu1y40

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 0x01 IDA
    • 实验环境
    • 实验前准备
    • 实验过程
      • 结构体
      • 枚举类型
      • IDC解密脚本
      • 静态分析技术应用实例

分类目录

  • 0day安全
  • Bypass
  • C++Prime
  • CTF
  • DoS
  • DoS
  • FUZZ
  • iot
  • JSONP
  • MISC
  • MISC
  • PHP伪协议
  • Python
  • REVERSE
  • sqli-labs
  • SQL注入
  • Trick
  • UAF
  • WEB
  • WEB
  • XXE
  • 书籍阅读
  • 二进制
  • 代码阅读
  • 信息搜集
  • 信息泄露
  • 加密与解密
  • 双重释放漏洞
  • 反序列化
  • 命令执行
  • 命令执行
  • 堆溢出
  • 密码学
  • 弱加密
  • 提权漏洞
  • 整数溢出
  • 文件上传
  • 未分类
  • 栈溢出
  • 格式化字符串漏洞
  • 模型
  • 汇编语言
  • 渗透测试
  • 漏洞分析
  • 漏洞利用
  • 漏洞战争
  • 漏洞挖掘
  • 病毒分析
  • 越界读取
  • 路径遍历
  • 逻辑漏洞
  • 配置不当
  • 钓鱼
  • 靶场
最新 热点 随机
最新 热点 随机
加密算法 2023年度总结 RTSPServer StackOverflow Vulnerability FUZZ 总览篇 MP4Box 无限循环漏洞 CVE-2023-40477 Winrar RCE漏洞分析
Fuzzing101 9 逻辑漏洞 0day安全 第10章实验 bugku 白哥的鸽子 bugku where_is_flag bugku 多种方法解决

COPYRIGHT © 2023 hu1y40's blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备2021009673号-1