|
![]() | 作者: sniper167 [sniper167]
![]() |
登录 |
========================================================= (非计算机系学生)如何入门篇(5)---破解是怎么回事 ========================================================= 破解一点也不神奇来源于程序的调试 原理在于把二进制代码自动(靠程序例如:softice 调试器) 解释成汇编语言(当然人工可以解释但是不实际) 汇编语言直接来源于二进制代码,是可读的例如: USER32!GetSystemMetrics ; ->API函数 014F:BFF648C7 XOR EAX,EAX 014F:BFF648C9 MOV EDX,[ESP+04] 014F:BFF648CD CMP EDX,00 014F:BFF648D0 JL BFF64919 014F:BFF648D2 CMP EDX,4A 段地址:偏移地址 汇编语言助记符 操作数,操作数 段地址:偏移地址 ;-〉内存的地址 汇编语言助记符 操作数,操作数 ;-〉都是由二进制码翻译过来的 要破解就是找到处于内存某地的控制某种功能的二进制码修改 要找到那个地方必须设置陷阱,程序执行到那之前就捕捉到它。 这个陷阱就是--断点 一般的办法使设置到执行的API函数 例如:BPM GetSystemMetrics ;(softice 调试器) *注意:有些API函数必须加载符号加载器才能使用 |
地主 发表时间: 03-12-30 16:40 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号