- 博客(7)
- 收藏
- 关注
原创 自己设计一个时钟程序并实现破解
自己写了一个时钟程序,用来模拟时间类型软件的破解,先从基础的运行时间开始,程序运行界面如图:十秒后程序自动退出 破解思路:查看程序导入表函数(有N多个程序可以查看,以PETOOLS为例),如图所示: 只找到一个和时间有关的函数GetSystemTimeAsFileTime。我们可以通过od自带的api断点,去断下GetSystemTimeAsFileTime这个函数, Enter进入,
2015-06-01 15:08:53
1935
原创 手写一个栈溢出程序(深入版)
上一篇文章里写到了一个C语言写的栈溢出程序,通过上一篇文档的内容,找到了溢出的位置,现在便在原来的基础上实现自己代码的写入,实现效果如下图: 载入OD,来到上一篇文章的溢出位置,如图所示:,现在我们可以构造文本文档的内容,使其覆盖掉返回地址,覆盖成为我们需要的地址。 首先通过OD找到printf()函数的汇编调用方式,本机为call 00401470, 1.用OD找到一块空的内存区域,加入字符
2015-06-01 14:24:48
644
原创 手写一个栈溢出程序(入门版)
逆向过程: 中文搜索,直接来到验证密码处,通过跳转可以判断比较上面函数的返回值来进行判断是否注册成功 上面看那个call,跟入:看到给一个变量赋值为一,这个call的返回值同样是local1地址的内容,下面并没有对local1地址的写入操作,可知函数返回值永远为1.strcpy函数复制一个字符串到数组,可以在堆栈的内容看到 第一个变量,第二个数组,因为第二个数组定义的不够大,在第二个数组存
2015-04-27 20:20:50
1939
原创 恶意代码分析实战(7-01实验学习笔记)
分析这个代码开始,先查看它的导入表 00404000 CreateServiceA ADVAPI32 创建一个服务进程,增加到服务控制器 00404004 StartServiceCtrlDispatcherA ADVAPI32 连接服务控制器线程,能够控制该线程 00404008 OpenSCManagerA
2015-04-27 20:09:33
2311
原创 输入一个字符,字母输出‘c’,数字输出本身,回车结束(8086汇编)
ASSUME CS:CODES CODES SEGMENT START: mov ah,0 int 16hcmp al,0dh ;如果输入的是enter键退出 je overcmp al,’1’ ;在1-9之间,则显示其值,之后等待新字符输入 jb next1 cmp al,’9’ ja next
2015-04-20 11:20:48
2854
原创 输入两个一位十六进制,输出其乘积(8086汇编程序)
ASSUME CS:CODES CODES SEGMENT START: mov ah,01h ;输入第一个数 int 21h mov bl,almov ah,01h ;输入第二个数int 21hcmp bl,'9' ;判断是1-9还是A-Fja ne1sub bl,'0's: cmp al,’9’ ja ne2 sub al,
2015-04-20 11:11:45
2819
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人