[fly]
转帖于:黑基的一篇文章,关于破解的一些常用知识点,背下来对于学习破解大有用处,更快更好的学习,新手学习,老鸟飘过!
需要熟练掌握的全部汇编知识(只有这么多)
不大容易理解,可先强行背住,混个脸儿熟,以后慢慢的就理解了
cmp a,b 比较a与b test 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 压栈
二、常见修改(机器码)
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(特殊情况下,有时,相应的机器码修改)
三、两种不同情况的不同修改方法
1.修改为jmp
je(jne,jz,jnz) =>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息
xxxxxxxxxxxx 出错信息,例如:注册码不对,sorry,未注册版不能...,"Function Not Avaible in Demo" 或 "Command Not Avaible" 或 "Can't save in Shareware/Demo"等 (我们希望把它跳过,不让它出现)
xxxxxxxxxxxx 正确路线所在
2.修改为nop
je(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转) nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处
xxxxxxxxxxxx 正确信息,例如:注册成功,谢谢您的支持等(我们希望它不被跳过,让它出现,程序一定要顺利来到这里)
xxxxxxxxxxxx 出错信息(我们希望不要跳到这里,不让它出现)
四、爆破无敌口诀 背会此口诀,天下无敌,以后慢慢琢磨,仔细体会,收益多多。如此好的口诀,不要错过
一条(跳)就死,九筒(90)就胡 (对应上面的2.修改为nop)
一条(跳)就胡,一饼(EB)伺候 (对应上面的1.修改为jmp)
妻死(74)便妻无(75)
爸死(84)便爸无(85) 壳 的 概 念 一. 壳的概念 二. 作者编好软件后,编译成exe可执行文件 1、有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等2.需要把程序搞的小一点,从而方便使用于是,需要用到一些软件,他们能将exe可执行文件压缩,实现上述两个功能,这些软件称为加壳软件或压缩软件.它不同于一般的winzip,winrar等压缩软件.
它是压缩exe可执行文件的,压缩后的文件可以直接运行. 2、加壳软件最常见的加壳软件ASPACK ,UPX,PEcompact不常用的加壳软件WWPACK32;PE-PACK ;PETITE ;NEOLITE 3、常用的侦壳工具有 peid 、pe-scan,其中以peid 的功能最为强大,华丽的外表,支持460多种壳的特征,让你脱壳事半功倍,尤其是它自带脱壳引擎(必须在win2000或winxp下才能用) [/fly]
|