破解之基础(菜鸟看看)_第1页
破解之基础(菜鸟看看)_第2页
破解之基础(菜鸟看看)_第3页
破解之基础(菜鸟看看)_第4页
破解之基础(菜鸟看看)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-破解基础(菜鸟看看)欢迎大家进入采飞扬的博客,本人将把最好的文章献给到此的每一个人!加密解密破解z基础(菜鸟看看)采飞扬 发表于2005-11-7 18:26:00这是破解的基础知识。在论坛里我刚好看到“ka”这位朋友贴出了,我看了一下,还很 基础,就收集來了,在这里感谢ka。还冇就是告诉大家,破解软件要冇丰富的编程知识 (不光是汇编),这篇只是让大家有个了解。%1. 机械码,又称机器码.ultraedit打开,编辑exe文件时你会看到许许多多的由0, 1,2, 3,4, 5, 6, 7, 8, 9, a, b, c, d, e, f组成的数码, 这些数码就是机器码.修改程序时必须通过修改机

2、器码來修改exe文件.%1. 需要熟练掌握的全部汇编知识(只有这么多)不大容易理解,可先强行背住,混个脸儿熟,以后慢慢的就理解了cmp a, b比较a与bmov a, b把b的值送给aret返回主程序nop无作用,英文"no operation”的简写,意思是“donothing"(机器码90)*机器码的含义参看上面(解释:ultraedit打开编辑exe文件时你看到90,等同于汇编语句 nop)call调用子程序je或jz若相等则跳(机器码74或0f84)jne或jnz若不相等则跳(机器码75或0f85)jmp无条件跳(机器码eb)jb若小于则跳ja若大于则跳jg若大于则

3、跳jge若大于等于则跳j1若小于则跳jle若小于等于则跳pop出栈push压栈三常见修改(机器码)74二>75 74二>90 74=>eb75二>74 75=>90 75=>ebjnz->nop75->90(相应的机器码修改)jnz -> jmp75 -> eb(相应的机器码修改)jnz -> jz75->74 (正常)0f 85 -> of 84(特殊情况下,有时,相应的机器码 修改)四两种不同情况的不同修改方法1.修改为jmpje (jne, jz, jnz) =>jmp 相应的机器码 eb(岀错信息向上找

4、到的笫一个跳转)jmp的作用是绝对跳,无条 件跳,从而跳过下面的出错信息xxxxxxxxxxxx出错信息,例如:注册码不对,sorry,未注册版不 能.,"funotion notavaible in demo" 或 z/comma nd not avaible" 或 "ca n't savein shareware/demo,z等(我们希望把它跳过,不让它出现) xxxxxxxxxxxx正确路线所在2.修改为nopje(jne, jz, jnz) =>nop相应的机器码90 (正确信息向上找到的 第一个跳转)nop的作用是抹掉这个跳转,使

5、这个跳转无效,失去作用,从而 使程序顺利来到紧跟其后的正确信息处xxxxxxxxxxxx正确信息,例如:注册成功,谢谢您的支持等(我们希望它不被 跳过,让它出现,程序一定要顺利來到这里)xxxxxxxxxxxx出错信息(我们希望不耍跳到这里,不让它出现)它们在存贮器 和寄存器、寄存器和输入输岀端口之间传送数据.1.通用数据传送指令.mov传送字或字节.movsx先符号扩展,再传送.movzx先零扩展,再传送.push把字压入堆栈.pop把字弹出堆栈.pusha 把 ax, cx, dx, bx, sp, bp, si, di 依次压入堆栈.popa 把 di,si,bp, sp, bx, dx

6、, cx, ax 依次弹出堆栈.pushad 把 eax, ecx, edx, ebx, esp, ebp, esi, edi 依次压入堆栈.popad 把 edi, est, ebp, esp, ebx, edx, ecx, eax 依次弹出堆栈.bswap交换32位寄存器里字节的顺序xchg交换字或字节.(至少冇一个操作数为寄存器,段寄存器不可作为操作数)cmpxchg比较并交换操作数.(第二个操作数必须为累加器al/ax/eax )xadd先交换再累加.(结果在第一个操作数里)xlat字节查表转换.bx指向一张256字节的表的起点,al为表的索引值(0-255,即0-ffh);返回 al

7、 为查表结果.(bx+al->al )2.输入输出端口传送指令.ini/o端口输入.(语法:in累加器,端口号| dx)0utt/0端口输出.(语法:out 端口号| dx,累加器) 输入输出端口由立即方式指定时,其范围是0-255;由寄存器dx指定时,其范围是0-65535.3. f1的地址传送指令.lea装入有效地址.例:lea dx, string;把偏移地址存到dx.lds传送冃标指针,把指针内容装入ds.例:lds si, string;把段地址:偏移地址存到ds:s1.les传送目标指针,把指针内容装入es.例:les di, string;把段地址:偏移地址存到esi.lf

8、s传送目标指针,把指针内容装入fs.例:lfs di, string;把段地址:偏移地址存到fsi.lgs传送目标指针,把指针内容装入gs.例:lgs di, string;把段地址:偏移地址存到gsi.lss传送目标指针,把指针内容装入ss.例:lss dt, string;把段地址:偏移地址存到ssi.4. 标志传送指令.lahf标志寄存器传送,把标志装入ah.sahf标志寄存器传送,把ah内容装入标志寄存器.pushf标志入栈.popf标志出栈.pus11d 32位标志入栈.p0pd32位标志出栈.二、算术运算指令add加法.adc带进位加法.inc 加 1.aaa加法的ascii码调整

9、.daa加法的十进制调整.sub减法.sbb带借位减法.dec 减 1.nec求反(以0减之).cmp比较.(两操作数作减法,仅修改标志位,不冋送结果).aas减法的ascii码调整.das减法的十进制调整.mul无符号乘法.tmul整数乘法.以上两条,结果回送ah和al (字节运算),或dx和ax (字运算),aam乘法的ascii码调整.div无符号除法.idiv整数除法.以上两条,结果回送:商回送al,余数回送ah,(字节运算);或商回送ax,余数回送dx,(字运算).aad除法的ascii码调整.cbw字节转换为字.(把al中字节的符号扩展到ah中去)cwd字转换为双字.(把ax中的字

10、的符号扩展到dx中去) cwde字转换为双字.(把ax中的字符号扩展到eax中去)cdq双字扩展.(把eax中的字的符号扩展到edx中去)三、逻辑运算指令and与运算.or或运算.xor异或运算.not取反.test测试.(两操作数作与运算,仅修改标志位,不回送结果).shl逻辑左移.sal算术左移.(二shl)shr逻辑右移.sar算术右移.(=shr)rol循环左移.ror循坏右移.rcl通过进位的循环左移.rcr通过进位的循环右移.以上八种移位指令,其移位次数可达255次. 移位一次时,可直接用操作码.如shl ax, 1. 移位1次时,则市寄存器cl给出移位次数. 如 mov cl,

11、04shl ax, cl四、串指令ds:st源串段寄存器:源串变址.esi目标串段寄存器:目标串变址.cx重复次数计数器.al/ax扫描值.d标志0表示重复操作中si和d应自动增呈:;1表示应自动减屋.z标志用来控制扫描或比较操作的结束.movs串传送.(movsb传送字符.movsw传送字.movsd传送双字.)cmps串比较.(cmpsb比较字符.cmpsw比较字.)scas串扫描.把al或ax的内容与目标串作比较,比较结果反映在标,忐位.lods装入串.把源串屮的元素(字或字节)逐一装入al或ax中.(lodsb传送字符.lodsw传送字.lodsd传送双字)stos保存串.是lods的

12、逆过程.rep当cx/ecxoo时重复.repe/repz当zf二1或比较结果相等,fl cx/ecxoo时重复.repne/repnz当zf二0或比较结果不相等,且cx/ecxoo吋重复.repc 当 cf二 1 且 cx/ecxoo 时垂复.repnc 当 cf二0 且 cx/ecxoo 时重复.五、程序转移指令1无条件转移指令(长转移)jmp无条件转移指令call过程调用ret/retf过程返回.2条件转移指令(短转移,-128至ij+127的距离内)(当且仅当(sf xor of)=1时,0p1ja/jnbe不小于或不等于时转jae/jnb大于或等于转移.jb/jnae小于转移.jbe

13、/jna小于或等于转移.以上四条,测试无符号整数运算的结果(标志c和z).jg/jnle大于转移.jge/jnl大于或等于转移.jl/jnge小于转移.jle/jng小于或等于转移.以上四条,测试带符号整数运算的结果(标志s, 0和z).je/jz等于转移.jne/jnz不等于时转移.jc冇进位时转移.jnc无进位时转移.jno不溢出时转移.jnp/jpo奇偶性为奇数时转移.jns符号位为0时转移.j0溢出转移.jp/jpe奇偶性为偶数吋转移.js符号位为1时转移.3循环控制指令(短转移)loopcx不为零时循环.loope/loopz cx不为零且标志z二1吋循环.loopne/loopnz

14、 cx不为零且标志z二0吋循环.jcxzcx为零时转移.jecxz ecx为零时转移.4屮断指令1nt中断指令into溢出中断tret中断返回5处理器控制指令hlt处理器暂停,直到出现中断或复位信号才继续.wait当芯片引线test为高电平时使cpu进入等待状态.esc转换到外处理器.lock封锁总线.nop空操作.stc置进位标志位.clc清进位标志位.cmc进位标志取反.std置方向标志位.cld清方向标志位.sti置中断允许位.cli清屮断允许位.六、伪指令dw定义字(2字节).proc定义过程.endp过程结束.segment定义段.assume建立段寄存器寻址.ends段结束.end

15、程序结束.阅读全文(100) |回复(0) |引用(0)发表评论:呢称:密码:(游客无须输入密码)主页:标题:字号 1234567感谢大家的光临,有什么问题,欢迎大家留言讨论! 谢谢&1 aquo; december 2005&mquo;fl二三四五六12345678910111213141516171819202122232425262728293031首页(268) 工具软件(7) 我的日记(9) 网络技术(20) 网站建设(19) 加密解密(9) 编程技术(4) asp 专区(24) 操作系统(44) 黑客技术(56) 网络搞笑(7) php 专区(18) 近期学习资料(

16、19)1 inux 专区(16) 个人成绩(1) 黑客小工具(8) 保密信息(0) 免费资源(4) 脚木注入专区(2) 漏洞收集()adsutil. vbs在脚本攻击中 看黑客如何获取passwd密码档 php通用防注入安全代码 在iis里隐藏绑定域名,建立网站(肉 phpsocketshel1win 一个通用分贝类总结asp注入时用到的方法 保护sql server数据库的 mssql db_owner 角色注入 乂一批电影网站回复:最新免费充qq币冋复:分析报告:刘亦菲成为我老婆的可行性回复:最新免费充qq币回复:最新免费充qq币凹复:最新免费充qq币冋复:最新免费充qq币冋复:frontpage扩展无权限设置入回复:最新免费充qq币回复:最新免费充qq币回复:最新免费充qq币签写新留言blog名称:fl志总数:268评论数量:197留言数量:0访问次数:51477建立吋间:2005年5月10日冰狐浪子鬼仔s blogb.c.t黑客防线黑客x档案 网站高手lcx大哥的blog黑客手册hewking,s blogkendy,s blog(delphi)"hardy"的 blog “冲动的惩罚”的bloghawkeit s blog“鬼才”的blog zool* s blog 许文强's blog hack 太

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论