本月博客排行
-
第1名
Xeden -
第2名
fantaxy025025 -
第3名
bosschen - paulwong
- johnsmith9th
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - gengyun12
- wy_19921005
- vipbooks
- e_e
- benladeng5225
- ranbuijj
- wallimn
- javashop
- jickcai
- fantaxy025025
- zw7534313
- qepwqnp
- robotmen
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- tanling8334
- arpenker
- gaojingsong
- xpenxpen
- kaizi1992
- wiseboyloves
- jh108020
- xyuma
- ganxueyun
- wangchen.ily
- xiangjie88
- Jameslyy
- luxurioust
- mengjichen
- lemonhandsome
- jbosscn
- nychen2000
- zxq_2017
- lzyfn123
- wjianwei666
- forestqqqq
- ajinn
- siemens800
- hanbaohong
- 狂盗一枝梅
- java-007
- zhanjia
- 喧嚣求静
- Xeden
最新文章列表
ASM入门
最近也是研究Spring源码时发现Spring在对于注解的解析时使用的ASM来分析输入的Resource资源对象,分析其中的annotation元素,构造MetadataReader对象,并将annotation信息封装到AnnotationMetadata类型的annotationMetadata属性中,这引起了我对于ASM的好奇心。O(∩_∩)O哈哈~
什么是ASM
...
win32的asm编译,链接
编译:
ml /c /coff /Cp hello.asm
这一步生成hello.obj文件。
链接目标文件:
link /SUBSYSTEM:WINDOWS /LIBPATH:D/masm32/lib hello.obj
这一步生成exe可执行文件。运行hello.exe会出现一个消息框。
asm学习笔记2
1.cs+ip确定了一个代码段物理地址,这段内存地址被cup看成一个栈,
这个地址是没办法通过普通方法来改变的,最常见的使用jmp语句
例:jmp 2ae3:3 执行后:cs=2ae3,ip=0003h,若只想修改ip,那可以用jmp 某个寄存器,来改变ip的内容.
2.ss+sp确认了一个代码段的栈顶;
3.ds+[]确定了一个数据地址.[]为偏移地址,ds内的值不能通过常规方法改变,
只能通过 ...
asm学习笔记1
内存和寄存器大小
1.一个内存地址对应的内存空间为1byte
2.寄存器可以存放16位二进制数,即2byte
win7 64位使用DOSBox0.74-win32-installer+debug32调试asm;
使用步骤:比如debug32放在d盘下, mount c d:/ c:debug
debug常用命令
1.-r 查看寄存器
2.-d 查看内存
3.-e 改写内存中的内容 -a以汇编的形式改 ...
Java字节码删除或者添加一个类方法
以下代码需要asm-5.0.2.jar和asm-commons-5.0.2.jar两个包。
package com.shihuan.method;
public class AccountMethod {
String sql = "select * from tables";
public AccountMethod() {
}
...
Java字节码删除或者添加一个类成员
以下代码需要asm-5.0.2.jar和asm-commons-5.0.2.jar两个包。
package com.shihuan.field;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.prefs.NodeChangeEvent;
import java.util.spi.LocaleNameP ...
JAVA字节码对照表
http://www.ibm.com/developerworks/cn/java/j-cwt02076.html (参考)
Java 平台中的类总是来自某些包。当您在 Java 源代码中引用类名称时,您或许会也或许不会真正将包限定作为名称的一部分。您总是可以包含包限定(形如 java.lang.String),但您也可以为了省事而忽略它 —— 如果类来自 java.lang包或已 import ...
Java字节码实现Aop(续二)
以下代码需要asm-5.0.2.jar和asm-commons-5.0.2.jar两个包。
package com.shihuan.field;
public class AccountField {
String sql = "select * from tables";
public void operation() {
Sys ...
Java字节码实现Aop(续一)
以下代码需要asm-5.0.2.jar和asm-commons-5.0.2.jar两个包。
package com.shihuan.field;
public class AccountField {
String sql = "select * from tables";
public void operation() {
Sys ...
Java字节码实现Aop
以下代码需要asm-5.0.2.jar和asm-commons-5.0.2.jar两个包。
package com.shihuan.asm.account;
public class Account {
public void operation() {
System.out.println("shihuan operation...");
}
...
Java字节码
http://asm.ow2.org/index.html (asm官方网址)
http://download.forge.objectweb.org/ (asm下载的父级目录)
http://download.forge.objectweb.org/asm/ (asm各个版本的下载地址)
http://download.forge.objectweb.org/eclipse-update/ ...
编写汇编程序,验证从键盘输入的是否为一合法的整数
assume cs:code,ds:data
data segment
show db "Input a charactor ",0dh,0ah,"$"
msg db " is a number",13,10,"$"
msg2 db " is not a number$"
data ...