小军 发表于 2012-2-9 02:55:25

来吧把这个破了,菜鸟进

自己写了个小程序,顺手试试能不能破解。结果我还是很争气。{:5_109:}

http://bbs.fishc.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 小军的微博

小军 发表于 2012-2-9 13:58:03

谢谢鱼哥支持。:lol:lol上面只是小搞搞:loveliness:

「hailmy」 发表于 2012-2-9 15:21:00

本帖最后由 「hailmy」 于 2012-2-9 15:27 编辑

密码是 yuc521 ? 用DeDe找到按钮事件的地址,然后OD下断。一路跟下去就可以找到真码. 或者用OD-F12暂停法 也可以找到按钮事件。。。最简单的是,直接OD搜索ASCII 码,真码就出来了!感谢,又长见识了。。。

「hailmy」 发表于 2012-2-9 15:23:02

但是不知道有没发现一点,刚打开程序,直接按 确定 也是密码正确!

小军 发表于 2012-2-9 15:56:32

知道。:lol:lol里面 定义 bijiao:=o就通过

「hailmy」 发表于 2012-2-9 16:42:01

本帖最后由 「hailmy」 于 2012-2-9 16:43 编辑

----------------------------------------------------------------------
procedure TForm1.Edit1Click(Sender: TObject);
begin
bijiao1:=3;
mima1:='yuc521';
Edit1.Text:='';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
mima2:=(Edit1.Text);
bijiao:=(CompareStr(mima1,mima2));
if bijiao=0Then
(MessageBox (handle,'恭喜你密码正确','提示',MB_OKCANCEL))
Else
MessageBox (handle,'密码错误!请关闭程序','严重提示!!',MB_OKCANCEL);

end;
----------------------------------------------------------------------
正确密码的初始化,放在了 Edit控件的 单击事件当中,变量mima1存放正确密码,mima2存放输入的密码.也是 edit的内容.打开程序,直接按 确定 此时,mima1和mima2的值都是为空,所以才会弹出密码正确,后面的的 bijiao1 = 0 是判断上面CompareStr()函数的返回值。
-----
真码的存放 其实有很多方式,也可以通过假码算出真码等等。不过有点奇怪的是,OD找到按钮事件,里面多次出现 字符串 'DjB'。这个不知道是什么来的。

小军 发表于 2012-2-9 21:11:34

我今天看这个代码就纳闷了,这是我写的吗晕,昨天全靠翻笔记 写的代码。
今天看了教程 才发现 这东西 真粗燥。。。。。。

Root_Null 发表于 2013-4-13 10:34:56

强烈支持楼主ing……
页: [1]
查看完整版本: 来吧把这个破了,菜鸟进