首页
社区
课程
招聘
新手求助关于逆向中程序接收的字符和输出乱码的问题
发表于: 2016-10-19 03:37 3651

新手求助关于逆向中程序接收的字符和输出乱码的问题

2016-10-19 03:37
3651
最近才接触逆向,在做一道crackme时,发现爆破后输出的flag字符带有乱码 
  查看源码发现从GetWindowText接收的变量没有作为加密算法的参数。而输出时SetWindowText参数值会随机变化,导致flag也随机出现乱码。这种情况该如何处理才能获得正确的flag??

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 756
活跃值: (114)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
程序发上来看看
2016-10-19 10:18
0
雪    币: 193
活跃值: (872)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
程序不发出来 无法分析的
2016-10-19 10:49
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
附件已经上传 dalao有空帮我看看
2016-10-19 13:53
0
雪    币: 756
活跃值: (114)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
大概看了一下,貌似这个是根据输入的序列号计算出用户名然后显示出来,爆破的可能会显示乱码。
2016-10-19 16:49
0
雪    币: 756
活跃值: (114)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
取完编辑框内容后有4个一样的CALL,把4个编辑框的累加值取出来了。然后就是一大堆局部变量,存1-2的值,1-3的值,1-4的值,然后2-1的值,2-3的值.......然后就靠这些值运算判断正确并给出名称setwindowtext显示在标签上。算法太长,懒的分析了- -!
2016-10-19 17:15
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
请问算法成功与否是如何影响setwindowtext的参数值?setwindowtext的参数似乎是几个没有赋值的局部变量。不知道应该如何求出这些变量?
2016-10-19 17:54
0
雪    币: 756
活跃值: (114)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
这个就得看那些那么长的算法了,我本来想着下个写入断点,后来发现那是局部变量。。。。
不过输入的内容影响标签的内容是肯定的,你试试输入不一样的东西,然后改了跳转,它会变化的

上传的附件:
2016-10-19 18:07
0
雪    币: 756
活跃值: (114)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
仔细的分析了一下,这是我的笔记:
试验输入:1234 5678 9011 1211
1、2、3、4即编辑框1234
1-2、1-3、1-4等等 即 编辑框1的累加值 减 编辑框2的累加值等等
1累加 0xCA   1-2 0x10 1-3 0x1  1-4 0x5
2累加 0xDA   2-3 0xF  2-4 0x13
3累加 0xCB   3-4 0x6
4累加 0xC5

3-4的值要等于0x6 第一个跳转je才符合
ecx不能等于1,第二个跳转jnz才符合
    即为:404380不能等于1,也就是说不能让编辑框有相同字符

总结:
累加值相减需要满足
    1-2的值=0xD
    1-3的值=0x11
    1-4的值=0x17
    2-3的值=0x1E
    2-4的值=0x27
    3-4的值=0x6
标签显示的内容:
'{'
1-2的值加5A第二个字符
esi+5A第三个字符
edi+5A第四个字符
2-3的值加5A第五个字符
2-4的值加5A第六个字符
3-4的值加5A第七个字符
'}'

附件里有OD的udd和bak文件,替换掉你OD目录下UDD文件夹内的文件,然后在分析就能看到我在OD里做的注释了。注意这两个文件的文件名要和程序的文件名一样。压缩包里还有我的分析笔记,两个对照着看吧。
147493258311111.rar
PS:看起来这个序列号有点难构造啊,你自己分析了慢慢构造把
PS1:以上分析未考虑编辑框空的因素,估计那算法也不会满足编辑框为空的情况吧。有兴趣可以自己分析看看
上传的附件:
2016-10-19 20:52
0
游客
登录 | 注册 方可回帖
返回
//