Luke 发表于 2016-1-1 12:03

一次查找登录帐号密码的尝试

本帖最后由 Luke 于 2016-1-2 10:20 编辑

入门时接触了版主的零基础逆向教程之图文版【逆向原理】 用爆破手段成功登录程序的方法
原网址:https://www.52hb.com/thread-664-1-1.html自学了一段时间后想尝试从内存中读取原密码的方法,即在不修改原文件的情况下找出原来设置的帐号密码进行登录,于是进行了如下尝试,由于水平有限,若有不足之处请指出


打开OD载入程序
刚开始和原来一样,从字符串中查找“登录失败”字样,向上找到失败的关键跳



发现到失败的关键跳的实现条件是eax = 0,而在上方的语句0040149B恰恰是把eax清零,所以不能让它实现
即必须绕过0040149B xor eax才能走到成功,但注意到有个较长的跳转直接到0040149B xor eax,因此猜测可能是验证帐号(一般先验证帐号,再验证密码,帐号不过直接失败)以此为线索继续向上寻找到0040149B xor eax的跳转 0040137E



向 0040137E上方上寻找判断的关键CALL,从最近的00401372 CALL开始下断点尝试



随意输入帐号密码尝试,确实停在中断处,这时还可以从右边寄存器EBX读出ASCII码“123123”,
用OD重新调试发现123123作为帐号时是0040137E 没有跳转而是继续向下
说明123123很有可能就是帐号,所以我们以123123为帐号和xuepojie为密码,继续向下单步F8调试





这里发现了一个奇怪的字符串“21234”,测试发现并不是密码,因此继续向下走



很轻易的在下方几个CALL中找到字符串“321321”,还可以看到我们输入的密码,因此估计“321321”为密码,测试发现确实成功



这样就成功登录了,相比爆破手段,没有修改文件而是通过智取的方法获得帐号密码,仅适用于采用明文比较帐号密码的程序
至于那个奇怪的字符串“21234”有何用途,我并不清楚,好像并没有影响最终结果,大家有机会尝试的话可以分析一下





1156122791 发表于 2016-1-1 12:11

软件在哪里

繁花丶 发表于 2016-1-1 12:12

请问有什么用?这就不是原创了 你只是跟着恒大的教程走

Luke 发表于 2016-1-1 12:15

Angelababy 发表于 2016-1-1 12:12
请问有什么用?这就不是原创了 你只是跟着恒大的教程走

只是尝试一下这个程序除了 爆破 外的方法{:5_188:}

shl2015 发表于 2016-1-1 13:48

精神可嘉!

烟雨清荷。 发表于 2016-1-1 15:49

这课程 我第一课就看了恒老大了 就学会了 嘿嘿

as908898753 发表于 2016-1-1 17:24

本帖最后由 as908898753 于 2016-1-1 17:26 编辑

{:5_188:}我试过某的 早已成功

chenchengasdf 发表于 2016-1-1 19:39

第一次发帖,看着挺精彩{:5_122:}

hackysh 发表于 2022-2-27 23:56


[快捷回复]-感谢楼主热心分享!

ghostxu 发表于 2022-3-1 21:02

新技能已get√
页: [1] 2
查看完整版本: 一次查找登录帐号密码的尝试