首页
社区
课程
招聘
求助!女朋友用密码为难我!
发表于: 2011-5-24 11:28 131256

求助!女朋友用密码为难我!

2011-5-24 11:28
131256
收藏
免费 0
支持
分享
最新回复 (263)
雪    币: 4469
活跃值: (2968)
能力值: ( LV10,RANK:175 )
在线值:
发帖
回帖
粉丝
76
楼主的题目很吸引我啊哈哈
楼主,我已经在帮你写较详细的分析了~~等写好发上来给你参考参考哈哈
2011-5-25 14:28
0
雪    币: 247
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
77
程序流程是这样的。。
单击按钮后:
1.检测输入的路径与密码是否合法(密码长度必须是46位),不合法就给出相应提示.合法则继续
2.读取txt文本,判断长度是否正确,正确则继续,否则提示“密码错误”。
3.从读出的txt中的字符串经过运算得出一个纯数字字符串,并且和输入的密码运算出来的字符串比对,相同则进行解密,不同则给出密码错误的提示。
(其实这个字符串最重要的是最后4位,换而言之,你输入的密码的最后4位和txt是存在某种关联的。。TXT的内容换了,你输入的密码的最后4位也需要随之改变)
4.通过密码验证后,就是解密了。解密部分是将你的密码的1~42位经过她自己的算法得出一个字符串,然后写回那个文件。。。至于那个算法呢,我没去仔细分析。。。直接copy了S大的那串字符。。。

总之,只要密码最后4位和txt中的内容匹配了,前面42位的内容就决定了你输出的文字。。。而且输出的文字和txt的内容没有任何关联。。。当然,你也可以自己构造了。。。

追妹子的话,你不要太被动了,其实,你要是主动一点,先入为主,再耍点地痞流氓。。基本上手到擒来。。。
2011-5-25 15:19
0
雪    币: 4469
活跃值: (2968)
能力值: ( LV10,RANK:175 )
在线值:
发帖
回帖
粉丝
78
我也很渴望交密码学或学应用数学的女朋友啊~!哇哈哈!
支持楼主!
本来打算今天下午弄完,看来是没时间弄了,这里整理出了一些结果,仅供楼主及其他网友参考。
写了一些伪代码,不用细究语法,能看懂是在干什么就行了。
水平有限,有何错误还请指正。
希望能帮上点儿忙

41,42位应该为"40"
密码最后4位必须是3386
//密码全为5=>5555555555555555555555555555555555555555403386 输出: "pppppppppppppppppppp"

FUZZING...部分结果
1:北北北北北北北北
2:下下下下下下下下
3:揶揶揶揶揶揶揶揶
4:eeeeeeeeeeeeeeeeeeee
5:pppppppppppppppppppp
6:{{{{{{{{{{{{{{{{{{{{
7:77777777777777777777
8:梃梃梃梃梃梃梃梃
9://(0xF9...)
a:适适适适适适适适
b:圹圹圹圹圹圹圹圹
...

密文:84M342TR2Xkc6o281rVn86e72UCq77U56OE62sPg43RY3V5Z5Oiv11yu69iy15Hi7IlF3DPc866831F420lN2C4L78Sv5mNg20

//CALL 004015E0 Start///////////////////////////////////////////////////////////////
获取密码
获取密码判断密码长度为 46 位后,进行一步操作
=>CALL 00401770        //打开文件开始读取密文,并判断密文的有效性
文件无效则提示“密码错误!”其实与密码无关
从0位开始取密码长度为 42D 长度
将截取后的密码字符串传入
=>CALL 00401D60 //密码与密文的具体算法
结果写入文件
//CALL 004015E0 End///////////////////////////////////////////////////////////////

//CALL 00401770 Start///////////////////////////////////////////////////////////////
取得文件路径
打开文件
打开成功继续执行
读取98个字节
将字符串转换格式到 EAX指向的地址中
比较是否读完整了98个字符
=> CALL 00401F60 对密文处理取出密文特定位置的字符串,跟密码没关系
返回:"29387354627284943386"
取后4个字节"3386"
取一组固定的字符数组00404084=密码锁.00404084 (ASCII "2938735462728494")
追加"3386"        ,结果为 "29387354627284943386"
比较追加后的"固定"字符串和Call返回的字符串
成功返回1 ,否则返回0
//伪代码///////////////////////////
char ptr[0x410];
CString path( pszPath );
CString strReadBuf;
FILE hFile = fopen(path.GetBuffer(), "rb");
if ( ! hFile )        return 0;
int nRead = read(ptr, 98, 1, hFile );
strReadFuf.Format("%s", ptr);
if (nRead != 98 ) return 0;
CString strResult = CALL func_00401f60(strReadBuf);        //返回 "29387354627284943386"; 跟密码没关系
CString strCMP = "2938735462728494" + strResult.Mid(0x2A, 4);        // strCMP = "29387354627284943386"
if (_mbscmp(strResult, strCMP ) != 0) return 0;
return 1;        //TRUE
//CALL 00401770 End///////////////////////////////////////////////////////////////

//CALL 00401F60 Start///////////////////////////////////////////
(对密文第 1 次操作)取密文最后2位,转换为数字为 20D
用剩余字符串长度 96 / 20 = 4 (16)        EAX=4H,        EDX=10H
再用商 (4) 和20 相乘                ECX=50H[80D]
长度{ESI=60H[96D]} 减去 50H        ESI=10H
96-16 = 80                        EDX=50H[80D]
将密文字符串首地址传给ECX
(对密文第 2 次操作)从16的位置取80字节(ESI的值)        取密文16位置向后的80字节字符串
0012F444  00D8A0A8  ASCII "1rVn86e72UCq77U56OE62sPg43RY3V5Z5Oiv11yu69iy15Hi7IlF3DPc866831F420lN2C4L78Sv5mNg"
402035        do ... while 循环开始
do
{
      取出的字符串地址给ECX
      取一个字符 push 1, ESI=0
      Call atoi        [将“1”转换成数字31]
      结果自加1
      结果除以 AH[10D]
      取模(取余数)
      将余数转换成字符串
      结果字符串累加
      ESI+= 4;
      
}while(EDI != 0)
//伪代码///////////////////////////
CString source;
CString str;
EDI = 14H;
do
{
        CString temp1 = source.Mid(esi, 1);
        int nResult = atoi(temp1.char*);
        ++ nResult;
        nResult %= 10;
        temp1.Format("%d", nResult);
        str+= temp1;
        esi += 4;
        EDI -= 1;
}while(EDI != 0 );

0012F448  003B3B10  ASCII "29387354627284943386"
结束循环
str = "29387354627284943386";
返回CString str字符串地址
//CALL 00401F60 End///////////////////////////////////////////

//CALL 00401D60 Start///////////////////////////////////////////////////////////////
取密码,从28H开始取2位
转换成数字
ESI为转换后的数字结果,也就是说41,42两位密码很重要
取密码,从开始位置取ESI长度。应该取40D?
返回ESI数字值长度大小的Buffer
00401df5 这里BL固定为4的,可能跟循环有关系
密码开头不能 <= 0
00401e03 进入算法比较循环
{
        ...
        //这里一时半会儿没弄完...
        //其中关键函数为 func_00401B90
        ...
}
返回解密字符串首地址
//CALL 00401D60 End///////////////////////////////////////////////////////////////
2011-5-25 16:58
0
雪    币: 4469
活跃值: (2968)
能力值: ( LV10,RANK:175 )
在线值:
发帖
回帖
粉丝
79
网络问题发了两份,把这份改了&
2011-5-25 17:00
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
80
你女朋友入戏太深~~~~
2011-5-25 17:18
0
雪    币: 378
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
81
无能为力,只能友情帮顶...顺道说一句,楼主多给点诚意嘛,女朋友才值10kx...?把你的188kx全奉献出来才对,不然如何对得起为你解密的兄弟们吖,你说是不?哈哈
2011-5-25 17:31
0
雪    币: 180
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
82
感谢 大家热情帮助!》》》》原来看雪 人气那么好!!呵呵。。。。。
2011-5-25 17:32
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
83
强悍啊!我是来拜强淫滴~~
2011-5-25 17:49
0
雪    币: 158
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
84
凌晨孤星@Ebbs?
2011-5-25 17:52
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
85
学密码学的女生果然强悍
2011-5-25 17:53
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
86
save的内容即能构造那就无意义, 所以这步可能是忽悠你的.
(没理由要人家去逆一支exe)

不仿看看他给你的 .txt 是不是有什么要传达给你的讯息
例如: 来吧! 小帅锅
2011-5-25 18:13
0
雪    币: 1214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
87
好强悍哦
兄弟加油,帮你顶一个
2011-5-25 19:12
0
雪    币: 180
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
88
分析详细。。。
感谢!膜拜!!!!
2011-5-25 20:06
0
雪    币: 214
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
89
S大果然牛到无药可救啊……
2011-5-25 21:20
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
90
牛人真多啊。膜拜一下
2011-5-25 22:12
0
雪    币: 201
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
91
这是怎么一个使用的过程
2011-5-25 23:50
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
92
脱壳解密全套工具
2011-5-26 00:01
0
雪    币: 180
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
93
ZCM...

你的解密出的   来吧 小帅郭。。。。。

是不是 可以用一个工具。。转换出来。。。
其实就是 算法 转换的小工具。。

就是只要你 把“来吧 小帅郭”写进去。。。。然后  一转换。。他就能转换出  一串数字密码,,,,,也就是你给你那些数字密码。。。

应该有这样的工具
2011-5-26 09:11
0
雪    币: 64
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
94
就算有工具也是人家自己逆出算法自己写的。
2011-5-26 09:21
0
雪    币: 180
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
95
呵呵。。。谁能写出这样的工具??
你会写吗??
2011-5-26 11:06
0
雪    币: 207
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
96
这已经说的很明白了,lz只有你比明白啊
2011-5-26 11:26
0
雪    币: 146
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
97
友情顶贴!别掉了
2011-5-26 11:37
0
雪    币: 1099
活跃值: (100)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
98
哇,大开眼界啊!
2011-5-26 11:38
0
雪    币: 247
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
99
算法是她写的,如果要按照自己的文字得到对应的密码串就要分析她的那个算法,然后逆向运算...
我没有去分析那个算法啦..
算法调用在这个地方:00401696   .  E8 C5060000   CALL 密码锁.00401D60
2011-5-26 12:20
0
雪    币: 261
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
100
怎么玩这种,以前也自己玩过这样的事,但最后还是不了了之,害得最后大堆文件都要破解,只能不要这些文件了。
2011-5-26 12:32
0
游客
登录 | 注册 方可回帖
返回
//