|
[原创] 算法分析入门教程实战篇及应用篇---NBA2005新春大奉送
让Splash不显示。我采取了直译,翻译的不好。 受Laomms大侠刺激,随手写的,比许多大牛差远了。 经过近几天对看雪论坛第二题mstwugui的破文研究,可以说是大丰收。 在此表示对mstwugui的感激之情。 |
|
|
|
[结束]2008看雪论坛读书月第二题[7.18~7.27]
汗,这个CRACK ME上用的一些反静态汇编技术,原来.NET技术小组的人以前有文介绍过,还有例子供练习,最近查资料时才看到。惭愧! 等待.NET逆向小组的精彩破文,相信能够和mstwugui大侠的破文一样,让我受益多多。 |
|
|
|
|
|
[看雪读书月]2008看雪论坛读书月第二题的注册机
听君一席话,胜读十年书!!! 你的这番解释是经验之谈,在其他场合也适用,比如手工脱壳。 { 第二次再来到这里就明白了这个函数的作用,如果你比较一下就很容易发现调用那个函数以前即将执行代买所处的目标内存地址并没有被分配。此类问题分析多了可能会经常遇到 } 这个论述真是精辟!总结的透彻。 { 如果要提高分析速度和效率,需要不断的平衡何时追或何时跑的问题,以这个函数为例,如果你要追进去弄明白估计也不会是一时三刻的事情,但如果留意一下,暂时先忽略然后回过头再看的时候很容易就半总结半猜测出来了,最后分析算法处也是类似,如果直接步入花的时间肯定会更多 } 从理论上知道了大概的感觉。看来要掌握成下意识的行为,还是要多花时间练习、总结。 { 不过这个保护壳还算是仁慈了,因为执行完并没有释放这块内存,所以完全可以dump出来再静态分析。 } 这个要求的起点高了,暂时还达不到。以后就朝这方向努力。有方向和目标就好办了。 这个题目出得真是好啊,引来了逆向的第一猛大侠! 朝闻道,夕死可矣! 看雪来了个包青天 技术超群惊四方 谈笑间逆向大炮把蚊子灭 我等破解菜鸟俱汗颜 汗,新官这第一把火烧得太生猛,都不敢说自己懂破解了。 |
|
|
|
[看雪读书月]2008看雪论坛读书月第二题的注册机
有些疑问,都看了三遍了,在文中没找到答案,望作者赐教: 1.jmp dword ptr [<&mscoree._CorExeMain>] 这个位置不是每次调试都停在这,有不确定性。为什么? 是OD的设置问题? 、 2.当断点B在RegQueryValueExW取得name以后,下一次中断时这个分组字符串长度校验所处的内存空间已经正常分配,这时候就可以在cmp eax, 5这条指令上下一个断点,然后F9直接跑到这里。 这个我自己总结出来了。但是,一次调试不成功后,mscorwks里跟,有时不一定成功。有没有更有效率的方法:重新调试时,快速来到上一次的失败处?老是枯燥地重复,挺烦的。 3.这里会连续两次动态解析加载代码。 这里说的太简单了。也是我相当头痛的问题:动态解析加载代码,你这里怎么考虑的? 对于问题内容,你可以复制,然后在当前页查找,可以迅速确定在您破文中的位置。望指点一二,谢谢!!! |
|
[看雪读书月]2008看雪论坛读书月第二题 KeyGen
也许是距离产生美吧,我开始佩服整天想着沙里淘金的人了。 |
|
[看雪读书月]2008看雪论坛读书月第二题的注册机
细节决定成败! 有许多地方要好好地学习。 文笔流畅,有分析,有思考,有功力,有分量!!! 对我的困惑的地方都有详细地解释,太感谢了,太牛了!!! 看雪可以改名了,就叫牛群论坛吧,我等只是牛毛的角色。 汗,九牛之一毛,就足以骄傲了。 |
|
[结束]2008看雪论坛读书月第二题[7.18~7.27]
应该是目前较专业的评论了。 { 一是用ildasm,然后再用ilasm编译回去,注意把不可见字符替换一下(主要是那几个resource) 经过这个方法以后就可以直接用reflector看了 } 原来这么简单,害我这几天思考了好久。谢谢指点。 { 大概是对窗体名称的检查上,因为我看到有Process类的调用,MainWindowTitle 方法的调用以后不久就exception了。 } 原来我跟了三个多小时的Process是这样,我最后只确定为反调试。具体机理还真不知道。 以后再细跟,研究一下。 惭愧,高手就是高手。 我谈谈自己的OD追NET不成熟追码的一些想法: 1.重视堆栈的分析。 2.适当CTRL+F8。 3.运用RUN跟踪,对效率帮助很大。高手有兴趣,可进行修改,能对堆栈自动进行记录。相信这样的插件应该受欢迎。 4.断点插件适当运用,断下没问题。关键是断下的效率问题还有待研究。 |
|
[结束]2008看雪论坛读书月第二题[7.18~7.27]
我对追码的结果并不看重,也不想证明自己。我希望你的破文能 给我以灵感,使我尽快找到简捷的破解.NET的有效方法。个人认为 OD并不是破解.NET的最好方法,似乎WINDBG更有前途。用后的 一些直观感受。但OD在某些方面具有优势,可当作很好的辅助工具。 我并不认为我的文章有文采,只是朋友更喜欢看我破解的思考。 这对我的启示很大,考试后我要潜水了。经过这个月的思考,发现了自己的三大弱点,要赶快 补课了。落伍了 喜欢看雪最大的原因就是:在这里,你老是觉得自己是井底之蛙,一直都是。越是高手越寂寞,越低调。 我投壳狼的票。就是敬重他是这种高手,不张扬,默默修炼自己。 简练,句句要害,技术性分析透彻深入,文章严谨,专业性强。 就是对他的名字不喜欢,老是和色狼发生联想。 topmint也是,我查过他的资料。看雪上这种高手太多了。不过他们似乎不喜欢交流。topmint 明明看了我的破文,却不肯赐教,令我遗憾。 |
|
|
|
[结束]2008看雪论坛读书月第二题[7.18~7.27]
那应该是我跟踪到的几组明码了。可能你的虚拟机环境和我的调试不同。 下午有事情,也累了。这几天,白天没空,晚上都要弄到一两点钟。 晕,我三、四季度还有个重要的考试呢。已经开始报名了。破解这东西容易上瘾啊。 |
|
[结束]2008看雪论坛读书月第二题[7.18~7.27]
有时是出错在前,有时出错在后。我调试时,有过几次,这应该是反调试的原因了。出错在后的,多是时间验证,用反调试工具很容易对付。出错在前的,就是我上面分析的因素了。 断下来很容易,难的是后面的跟踪,走和跑的把握没感觉。有regshot,有环境的快照,CRACK.NET.EXE.CONFIG,应该是在反调试。有好几处加密的关键数据,跟进去就大海迷茫了。有好几处的明码,具体含义没完全弄懂。跟踪的效率太差了。 mstwugui: 太细致了都不好,要有选择的分析 说起来容易,做起来就是长年的经验积累了。菜鸟的痛苦啊。 |
|
[结束]2008看雪论坛读书月第二题[7.18~7.27]
"就算看雪的OllyICE,有时也会造成系统无响应。" 这应该是时间验证在做怪: 在关键代码处,进行单步跟踪调试,则从一句代码到另一句代码会运行较长时间。因此可以预估计一下正常的执行时间,然后进行对比,若超过这个时间界限,则认为被调试。 原来你是VM虚拟机。 |
|
|
|
[分享]OD调试VC2008 程序的lib
我也是,真的太感谢了!!! |
|
[结束]2008看雪论坛读书月第二题[7.18~7.27]
昨夜跟到两点多,只是理解了沙金开始的苦恼。对他们的对话,我能理解其含义,也能体会 他们成功背后的辛苦。 但要成功追码,对我来说,可能要比他们付出更更多的精力。今天认输放弃了。 对mstwugui的跟踪能力和效率是真佩服,你跟过了就知道他的恐怖了。 回顾一下,收获还是满多的。对几位大侠对于原始追码的精辟讨论,对我的受益和影响是深远的。 在此感谢大侠们的坦诚和宽阔胸怀。 tankaiha : .net破解,其实搞深了还是win32,只不过要知道一些.net的结构。就像逆向C++程序时,得知道C++类在内存中的布局吧,.net也一样,就是知道元数据在内存中的布局。.net连接了高级语言(如C#)和底层系统,因此逆向时,可上可下。 这句话很精炼,是破解经验的高度升华。 我简单谈谈对这个作品的兼容性问题的一些探讨。 反静态汇编手段的系统兼容性问题。我个人认为有。因为我对此有前后对比的实际体会,也曾经多次跟踪探寻。我认为出错的那段代码,在我运行正常的机器里再次调试,发现系统依然对其识别出错。不同的是在net framework 3.5的环境里,对这个错误进行了类似忽略的处理;而在net framework 2.0的环境里却把这个当成了恐怖活动而迅速地终结。换句话说,net framework 3.5对这类错误采取了宽容的态度,似乎是微软在后期默许了这种保护静态汇编的小伎俩。 对于此,看.NET逆向大侠的精辟论述: tankaiha : 可能有两个原因: 1)crackme加密的程序本身有兼容性问题。(不过.net 2.0应该就能运行,可能性不大) 2)crackme是有反调试机制的,且是抛出异常的形式,因此有可能是运行了反编译或调试器导致的。 许多朋友运行不正常。我个人的理解是资源的冲突问题。冲突的根源是.NET程序的耗资源特性,这恐怕与它分段频繁解码的加密强度有关吧。其解码的过程占用的内存资源是令我吃惊的(这么简单的CRACK ME)。 在我的调试中,我感触深刻。越跟到后面,mstwugui反映的“占用内存比较大的程序运行时就可能会出错退出”的问题就越突出和频繁。于是我想到了内存的问题,加了一个G的内存,情况得到了极大的改善。那么,还有的问题在哪呢?系统的虚拟内存分配最好由系统自动分配,C盘的剩余空间最好大于1.5G。后台运行的不必要程序最好全退出。我的电脑虚拟内存分配是自定义的(某些游戏的需要),改为系统自动后,与输入法冲突的问题消失了。对于那个无声退出的系统,我进行了资源的优化设置后,加了内存后,运行正常。 这里,我就想到了另一个问题:MAXtocode号称目前加密强度世界最强。那么它的耗资源特点引起的系统兼容性问题是不是存在呢?我个人理解,国外的同类软件加密强度比不上它,最大的原因就是他们更多地注重系统兼容性问题的解决吧。一时的想法,MAXtocode的作者JansonNET莫怪! 当然,有很少部分的人确实是反调试的原因。 |
|
[结束]2008看雪论坛读书月第二题[7.18~7.27]
这就是差距啊! 还看不到希望的曙光。 收获就是对OD的研究和细节体会更深了。 对.NET有了许多直观的理解,基本了解了个框架。 今晚再尝试一下,看看运气! |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值