新160个crackme - 091-DOSKEY-CRACKME2

运行分析

  • 需破解Name和Password

PE分析

  • upx壳,32位

手动脱壳

  • x32dbg打开程序,按一下F8,根据ESP定律,在此处下断点
  • 按一下F9,两下F8,来到OEP处00401000
  • 打开Scylla,点击转储保存文件
  • 点击IAT自动搜索,点击获取导入,点击恢复转储,选择上一步保存的文件

  • 使用DIE查看,发现脱壳成功,程序为MFC程序

静态分析&动态调试

  • ida搜索字符串,双击进入

  • 通过静态分析,逻辑如上

  • 3个变量的值如上

算法分析

python 复制代码
username = 'concealbear'
str_1 = 'biq2jrxc-ape3*dsynhz8gt5o7f0uml4v19w6+/k'
str_2 = '-apeoiq2jrml4xcsw6ynh7f0uv19+3/k*dbz8gt5'
str_3 = 'h7f0uv19+3/kjrml4xcsw6yn*dbz8gt5-apeoiq2'

username_encode_1 = []
for k in range(len(username)):
    v5 = 41 * ord(username[k]) % 40;
    v5 = str_1[v5];
    username_encode_1.append(v5)

for i in range(len(username)):
    v8 = 31 * ord(username[i]) % 40;
    v8 = str_2[v8];
    username_encode_1.append(v8)

for j in range(len(username_encode_1)):
    username_encode_1[j] = str_3[11 * ord(username_encode_1[j]) % 40]

print("".join(username_encode_1))
  • 验证成功
相关推荐
JS_SWKJ几秒前
多网闸级联部署避坑指南:安全与性能如何兼得?
网络·安全
谭欣辰11 分钟前
C++ 版Dijkstra 算法详解
c++·算法·图论
yuan1999712 分钟前
C&CG(列与约束生成)算法,来解决“风光随机性”下的微网鲁棒配置问题
c语言·开发语言·算法
YaBingSec24 分钟前
玄机靶场:供应链安全-供应链应急-Part2 通关笔记
java·笔记·安全
wayz1133 分钟前
Day 11 编程实战:XGBoost金融预测与调参
算法·机器学习·金融·集成学习·boosting
念越34 分钟前
算法每日一题 Day07|双指针求解和为S的两个数
算法·力扣
qeen8741 分钟前
【算法笔记】双指针及其经典例题解析
c++·笔记·算法·双指针
黎阳之光44 分钟前
黎阳之光:以视频孪生+全域感知,助力低空经济破局突围
大数据·人工智能·算法·安全·数字孪生
CM莫问1 小时前
详解机器学习中的马尔可夫链
人工智能·算法·机器学习·概率论·马尔可夫·马尔科夫
南宫萧幕1 小时前
基于 Luenberger 观测器的 PMSM 无速度传感器 id=0 矢量控制系统 Simulink 建模与实现(一)
算法·matlab·汽车·控制