|
|
|
[求助]请问这个?
为什么没有人帮呢?我的解释是: 没人愿意去做这个繁重的体力活的,你应该自己分析程序,把其中遇到的一些具体的难处给出来。 你丢一串出来,给个源程序,就要人家给你解密出来!NO NO NO,没有几个人肯做的。 |
|
[求助]请帮忙分析AM-Notebook的启动自校验!(困扰我几天的问题)
既然不能跳过,那就分析它的效验流程好了 |
|
[原创]新手学习流程
本来我也对楼主的这个内容感兴趣的,发过几个贴子,告诉新手应该如何做。 但是!!!!! 根本没有几个人看,照样的还是有人连搜索都不用一下又来问类似的问题了。我觉得跟那些人讲话真的太累了,真要帮助新人,还是多回答一些他们提出的,自己能回答的具体问题。 不过!!! 还是要说,希望新人能够好好看看楼主的文章,我也发过一贴详细的学习流程的贴子,要看的可以在这里:http://bbs.pediy.com/showthread.php?t=63606 支持楼主! |
|
[求助]爆破后的问题
最有可能的是: 有自效验,它发现:修改了程序-->退出 即使不是自效验,也是类似的东西,它有暗桩在其中。 一个简单的方法是,用IDA载入,看看是哪几个模块能够调用退出函数,拦截这些模块,逆向上去排除正常的调用,找到它发现程序被修改后就调用的模块,看看它是怎么效验的,搞定它就可以了。 仅仅是一个建议,方法可以不是上面的哪样,但思路是可以的: 拦截退出函数,逆向上去解决问题。 |
|
[求助]请问有什么方法可以将只读框修改为可读写框?
你的想法是错误的! 根据你的介绍就是说:打开软件有一个只读的框,里面有机器码,你想把它改为可读写的,然后在里面放其他的机器码来注册。是这样吗? 姑且不说要怎样改!你改了也白改。它的框只不过是一个呈现的界面,没有任何的实效意义。它是一个显示框,而不是输入框,你改了里面的数据,软件并没有读取里面数据的代码。 真正的内部机制我的想法是这样的: 这个机器码当然是软件自己显示的,不是你输入的是不是?所以在软件的内部就有一个计算机器码的模块,它通过检测你的硬件情况(当然也可以是其他的任何东西,不过好像这样比较符合机器码这个名字,但这并不重要),软件生成了一个机器码,而你只有输入对应的注册码,程序进行相应的比较流程,判断是否成功。这样就绑定了软件,形成了一机一码的注册模式。而你要改的哪个框只不过是一个给你看看机器码的交互式界面,你把里面的机器码改了对于软件的验证流程没有任何的影响! 你要做的是找到这个生成机器码的模块,修改它的计算流程,让它得到你想要的结果生成你要的机器码。 一种情况是这个模块是存在于软件中,你可能找到它;另一种情况是这个模块是在安装软件的程序中(这是常见的,因为软件没有必要保留这个模块,它只要在安装时计算一次就可以了),你就需要针对安装程序了。 如果你对它生成机器码的过程不敢兴趣,只是想要让它能够注册其他的机器码,那么你就只要关注它的验证模块就可以了。你要拦截住软件在你输入注册码后的验证模块。我们来思考一下它的验证流程,它可以用机器码生成一个注册码进行明码比较,用注册码倒过来得到一个机器码来比较,同时把机器码或注册码进行计算后比较,等等(这是简单的验证方式,但在这里并不重要,它不会影响我们下面要说的),软件总是要从某个地方得到机器码的(或者类似的东西)来参与验证,可以是一个全局变量或者在另一个文件中,可以是加密了,或者没有。你要做的就是找到并修改它,用你想注册的机器码替换它,从根本上改变软件的验证对象。 我们应该如何入手呢?一个明显的拦截点就在你提到的哪个框里面!! 你要找到这个框的初始化代码(你想要它可读也是一样的,一个框的可不可读只不过是它的一个显示属性),看看这个框是从哪里得到机器码并显示出来的,逆向上去找到原始存储点修改它。 上面的分析是不考虑各种的anti手段的,对付它们最可靠的就是了解和经验,你不能够期望着能够顺利的找到原始存储点,这既然是软件的一个理论上的弱点,也就会是保护严密的地方,可以把它加密,加密存储,自效验,分散存储,等等,寻找的过程中它可以把各种anti伎俩都用上。 写到这里我不禁想要多说几句,希望新手能够从我上面的分析里得到的不是如何完成楼主的想法,而是得到一种逆向的思维方式!!!!! |
|
[求助]求助高手找注册吗~!
建议去好好学汇编再来看,找到到关键代码却读不懂,这是你的基本功有问题!!要强化汇编知识 |
|
|
|
[求助]第一次遇到这种的破解
:-)不会破解,看了一下,提供一点逆向的思维建议 这个软件它的注册码是在另一个文件里面,运行时已经显示在里面了, 有一种小概率的可能是它在我们点确定时才进行注册码的比较,我们就要拦截下确定按钮的子过程,然后就是读懂它的比较指令, 而另一种大概率的是,其实程序已经完成比较了,我们点确定时它只是输出比较的失败结果,我们的入手点就在与,程序既然在呈现出来前已经完成了比较,它的流程可以猜想是这样的,读出sn.txt里面的数据,把里面的数据作为注册码进行比较,得出失败的结果,弹出界面等待我们点确认,输出失败结果,我们就要在它读出sn.txt的数据地方进行拦截(在它操作文件的地方入手),顺着下去找到比较指令,读懂比较过程。 另一种概率的是,程序使用了Tls来达到目的,我用PE工具看了一下,没有见到Tls数据。 进行一个试验,我们把sn.txt文件移走,运行程序后,出现了一个内容为空的sn.txt文件,可见程序在读取sn.txt文件时有一个分支,首先是在当前目录寻找sn.txt文件,如果有就读出里面的东西作为用户输入的注册码,如果没有就创建一个空的sn.txt文件,这样,我们也就可以在它进行这些流程的中间拦截程序到达关键比较代码处。 呵呵,只是一点纯理论的建议,也仅仅是猜测,不知道对不对,希望对你有用。 |
|
[讨论]目前什么加壳工具最好啊?2008年的
建议不要加壳,提高售后服务和功能才是真的 |
|
[求助]ESP定律如何进入OEP?大家指点一下
像UPX这样不是猛壳的壳,它的壳代码到OEP时,是有一个明显的长距离跨段的跳转的,因为它不猛,o(∩_∩)o...源程序的加密代码是在一个单独的段里面,壳运行后解密还原出代码就要跳过去执行源程序了,而源程序是在另一个段里面,所以就有了这个明显的跳转分界线,你用esp定律后断下来的下面就有一个长距离的jmp,跳过去就是OEP了。 |
|
[讨论]堆栈不平衡居然没有出错?
[QUOTE='UD]Arthas;446081']我没有办法试,如果是那样的话,你再把它上面的和下面的代码也发一些上来吧,结合上下文看看,是不是有什么伎俩!最好是发全汇编的,像OD里显示的或者其他的。 说了楼主不要骂噶,我有点不相信你说的,从未听说过,期待看看,或者程序小的话,附件上来看看如何?[/QUOTE] 我在OD中自己试了一下确实是和楼主所说的存在不平衡的情况,push cs时压入栈的是32位的 我以前从来不知道,压栈时会多压入16位的0,扩充成一个32位的数,最后堆栈中两个pop只弹出了push cs的值,而第一个push ax的值依然还在,造成堆栈有一个字的偏移,呵呵。 我想这个要结合上下文看看 我也期待高手来回答!!!! |
|
[讨论]堆栈不平衡居然没有出错?
我没有办法试,如果是那样的话,你再把它上面的和下面的代码也发一些上来吧,结合上下文看看,是不是有什么伎俩!最好是发全汇编的,像OD里显示的或者其他的。 说了楼主不要骂噶,我有点不相信你说的,从未听说过,期待看看,或者程序小的话,附件上来看看如何? |
|
[求助]电脑中毒了,所有的EXE文件都被感染了!
^_^,同意 首先你要先把病毒查出来搞掉,不然你就算是恢复了exe文件又能如何,病毒还在着,秒秒中就重新感染回了,然后上面的方法好呀,也可以自己跟踪一下找到的病毒程序,看看它是如何感染的。再恢复! |
|
|
|
[讨论]堆栈不平衡居然没有出错?
没有发现不平衡呀,两个push,两个pop,哪里不平衡了? pop ax 也很正确,它要获取的是上一条指令push cs的值,cs是一个字的长度,用ax就可以了,你不会是在用的时候改为eax了吧!!!!这样就是出栈了一个双字,连上面一条指令push ax的值都读出来了,还怎么平衡?那样的话pop ax这条就破坏堆栈了。 |
|
|
|
[求助]新手问题,关于OD的使用
去学基础,Windows编程 |
|
[求助]求高手指路
第一步:学习汇编指令;入门的话还是看IBM PC汇编程序设计,无敌的话就是Intel开发者指南三卷本(你要是能把三卷学完并融会贯通,你就成神了,不知道有几个人看完过一遍)。反正汇编的话你就跟着intel走,三卷集现在也还是学习好x86汇编必看的东西。 第二步:学习C语言和Win32汇编;C语言入门就是国外的就是C作者写的“圣经”,国内的就是潭浩强写的,C语言的Win32编程么就是侯捷翻译的那本,Win32汇编么就是罗云彬的那本了,还有网上几个牛人的教程(学习C+汇编的组合,纯粹是个人观点,不同意的不要骂噶)。 第三步:学习ring3级别的操作系统原理;其实你要学习第二步的Win32编程就已经在学习这个了,首先要看的是高教影印版恐龙书《操作系统原理》,然后才推荐你看针对具体操作系统的-----Windows(除了它还有谁),这个就是太多了,像董岩翻译的那本,什么Windows xyz等等,反正Windows的东西的话太多了,正规途径微软出版社出的,牛人写的,网上散落的,高手的笔记,只要你愿意google就多的一蹋糊涂。 第四步: 1、学习使用OD和IDA Pro;学习使用工具就要踏踏实实的学,首先要看的就是工具软件的帮助文件,作者给你写的使用说明书,好多人新的家电到手会去看说明书的,使用工具就不去了,拿着一片破解文章就照葫芦画瓢瞎整。 2、看雪的精华集全部下载去但不是全部要看;其实好多文章你是学不到东西的,只有是提供了技能技巧的文章才值得看一下,里面尤其是像破解了某个软件的流水帐文章最垃圾,建议一律跳过,偏偏就是有的人,要去下一个一模一样的软件下来跟着搞,其实那是你的急于求成的心理在作祟,当你在看精华集时一定要反省你是不是抱着这样的心态。 3、脱壳;不要轻易去碰壳,除非你做好了打硬仗的准备,和具备了这个实力,论坛的脱壳入门系列是很完美的入门东西,高手写的xx壳脱壳流程文章,要注意吸取里面的原理和技巧,而不是蒙着头的下断点找OEP,PE文件格式要非常熟悉,高手帖子里的脱壳技巧和壳的各种伎俩要大量的掌握,壳的编程原理要大概知道,仔仔细细的去跟踪几个壳,弄懂它每一步的原理。 4、算法;程序自己搞的注册算法就要耐心+经验的结果,呵呵,有兴趣的并且数学好并且有志在算法上成为绝世高手的人从《算法导论》入手,然后是《具体数学》,最后去学高德纳的《计算机程序设计艺术》吧,你要能够把前三卷学完,你就是世界上的牛人了,直接去任何你想去的地方做你想做的事吧。密码学算法主要是能认出是什么算法,大概就这样了,当然能够去研究它的原理当然更好。 5、其它的方面;其实你看到这里主要就是记住,踏踏实实 第五步:学习驱动;也就是说向Ring0级别的操作系统前进,罗云彬翻译的哪个教程是编程的入门,牛人解析Windows写的书籍也是入门,DDK要去找一个的,呵呵,好像我没有发言权。其实到了这个时候就已经到了鸡生蛋、蛋生鸡的时候了,你对操作系统的内部越了解就越能够逆向高难度的东西,而你高难度的东西逆向的越多对系统内部就更加理解,循环前进着。 好的地方: 邪八论坛 CVC病毒论坛 驱动开发网 看雪论坛 他们都是论坛定位的很好,发展的很成熟的论坛 多去这些牛人汇集的地方,也可以沾沾牛气的。 最后忘了一点,英语不好的还要记单词,呵呵。 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值