某购票软件破解分析攻略
http://www.52pojie.cn/thread-448175-1-1.html
上面链接是破解后的软件
某购票软件破解分析攻略
用到的工具:
吾爱破解专用版OllyDbg
某软件
期间走了很多弯路,想直接看破解部分的,请跳到13小节,以下:
1 od载入,断在C语言运行时的入口
http://attach.52pojie.cn/forum/201512/20/152424td55iazyfyjiyila.png
2 稍微向下拉一点,就到了Window窗口程序的入口 WinMain,即下图的 0059173B
http://attach.52pojie.cn/forum/201512/20/152521bfeqqqtfytm5vf8t.png
3 F7单步进入,005BE120处的Call是进入AfxWinMain
http://attach.52pojie.cn/forum/201512/20/152607e09t09qtqzrplwpj.png
4 再往下一点, 005C7480处就是进入CWinApp.InitInstance()了
http://attach.52pojie.cn/forum/201512/20/152647tr94rutmxzzvarov.png
上图 005C7472处的call是进入CWinApp.InitApplication()
以上的逻辑是程序进入 start->_WinMain -> WinMain-> CWinApp.InitInstance ()。 然后并没有任何卵用,因为都不是跟这个程序相关的,这是MFC的框架部分,进入CWinApp.InitInstance()后就被易语言的核心库接管了,在这里追了好几天,对比了MFC的Dialog,SDI,MDI类型的程序,始终不一样,都快放弃了,结果发现这个程序目录里会释放出krnl这种东西,百度了一下才发现这是易语言……被自己蠢哭了。以下再跟下去,可以发现释放各种核心库和支持库,校验库md5的代码,这里就不展开了,初始化流程是这样,点了一个按钮之后,怎么知道这个按钮对应的处理函数在哪里呢?这里就要祭出神器了,有大神分析过易语言消息分发的机制,http://bbs.pediy.com/showthread.php?t=195626,
易语言派发事件的特征码FF55FC5F5E
5直接在Od Ctrl+B, http://attach.52pojie.cn/forum/201512/20/152758g1ap71emtx8tuu8c.png 确定后,来到易语言分派消息的地方 00519F7D
http://attach.52pojie.cn/forum/201512/20/152832pod2o7f2utugfntn.png
6F2 下断,然后F7单步进入,我们就来到了点击 登录后 处理登录的代码了,
http://attach.52pojie.cn/forum/201512/20/152907d08i8rzl44ee6xvi.png
看到那个 ASC字符串么,说明我们来对了,因为没有勾选那个协议的话,要弹个框,要求先勾选那个协议。往下拉一点,有个判断 登录成功 的字符串,说明登录网络操作的代码应该在前面,于是我们在前面一个call处下断,0047B0EA。这里我作为一个新手,犯了个自以为是的错误,看到判断 登录成功 的地方,按照惯性思维,把判断后的jmp代码nop掉不就行了么,nop掉之后运行,崩掉了。教程上边都是这样写的啊?怎么不对呢,教程是教程,实际应用中哪会这么简单,师傅领进门,修行靠个人啊。实际上这里登录成功和登录失败服务器返回的内容和格式都是不一样的,这点后面细说。
http://attach.52pojie.cn/forum/201512/20/152955lzeam9cclocl2o9l.png
7F7单步进入,这里就是拼接url,网络验证,解析服务器返回的内容了,这里是重点,我们的破解也在这里。向下大概翻阅一下,翻到ret,大概浏览一下这个函数,估计一下函数完成的内容。前半部分各种获取随机数,HardDiskCode,拼接url,然后网络操作,接下来判断服务器返回的内容,前半部分略过不提,接下来需要压入30个参数的函数,就是网络操作了,00404655处的call就是网络操作,有兴趣可以跟进入看看,不过这里我们没必要,因为我跟进入读完了发现跟我们的目的没有任何关系,摔……
具体看Word
word下载
抢一楼 支持楼主 这需要你转帖吗
支持楼主 这个貌似一直都有存在。而且没有沉。。。不需要转帖吧? 一个论坛发的还转来转去我也是醉了 刚注册的小号,啥意思这么做? 学习一下,教程详细不错! 适用最新的版本么。好久没人更新了
页:
[1]