1.前言 最近在看到同事写了一款封印病毒的程序,非常有意思!原理大致是将PE文件中的ASCII转换成HEX输出到文本中.这样做的目的是为了保存病毒样本的时候不会被杀毒软件查杀!然而却是delphi写的,特别想用C语言自己也实现一个,于是从google翻出了此代码. 2.编译后的结果 3.代码实现原理 为了兼容Win32 + *nix,需要定义头文件,在读取时把[\r\n]和[\n]区分. // 20171105_bin2hex.cpp : 定义控制台应用程序的入口点. // #include "…
编程实现:把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列. 实现了unsigned long型的转换. // 十进制转换为二进制,十进制数的每1bit转换为二进制的1位数字<pre lang="c" escaped="true" line="1">char *int_to_bin(unsigned long data){ int bit_num = sizeof(unsigned long) * 8;…
  有关输出对齐 int main(int argc, char* argv[]){ char insertTime[20] = {"1234567890"}; double insertTime1 = 12321; printf("|%-15s|/n",insertTime);  //左对齐,15位长度,不够补空格 printf("|%15s|/n",insertTime);  //右对齐,15位长度,不够补空格 printf("|%…
#include <iostream> #include<stdio.h> #include <cstring> using namespace std; int main() { ] = {"}; ; printf("|%-15s|\n",c_test); //左对齐,15位长度,不够补空格 |1234567890 | printf("|%15s|\n",c_test); //右对齐,15位长度,不够补空格 | 123…
格式化输出函数printf( ) printf( )功能: 向系统指定输出设备按指定的格式输入任意个任意类型的数据,并返回实际输出的字符数.若出错,将返回负数. printf( )使用形式: printf("格式控制字符串",输出项列表); 格式字符(以"%"引导): (1)d格式字符:用来输出十进制整数. %d,按整型数据的实际长度输出. %md,m为指定的输出字段的宽度.若实际位数小于m,则左端补空格:若实际位数大于m,则按实际位数输出. %ld,输出长整型数据…
C语言中以字符串形式输出枚举变量 摘自:https://blog.csdn.net/haifeilang/article/details/41079255 2014年11月13日 15:17:20 haifeilang 阅读数:6295   每个枚举常量对应一个整形数字,很多时候可以像整形一样使用,这个大家都知道:但是如果要求打印枚举变量名的字符串,办法也有很多,查看网上方法几乎都需要转换,要么用数组,下面要说的是一种可以算是直接打印的新方法: #会将后面的内容作为字符串返回 如果想让#后面的内…
总览 (SYNOPSIS) xxd -h[elp] xxd [options] [infile [outfile]] xxd -r[evert] [options] [infile [outfile]] 描述 (DESCRIPTION) xxd 建立 一个 指定 文件 或者 标准 输入 的 十六 进制 转储, 同时 也 可以把 十六 进制 转储 转换成 原来的 二进制 形式. 同 uuencode(1) 和 uudecode(1) 一样, 它 也可以 把 二进制 数据 转换成 ASCII 表示…
程序示例: #include <stdio.h> #include <stdlib.h> int main() { printf("Hello,world!\n"); system("Pause"); return 0; } 程序解析: 本程序是一个C语言实现的Hello,world!程序,虽然只有短短的几行代码,却涵盖了C语言程序的几个要点: 1,main函数.每个C语言程序必须包含一个main函数,main函数是C程序的入口函数,程序从m…
接口定义如下: #include <Windows.h> // 取得指针所指内存的十六进制形式字符串,size指定字节长度 #define Mem_toString(address, size) _Mem_toString((PBYTE)address, size) // 取得指针所指内存的十六进制形式字符串,size指定字节长度 PSTR _Mem_toString(PBYTE address, size_t size); Mem_toString.h 实现如下: #include &quo…
问题 统计一个16位二进制数中1的个数,并将结果以十六进制形式显示在屏幕上,用COM格式实现. 代码 code segment assume cs:code org 100h main proc near mov al,0f0h ;假设16位二进制数为f0 lea dx,hintoutput1;输出提示语 mov ah,09h int 21h lea dx,crlf;回车换行 mov ah,09h int 21h mov cl,4 rol al,cl mov dl,al and dl,0fh A…