Linux及安全——程序破解 由于我的Ubuntu的vi有故障,所以用kaili做。 运行原程序 1.反汇编代码,查看 2.修改代码 转换为16进制 查找要改的字节 (1)改成无论入什么,都输出on your command, my master! 运行,更改成功 (2)改为无论输入什么,程序直接结 ...
分类:
系统相关 时间:
2016-06-12 21:47:29
阅读次数:
185
一、OllyDBG是一款调试分析工具,主要用于动态调试。(一)窗口概况: 图中标号对应的功能区: 反汇编区域:1、地址;2、汇编代码对应的十六进制机器窗口;3、反汇编窗口;4、对应的注释。 寄存器区域:5、寄存器 数据区域:7、数据所在的内存地址;8、十六进制编码信息;9数据对应的ASCII码信息 ...
分类:
其他好文 时间:
2016-06-12 18:25:38
阅读次数:
157
1. Otool简介 Otool可以提取并显示ios下目标文件的相关信息,包括头部,加载命令,各个段,共享库,动态库等等。它拥有大量的命令选项,是一个功能强大的分析工具,当然还可以做反汇编的工具使用。 2. Mach-o基本结构 Mach-o包含三个基本区域: 头部(header structure ...
分类:
Web程序 时间:
2016-06-08 23:01:01
阅读次数:
405
首先,PEID查壳 是一个Delphi程序 伪码检验: 弹出错误对话框,于是去OD中,查找文本字符串: 可以看到,在OD中字符串有点乱码,果然OD不太适用于处理Delphi的程序。 推荐一个极其强大的Delphi反汇编工具DeDe。 下面我们的思路就是用它来打开程序,找到程序的关键点,然后再OD中动... ...
分类:
其他好文 时间:
2016-06-04 23:34:06
阅读次数:
330
1) 反汇编dll C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\ildasm.exe 打开dll文件,再转储。 2) 修改il文件 IL_0000: ldc.i4.1 IL_0001: ret相当于return true; 3) 编 ...
linux实践之程序破解 这次的实践是文件破解,让我们从login可执行文件开始吧! 首先我们执行一下这个可执行程序 ①我们希望在不知道密码的情况下,能够登陆进去。且无论密码是什么,都是提示“on your command,my master!”。 首先对该程序执行反汇编。 我们首先要找到main函 ...
分类:
系统相关 时间:
2016-06-01 22:48:01
阅读次数:
225
程序破解 一、建立1.c文档 二、编译并查看 命令为:gcc -o 1 1.c 反汇编:objdump -d 1 三、转16进制 命令::%!xxd main函数的汇编代码中可以看出程序在调用“scanf”函数请求输入之后,对 [esp+0x1c] 和 [esp+0x18] 两个内存单元的内容进行了 ...
分类:
系统相关 时间:
2016-06-01 19:39:50
阅读次数:
234
按照C编译器的约定调用函数时压栈的顺序是从右向左,并且返回值是保存在eax寄存器当中。这个命题本该是成立的,下面用一个小程序来反汇编观察执行过程: 代码解释一下,asm的代码中movl %%eax, %0的意思是把寄存器eax的值赋值给咱们程序的eax变量当中。但为什么执行结果却是: z is 11 ...
分类:
其他好文 时间:
2016-05-28 14:09:58
阅读次数:
355
栈帧的形成和关闭
各种调用方式的考擦
使用 fp或sp寻址
函数的参数 与返回值
arm指令中立即数存放位置
gdbserver 调试环境栈帧的形成和关闭栈在内存中是一块特殊的存储空同, 它的存储原则是“先进后出”, 即最先被存储的数据最后被释放, 汇编过程通常使用 push 指令与 POP指令对栈空间执行数据压入和数据弹出操作。栈结构在内存中占用一段连续的存储空间, 通过sp与 fp这两个栈指针寄...
分类:
编程语言 时间:
2016-05-27 12:56:13
阅读次数:
234
数组在函数内
数组作为参数
数组作为返回值
下标寻址和指针寻址
下标值为整型常量的寻址
下标值为整型变量的寻址
下标值为整型表达式的寻址
数组越界
多维数组
存放指针类型数据的数组
指向数组的指针变量??虽然数组和指针都是针对地址操作,但它们有许多不同之处。数组是相同数据类型的数 据集合,以线性方式连续存储在内存中;而指针只是一个保存地址值的4字节变量。在使用中,数组名是一个地址常量值,保存数组首元...
分类:
编程语言 时间:
2016-05-27 12:32:50
阅读次数:
229