找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 673|回复: 0

简单学破解

[复制链接]

23

主题

9

回帖

73

牛毛

初生牛犊

新手

积分
73
发表于 2009-6-11 10:48:46 | 显示全部楼层 |阅读模式 来自 河北省石家庄市
基础知识:
一:
1.什么是CRACKER ?
加密解密高手;骇客;(非法盗取他人文件的)计算机窃贼,你想做哪种? 自己选择吧。
毕竟路是人走的啊~~~~~~




2.为什么要破解~ 不用说了吧?一个是因为都是穷人,另一个是因为追求技术(兴趣爱好)~
二:破解初步
1.静态反汇编




 所谓静态分析即从反汇编出来的程序清单上分析,从提示信息入手进行分析。目前,大多数软件在设计时,都采用了人机对话方式。所谓人机对话,即在软件运行过程中,需要由用户选择的地方,软件即显示相应的提示信息,并等待用户按键选择。而在执行完某一段程序之后,便显示一串提示信息,以反映该段程序运行后的状态,是正常运行,还是出现错误,或者提示用户进行下一步工作的帮助信息。为此,如果我们对静态反汇编出来的程序清单进行阅读,可了解软件的编程思路,以便顺利破解。 常用的静态分析工具是W32DASM、IDA和HIEW等。





2.动态跟踪分析




 虽然从静态上可以了解程序的思路,但是并不可能真正了解地了解软件的细节,如静态分析找不出线索,就要动态分析程序,另外,碰到压缩程序,静态分析也无能为力了,只能动态分析了。所谓动态分析是利用SOFTICE或TRW2000一步一步地单步执行软件。




3.壳的概念:作者编好软件后,编译成exe可执行文件;有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等;需要把程序搞的小一点,从而方便使用于是,需要用到一些软件,他们能将exe可执行文件压缩,实现上述两个功能,这些软件称为加壳软件或压缩软件.它不同于一般的winzip,winrar等压缩软件.它是压缩exe可执行文件的,压缩后的文件可以直接运行.




三:常用工具
可以在这里找,最新的工具~
www.exetools.com(好象停止新用户注册了哦~不过常去看看还是有好处的~)
www.pediy.com(看雪,这个是中国密界的始祖网站了。不多说了~)





新手推荐工具:wdsm.exe(静态反汇编) Ollydbg.exe(动态跟踪) fi.exe(查壳)/peid092.exe(查壳-最新版)




好了~ 就说这么多了~ 至于汇编指令么 哈哈 大家看看本论坛的帖子(luax大哥的那个帖子不错哦~,其实刚刚开始只要知道基本的跳转就行了)就是了~




至于其他的一些基础知识,会随着教程的公布,逐步介绍给大家的~
OK 第一课 就这样结束了 是不是很不情愿呢` 那就看下一课吧。
另 如果有纰漏,请各位指正~

菜鸟破解教程之二(简单爆破篇)



所用工具:wdsm ,Uedit32(16进制修改工具任何一种都行)




这节课需要了解的知识~~~~~~~如下:)




Wdsm的简单用法:




1.打开所要编辑的文件->启动Wdsm-“反汇编”-“打开文件进行反汇编”-选择要打开的文件就行了




2.查找字符串信息- >“参考”-“串式数据参考”




3.修改汇编代码->把光标定位在所要修改的行上-右单击-“hexedit”-改完了点保存,他默认保存为原来的程序名前加个“p”。如:wasm.exe 被修改以后保存为pwasm.exe。




Uedit32 用法~ (其实软件的用法都差不多)




1.运行-“打开”-选择要打开的文件;




2.要跳到哪个地址,用快捷键CTRL+G,输入16进地址的时候要在前面加0x,这个他会提示的;




3.如果要修改代码,直接用鼠标选中代码,修改就可以了~ 也可以选中以后点右键选择替换~~~需要注意的是,在修改原程序的时候最好做备份,或者修改完成以后另存为,以免修改不成功反而破坏了原程序~




汇编点滴~




需要熟练掌握的全部汇编知识,不大容易,可先强行背住常用的,混个脸儿熟,以后慢慢的就理解了




cmp a,b 比较a与b
mov a,b 把b的值送给a
ret 返回主程序
nop 无作用,英文“no operation”的简写,意思是“do nothing”(机器码90)***机器码的含义参看上面
(解释:ultraedit打开编辑exe文件时你看到90,等同于汇编语句nop)
call 调用子程序
je 或jz 若相等则跳(机器码74 或0F84)
jne或jnz 若不相等则跳(机器码75或0F85)
jmp 无条件跳(机器码EB)
jb 若小于则跳
ja 若大于则跳
jg 若大于则跳
jge 若大于等于则跳
jl 若小于则跳
jle 若小于等于则跳
pop 出栈
push 压栈




改程序一般是改跳转的方向,比如下面的例子~




CMP EAX,EBX(假设EAX是真码,而EBX是假码)




JZ 正确的地方 (如果 EAX=EBX的话就跳到正确的地方)




错误的地方 (不等就出错误提示)




这就是一个经典的比较。我们只要把JZ改成和他相反的跳转JNZ,就可以暴破这个程序了。(但是这里有个问题,就是,如果是把JZ改成JNZ的话,那你输入的注册码一定要是错的,如果是对的就不跳了~ 哈哈)当然还有别的改法,就是把JZ改成无条件跳转JMP 那么错误提示就永远也不会出来了:)




下面介绍几个经典比较的句式~




0167:00***54AC MOV EAX,[EBP-1C] ***
0167:00***54AF MOV EDX,[EBP-14] ***
0167:00***54B2 CALL 00***03B74 ***
0167:00***54B7 JNZ 00***54DA ***





0167:0042D4A1 MOV EDX,[EBP-04] *
0167:0042D4A4 POP EAX *
0167:0042D4A5 CALL 00***38D0 ****
0167:0042D4AA JNZ 0042D4E5 * =>出错(1)




0167:00***17FD MOV EDX,[EBP-08] **
0167:004****1800 POP EAX **
0167:004****1801 CALL 00***03B44 ***(1)
0167:004****1806 JNZ 004****1822 **




CALL里面都是比较过程~




常见修改(机器码)
74=>75 74=>90 74=>EB
75=>74 75=>90 75=>EB




jnz->nop
75->90(相应的机器码修改)




jnz -> jmp
75 -> EB(相应的机器码修改)




jnz -> jz
75->74 (正常) 0F 85 -> 0F 84(特殊情况下,有时,相应的机器码修改)

您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-4-26 06:46 , Processed in 0.413926 second(s), 33 queries .

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表