腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
Eureka的技术时光轴
专栏成员
举报
341
文章
728514
阅读量
39
订阅数
订阅专栏
申请加入专栏
全部文章(341)
编程算法(98)
windows(46)
c++(29)
api(29)
linux(29)
打包(25)
单片机(22)
网络安全(22)
ide(21)
http(21)
python(15)
node.js(15)
javascript(14)
html(14)
android(14)
delphi(14)
https(14)
tcp/ip(13)
kernel(13)
汇编语言(11)
虚拟化(11)
c#(10)
存储(10)
socket编程(10)
java(8)
开源(8)
shell(8)
php(7)
xml(7)
数据库(7)
sql(7)
github(7)
udp(7)
dll(7)
git(6)
文件存储(6)
gcc(6)
数据分析(6)
数据结构(6)
c 语言(5)
unix(5)
数据加密服务(5)
ssh(5)
actionscript(4)
json(4)
webview(4)
ubuntu(4)
mongodb(4)
gui(4)
kvm(4)
安全(4)
file(4)
io(4)
进程(4)
makefile(3)
access(3)
apache(3)
命令行工具(3)
云数据库 MongoDB(3)
SSL 证书(3)
腾讯云测试服务(3)
云推荐引擎(3)
网站(3)
微信(3)
device(3)
function(3)
list(3)
内核(3)
bash(2)
arm(2)
ruby on rails(2)
windows server(2)
centos(2)
bash 指令(2)
apt-get(2)
图像处理(2)
面向对象编程(2)
gradle(2)
nat(2)
add(2)
app(2)
base64(2)
bug(2)
fs(2)
handle(2)
hook(2)
image(2)
init(2)
input(2)
int(2)
ode(2)
point(2)
project(2)
return(2)
tcp(2)
win10(2)
windbg(2)
wmi(2)
编程(2)
编译(2)
程序(2)
登录(2)
服务(2)
内存(2)
权限(2)
数据(2)
系统(2)
虚拟机(2)
原理(2)
源码(2)
指针(2)
ios(1)
go(1)
lua(1)
.net(1)
regex(1)
angularjs(1)
react(1)
css(1)
jquery(1)
android studio(1)
qt(1)
硬件开发(1)
访问管理(1)
NAT 网关(1)
消息队列 CMQ 版(1)
检测工具(1)
express(1)
容器(1)
缓存(1)
压力测试(1)
爬虫(1)
yum(1)
dns(1)
kotlin(1)
flash(1)
rpc(1)
notepad ++(1)
kafka(1)
sdk(1)
验证码(1)
absolute(1)
action(1)
apply(1)
asm(1)
background(1)
block(1)
bmp(1)
build(1)
byte(1)
class(1)
client(1)
code(1)
command(1)
data(1)
debug(1)
debugging(1)
default(1)
dt(1)
dump(1)
dynamic(1)
error(1)
eval(1)
exception(1)
extern(1)
filter(1)
fixed(1)
flags(1)
glib(1)
glibc(1)
headless(1)
implementation(1)
include(1)
ip(1)
join(1)
ld(1)
libc(1)
load(1)
loader(1)
masm(1)
max(1)
message(1)
module(1)
nasm(1)
navigator(1)
null(1)
object(1)
opacity(1)
package(1)
parameters(1)
paste(1)
pid(1)
position(1)
proc(1)
procedure(1)
public(1)
require(1)
restart(1)
runtime(1)
set(1)
shift(1)
simulation(1)
ssl(1)
status(1)
sum(1)
sys(1)
system(1)
tcpclient(1)
text(1)
txt(1)
union(1)
usb(1)
vnc(1)
vsix(1)
x86(1)
xilinx(1)
zip(1)
闭包(1)
遍历(1)
变量(1)
编译器(1)
博客(1)
测试(1)
产品(1)
工具(1)
函数(1)
后台(1)
华为(1)
计算机(1)
加密(1)
脚本(1)
镜像(1)
开发环境(1)
快捷键(1)
连接(1)
乱码(1)
面试(1)
配置(1)
事件(1)
手机(1)
调试(1)
语法(1)
装饰器(1)
作用域(1)
搜索文章
搜索
搜索
关闭
Windows Interlocked系列函数
汇编语言
本文以InterlockedIncrement为例,来说明Windows Interlocked系列函数的实现原理。 一、InterlockedIncrement反汇编代码
战神伽罗
2019-08-13
1.1K
0
C++写壳之高级篇
api
编程算法
汇编语言
之前在写了写壳基础篇,现在就来完成写壳高级篇。没有基础篇的知识,那理解高级篇就比较困难。有了写壳基础后,才能在其基础上逐步实现高级功能,加壳的目的主要是防止别人破0解,而想要别人很难破0解,我认为要在花指令、混淆和指令虚拟化上大量的时间及脑力才能做到,这个比较费脑力费时间。我在此就说说一些能快速入门的反调试技术,下面说的难度将逐渐提升。
战神伽罗
2019-07-24
1K
0
各种开源汇编、反汇编引擎的非专业比较
单片机
开源
编程算法
汇编语言
由于平时业余兴趣和工作需要,研究过并使用过时下流行的各种开源的x86/64汇编和反汇编引擎。如果要对汇编指令进行分析和操作,要么自己研究Intel指令集写一个,要么就用现成的开源引擎。自己写太浪费时间,又是苦力活,还容易出错,所以还是使用现成的好一点。 这里对我曾使用过的比较流行的反汇编引擎做个比较,我使用过的反汇编引擎有: 1. Ollydbg的ODDisassm Ollydbg的ODDisassm,这是我最早使用的一个开源的反汇编引擎,07年在《加密解密》(三) 中我写的一个很简单的虚拟机就是使用的这个库,因为那个时候还没有那么多可选择。不过多亏有这样一个基础库,整个虚拟机从设计到开发完成只用了两个星期便开发完成(当时对反汇编库的要求不高,只要求能用字符串文本做中间表示进行编码/解码)。 这个反汇编库的优点是含有汇编接口(即文本解析,将文本字符串解析并编码成二进制),就拿这个特性来说在当时也算是独树一帜的了,到目前为止开源界在做这个工作的人也很少, 不过近年出现的调试器新秀x64dbg,也附带开发了开源的汇编库XEDParse,功能与OD的文本解析功能相似,并且支持的指令集更加完整,BUG更少,同时还支持X64,维护一直很强劲。 但是ODDisassm的缺点也很多,比如: 1. 指令集支持不全,由于Ollydbg年久失修,现在甚至连对MMX指令集都不全,而现在的INTEL/AMD的扩展指令集标准又更新了多个版本,什么SSE5/AVX/AES/XOP就更别提了,完全无法解析。 2. 解码出来的结构不详细,比如指令前缀支持不够友好,这点从Ollydbg的反汇编窗口可以看出,除了movs/cmps等指令以外,repcc与其他指令组合时都是单独分开的; 再比如寄存器无法表示ah\bh\ch\dh这种高8位寄存器。 3. 作者一次性开源后便不再维护开源版本,对于反汇编上的BUG很难即时修复。 不过这些也可以理解,因为在当时作者的开发目的是进行文本汇编\反汇编,所以没有为解码出的信息建立结构体以及接口。总的来说,如今再使用这个反汇编引擎,已经落后于时代了。 2. BeaEngine BeaEngine是我用的第二个库,当时使用OD库已经不能满足我的需求了。在做反编译器的时候,需要一个能够解码信息越多越好的库,于是我找到了BeaEngine,这个库我记得以前的版本不支持高8位寄存器识别,现在的版本也支持了。 在使用过程中基本上没有发现什么明显的缺点,不常用的新的扩展指令集也实现了不少。 目前实现的扩展指令集有:
战神伽罗
2019-07-24
3.3K
0
GDB调试汇编分析
linux
单片机
汇编语言
GDB调试汇编分析 代码 本次实践我参照了许多先做了的同学的博客,有卢肖明,高其,张梓靖同学。代码借用的是卢肖明同学的代码进行调试运行。 GCC编译 使用gcc -g gdbtest.c -o gdbtest -m32命令在64位的机器上产生32位汇编代码 在使用gdb进行调试运行时,有cgdb和gdb两种工具,我建议大家使用张梓靖同学使用的cgdb工具,因为使用时可以随时看到自己的源代码,看到我们的断点在哪里,每一步返回值到了哪行,更加直观。 分析过程 使用b main指令在main函
战神伽罗
2019-07-24
3.3K
0
X64汇编之指令格式解析
单片机
汇编语言
最近由于项目组内要做特征码搜索的东西,便于去Hook一些未导出函数,你懂得...于是就闲着学习了一下x86/x64的汇编指令格式。x86的汇编指令格式请参照http://bbs.pediy.com/s
战神伽罗
2019-07-24
4.1K
0
c使用汇编的变量
汇编语言
编程算法
c#
C文件中的变量和函数名 name, 对应于 汇编语言中的 _name,即在变量或者函数名前加一个"_". 由于C++ 支持重载,即可以定义函数名相同,但参数类型不同的函数。其在编译时,由编译器 根据函数的参数类型确定一个实际的函数名(或者汇编语言中的函数名),这个命名规则叫比较复杂了,不像C,仅仅是在变量名 和 函数名前加下划线。 由于这个原因,在C文件 定义一个名为name 的全局变量或函数 和 cpp文件中定义的名为name 全局变量/函数,其实际的变量名是不同的。如果在cpp文件中引用c文件中的全局变量或者函数,必须使用在函数声明前加“ extern "C" ", extern "C" 保证了其真实的名称(从汇编语言视角)等于c/Cpp 文件中的 变量/函数名 前缀一个"_"(下划线)。 从这个角度,我们不难明白 1. 如果要在c文件中使用汇编语言中的变量,则在汇编语言中定义变量是必须以 下划线 开头,在c文件声明中则需要不含这个下划线。 2. 如果要在cpp 文件中使用汇编语言中的变量,则在汇编语言中定义变量是也必须以下划线 开头,在cpp文件,声明时中则必须包含extern C" 关键字,并且变量名必须不带下划线。
战神伽罗
2019-07-24
1.4K
0
VS中使用X64汇编
actionscript
c++
c#
汇编语言
打包
需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地方来调用这些汇编代码。
战神伽罗
2019-07-24
3.8K
0
在gcc中使用intel风格的内联汇编
gcc
汇编语言
很简单,内联汇编使用asm(“.intel_syntax noprefix/n”)声明一下,以后的内联汇编就可以用intel风格了,构建可执行文件时给gcc加上-masm=intel参数。 先写一个小程序测试一下:
战神伽罗
2019-07-24
2.9K
0
GCC在C语言中内嵌汇编-转载
单片机
ide
汇编语言
c 语言
gcc
在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可, GCC会自动插入代码完成必要的操作。 1、简单的内嵌汇编 例:
战神伽罗
2019-07-24
2.9K
0
gcc x64 asm 内联汇编尝试
编程算法
单片机
gcc
汇编语言
asm volatile(assembler template : output : input : clobber);
战神伽罗
2019-07-24
2.9K
0
NASM语法
actionscript
编程算法
汇编语言
ide
nasm -f <format> <filename> [-o <output>]
战神伽罗
2019-07-24
2K
0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档