二进制输出:汇编开发的进制输出的程序

进制输出原理很简单就是先建个‘0123456789ACDEF’数据表然后根据 除(210或者16 这要看你想以什么进制数据形式输出了) 取余再拿商去除(21016) 再取余原理拿余数跟数据表比较取得相应ASCII码哎说不清楚还是看吧自认为写还算清晰明了assume cs:codescodessegmentstart: mov ax,cs mov ds,ax mov ax,... [阅读全文]

汇编语言写ESMTP电子邮件发送程序

随着网上垃圾邮件广泛传播大多数邮件服务器都已经增加了认证功能广泛采用ESMTP以下是与ESMTP建立连接发送邮件发送过程: ()建立连接 1客户端与SMTP服务器建立Socket连接 2发送ehlo域名\\r\\n服务器收到后返回220编码表示服务器准备就绪; Exam:ehlolocal 2、发送authlogin\\r\\n服务器收到后返回334编码表示服务器要求用户输入用户名; 3、发送经过... [阅读全文]

strlen:用汇编写特殊要求的strlen

题目: 不允许库也不允许使用任何全局或局部变量编写 strlen(char *strDest); 用汇编实现: strlen(const char *s) { __asm__ __volatile__("movl %%esi,%%eax;0:testb $0xFF,(%%eax);" "jz 1f;inc %%eax;jmp 0b;" "1:subl %%esi,%%eax;"::"S"(s)... [阅读全文]

win32程序运行原理:从汇编分析Win32消息原理

我们用什么工具才能知道windows内核是如何工作消息是如何处理呢? windows汇编工具MASM32可以让我们非常容易彻底明了WIN32底层工作 窗口核心工作就是3大点A资源文件编辑+B窗口处理主+C消息处理 MASM32官方下载站点: http://www.masm32.com 在没有使用C和MFC开发window以前都是用C语言和WIN32API进行编程... [阅读全文]

硬盘主引导记录:汇编硬盘主引导记录详解

介绍说明:硬盘主引导记录独立于操作系统但又和操作系统息息相关——很多时候它又是由操作系统所提供工具所生成(例外情况是您使用了其他分区工具不过它又运行在什么操作系统中呢?;()如果您安装了Windows98(我现在暂时不能接触95下主引导记录总不能用95重装我系统吧?)操作系统那您机器上主引导记录已经和以前大有区别了通过下面分析您定能对Windows98为什么要更... [阅读全文]

汇编来实现OOP思想

OOP和面向过程都是编程中思想用学术些话是paradigm曾经有人说过既然cfront生成是C代码那么用C本身乃至汇编都可以实现OOP只是太多东西需要自己手工来完成确实是这样面向过程早就用在汇编设计中了OOP也早就和汇编有了交汇点(95年的前TASM就引入了OOP概念)只是汇编实现OOP是没有形式上无法提供C这样Strong-typed和其他安全保证(比如存取... [阅读全文]

三角函数计算器:汇编农历计算函数代码

;希望大家有好代码拿出来赐教 ;=检测阳历对应年份是否闰年 ;输入:年份 ;输出:eax=1是闰年否则eax=0 _IsLeapYearprotodwYear:dword ;=取阳历对应年月天数 ;输入:年份月份 ;输出:eax=天数 _GetMonthDaysprotodwYear:dword,dwMonth:dword ;=取阳历对应星期几 ;输入:年份月份... [阅读全文]

psp编程:利用汇编程序段前缀PSP进行编程

在DOS下每个要执行都有PSPPSP中有些数据很重要利用其进行编程有意想不到效果下面提供 3个小都涉及到PSP供参研 ;文件名:My1.asm ;利用父进程PSP段值来测试是否被跟踪 .modelsmall .stack200h .data .code Start:;开始执行时DS及ES都指向PSP movax,ds:[16h];取父进程PSP段值 movds... [阅读全文]

硬盘扇区:汇编实现在98 下读写硬盘扇区

高手们都是闪烁其词或让你去写VXD、 或提示你_31使用方法就是不愿意直面问题 下面是我在DOS下摸索出而在Win下实现例子没有复杂过程现将此贴出不知妥否 ;****************************** ;03-3-3023:17 ;实验:直接读写硬盘 ;例:在Ring0环境下读出硬盘主引导扇区 ; ;例 2:在Ring0环境下向硬盘写入数据... [阅读全文]

dos技术:tsr技术给dos装上黑匣子

seg_asegmentpublic assumecs:seg_a,ds:seg_a org100h start: jmploc_9 c_1db’SYZ’ old_21h_offdw8888h old_21h_segdw8888h count_1dw0h FE_1DB20H f_buffdb16dup(0) _21h_entry: pushf cli pusha... [阅读全文]

内存管理程序:在内存中任意地址运行的程序实现

  般来说编译连接的后代码只能在固定位置(这里位置是指偏移地址)上执行如果直接将其拷贝到其他位置(偏移地址跟编译时地址区别)上运行时会发生不可预料   这是在汇编语言中对静态变量寻址通常是用直接寻址方式这种方式直接使用变量绝对偏移地址如果被使用变量也随代码起被移动到目标地址那对该变量访问将会是对个无效数据访问比如下面这段代码: Org100H AddSI,SI ... [阅读全文]

实模式:突破DOS实模式限制直接访问4GB内存

  在DOS下编程实模式限制最大只能访问1M字节内存空间就算加上打开A20线后可以访问65520字节也只有区区1088K而已而这么少点内存中还有大量区域被操作系统、BIOS和TSR等占用真正能给员使用空间少得可怜好在计算机发展给广大员提供了些解决这个问题办法   最常见思路方法有以下几种:     1.精减尺寸同时尽量避免次使用太多内存(有没有搞错?偶只是初学者... [阅读全文]

备份主引导区记录:汇编实现备份硬盘引导区记录

为防止病毒对硬盘侵袭或其它误操作备份硬盘引导记录是有效方法 若手头没有现成工具软件(如SRCTools个很好用工具可在本站“磁 盘工具”中下载其具体使用方法请见本站“DOS文章”栏目中介绍它文章) 可用DEBUG实现现介绍备份及写硬盘主引导记录方法 备份主引导记录方法是: DEBUG(回车) -A100 XXXX:0100MOVAX,201 XXXX:0103MOVBX,200 XXXX:0106... [阅读全文]

键盘ascii码:汇编实现显示键盘ASCII值源代码

codesegmentpublic assumecs:code,ds:code jmpstart msgdb’ThisprogramcanshowyoutheASCIIofcharactersorkeycombinations’,0dh,0ah db’Ihopeitwouldhelpyou’,0dh,0ah db’pressESC(ASCII1bh)toexit!~~’,0dh,0ah db’ki... [阅读全文]

纽曼加密:汇编语言破解纽曼加密程序

;本是破解纽曼加密.被加密过文件会在文件开头处写上\"纽曼加密\" ;串.文件长度增加BB8H字.文件偏移0AH处有串数字,按字来计算,有N个,密 ;码就有N-1个. .386 .modelflat,stdcall optionmap:none windows.inc user32.inc libuser32.lib kernel32.inc libkernel... [阅读全文]

listview选择行:获得ListView当前选择项目的Index

当ListView当前选择项目更改时保存它Index值然后其它地方就操作这个值就行了如下: ...... .uMsgWM_NOTIFY movebx,lParam assumeebx:ptrNM_LISTVIEW pushebx moveax,hList;hList是ListView句柄 .[ebx].hdr.codeLVN_ITEMCHANGED&&[ebx].hdr.hwndFromeax p... [阅读全文]

调用堆栈:不使用调试器查看堆栈的调用情况的方法

BS CSDN写了半天居然说丢就丢了这次直接帖代码了不大调了三个小时自己有必要在强化下对指针理解:(原理:时候会建立栈帧其大致存放如下压栈传入参数2压栈传入参数1------------------------返回时地址------------------------栈帧 -----------------------局部变量1局部变量2注意:上面表示内存方式为上面是高地址下面为低地址堆栈生长方向... [阅读全文]

错误691解决方法:检测不了的错误现象及解决方法

看看下面例子: #iostream usingstd; MyClass{ public: voidFoo; private: m_data; }; voidMyClass::Foo { cout\"MyClass::Fooisinvoked!\"endl; } { MyClass*ptr; ptr=MyClass; deleteptr; ptr=NULL; ptr-Foo; 0; } 编译没... [阅读全文]

esp脱壳:ESP定律手工脱壳方法步骤

第步:查壳 第二步:用OD载入 第三步:按F8单步向下走注意当右边ESP(堆栈指针寄存器)和EIP(指令指针寄存器)同时变红时就停下 第四步:记下ESP地址并在左下角Commanc中输入 dd ESP所对应地址并回车 第五步:在数值下面单击右键--断点----硬件访问---WORD 第六步:按F9运行来到断点 第七步:然后在按F8单步向下走注意:个大跳转就来到OEP也就是入口 第八步:单击右键--... [阅读全文]

鼠标跟随实例:鼠标中断实例学习

.modelsmall,c .486 .stack128 .data oldaddrdd? msglabel xmsgdb’x=’;显示方式:X=**Y=** xascdw? db’’ ymsgdb’y=’ yascdw? countequ$-msg .code clsscrproc;清除整个屏幕 movax,0600h movbh,30h movcx,0 movdx,184fh 10h ret ... [阅读全文]

quartusii:QuartusII命令行操作--如何建立可移植的工程

使用Altera公司PLD器件朋友对QuartusIIGUI界面操作已经很熟悉了对于这个集成开发环境强大功能也有了体会可是不知大家有没有这样经历在自己机器上编译得很好工程到了别机器上就编译不过去了更危险是编译通过了下载后却有问题 这种问题在使用版本控制工具(如CVS)管理代码和工程文件过程中也很普遍:由于文件缺失或者文件路径改变造成编译失败或者由于配置文件缺失造成编译结果不可重现这些是使用版本控制... [阅读全文]

内联函数:用内联汇编判断整数计算是否产生进位借位或溢出

//计算结果有进位借位或溢出或溢出产生则为非0否则为0 //完宏后直接加以判断 g_iResult=0; //对有符号整数数学计算进行判断 #CARRY\\ __asm__(\"jo0f\\n\\t\"\\ \"movl$0,g_iResult\\n\\t\"\\ \"jmp1f\\n\\t\"\\ \"0:\\n\\t\"\\ \"movl$1,g_iResult\\n\\t\"\\ \"1:\... [阅读全文]

汇编基础资料速查

MOVAA,BB将BB放到AA里 CALL子(相当于BASICGOSUB) RET与RETF返回(相当于BASICRETURN) CMPXX,YY比较XX与YY JZ若相等则转移 JNZ若不相等则转移 JB若小于则转移 JG若大于则转移 JMP无条件转移 J???(各种转移指令) LOOP循环直到CX为0 INTXX类似CALL中断涵数 PUSH推入栈(STACK)ESP:PUSHAX POP出栈... [阅读全文]

treeview控件的使用:TreeView 控件使用

TreeViewControl控件是最常用Control控件的,最近研究了下,开始是点头绪都没有,不过多研究下就越来越清晰了.呵呵.这篇文章也算是我自己拾遗吧. 虽然windows里TreeViewControl控件不像JavaMVC结构那样让人感觉很清晰,但是它还是提供了系列消息来对TreeView本身数据结构处理,所以用熟了话,也不是很麻烦.其实也有很多... [阅读全文]

响铃程序代码:汇编实现简单响铃程序代码

个基础汇编实例用来实现输入个个位数N然后响铃N次(响铃ASCII值为07) www. DATASSEGMENT MESSAGEDB’PLEASEINPUTANUMBERTORING$’ DATASENDS STACKSSEGMENT STACKSENDS CODESSEGMENT ASSUMECS:CODES,DS:DATAS,SS:STACKS START: MOVAX,DATAS MOVD... [阅读全文]

基础汇编试题

个基础汇编例题要求用汇编语言实现R-X+Y-3 其中R·X·Y都是字要求X,Y放在D_SEG段R放在E_SEG段 D_SEGsegment xdw200,241,308,102,1247 ydw20,25,2530,888,356 D_SEGends E_SEGsegment rdw5dup(?) E_SEGends datagroupgroupD_SEG,E_SEG codesegment a... [阅读全文]

string转换int:字串 String 转换成整数 int

我们有两种方法俩实现将字串 String 转换成整数 下面为大家介绍: 1). i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[ radix]); 2). i = Integer.valueOf(my_str).Value;参考:[http://www.crazycoder.cn/]2 如何将整数 转换成字串 ... [阅读全文]

传统输入法:传统输入设备唤醒

很多OEM都希望支持使用传统鼠标和键盘(非USB)来唤醒系统本篇文章为此提供些提供些信息需要注意是支持ACPI操作系统都是使用标准ACPI机制来唤醒系统然而但前许多芯片组还不支持这些机制自学编程网 从鼠标键盘唤醒处理方法同ACPI规范定义其它唤醒设备使用相同处理方法支持唤醒设备必须满足下列要求www. :该设备必须在ACPI名字空间里有描述为唤醒系统该设备必须连接到个GPE管脚该管脚必须满足ACP... [阅读全文]

反汇编破解Radmin密码实例

个webshell最好有读取注册表权限 如果不能读取radmin注册表至少wscript.shell组件没删这样我们可以cmd 导出radmin表值 radmin注册表值也就是经过加密MD5hash值是32位哦 比如radmin注册表里密码是这样存放 port端口 ParameterREG_BINARY1f198cdd************有16组每组两个合起来就是32位了 工具: radmin... [阅读全文]

q秀拆分代码方法:16位数拆分为4组实例代码

起来看个练习实训:AX中16位数分为4组(1234分为1,2,3,4)每组4位分别放在AL,BL,CL,DL 答: datasegment dataends csegsegment assumecs:cseg,ds:data start: movax,1234h movcl,4 movdx,ax anddx,0fh movbx,ax shrbx,cl andbx,0fh movch,bl movb... [阅读全文]
< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 > >> 共797条 分27页