自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jackxin Xu IT技术专栏

专注于IT研发、技术知识的探索记录

  • 博客(16)
  • 收藏
  • 关注

原创 一国外软件的加密防护研究(初级水准)

<br />最近因为项目关系使用了一个国外软件,但是过了一段时间后发现Expired了,看来还得动手分析一下,结果发现这个软件的防护还是出奇的脆弱,只能得初级水准。<br />下面不妨以此为例分析一下其防护(此分析仅限技术研究,用于其它目的者责任自负)。<br />当你点击注册时,此软件报告: "Sorry, register failed, please try again."<br />使用wdasm进行静态分析看看,依照字符串定位方式,不难找到如下代码段:<br />* Reference To: M

2010-12-28 12:44:00 1621

原创 磁盘ID的读取方法

在软件进行加密运算时,读取硬盘ID,CPU ID,网卡ID成为加密计算的输入参数之一,本篇将讲述如何使用API来读取硬盘的ID,具体过程如下:---------------------------------------------------------------------------------------------------------------------其中hDisk为CreateFile打开磁盘的句柄;LONG get_harddisk_id(HANDLE hDisk, TCHAR *

2010-12-26 20:34:00 6108 2

原创 Windows 中输出到DbgView中的函数实现

在进行Windows开发中,大家经常需要将自己程序的运行时信息输出到一个调试窗口中,让系统的调试着可以随时监控程序的实际运行状态,如下的函数可以将程序运行时数据输出到DbgView中(DbgView由Sysinternals开发,该公司已被微软收购),并且调用工具直接查看输出值;void DEBUG_PRINT(IN TCHAR *format, ...){ va_list   argList; TCHAR   szFormat[256], szContent[1024];    //maximum buf

2010-12-26 20:15:00 2461

原创 C语言中动态数组的构造实例

进行C语言的编程时,大家经常要用到类似JAVA, .NET高级语言中的Vector或ArrayList之类的数据结构,这里提供一则实例告诉大家如何生成这样的数据结构。#ifndef __DN_DA__#define __DN_DA__#include #include #define DN_DYNAMIC_ARRAY(ITEM, ARRAY_NAME) /typedef struct _##ARRAY_NAME{ / unsigned int count;    / unsigned int capacit

2010-12-26 20:06:00 1373

原创 使用ASM对JAVA class file进行修改的技术 -- 添加类方法

<br />使用ASM包进行Class File修改真是很方便,不过可惜的是ASM不提供现成的方法修改工具,那我们就利用它提供的强大的字节码操作能力,自己来做一个吧:<br />基本思路如下:假设操作类为A, 假设要加的方法为MA,我们为了操作上方便,构造类B,将类B的MA方法加到A上就可以了,有了这个思路即可快速实现如下代码:<br />-------------------------------------------------------------------------------------

2010-12-23 16:57:00 5411

原创 使用ASM对JAVA class file进行修改的技术 -- 添加类成员

使用ASM包进行Class File修改真是很方便,不过可惜的是ASM不提供现成的工具,那我们就利用它提供的强大的字节码操作能力,自己来做一个吧:基本思路如下:假设操作类为A, 假设要加的属性为PA,我们为了操作上方便,构造类B,将类B的PA属性加到A上就可以了,有了这个思路即可快速实现如下代码:-----------------------------------------------------------------------------------------------------------

2010-12-23 16:43:00 3036

原创 使用ASM反编译Java bytecode得到其汇编码全部类

紧接前面几篇文章的介绍,当如果使用ASM以及JASMIN来联合改写Java class的binary时,我们发现如何将代码按照JASMIN的格式反编译过来显得至关重要,若能反编译成功,那么接下来的汇编改写以及使用JASMIN重新改写此类即可轻松完成,恰巧借助ASM可以轻松完成此过程,此2个open source project的具体下载地址可Google得到,也可从我前面的文章中找到。使用ASM来反编译class是最合适莫过了,ASM能够支持最新的Java class file的格式,对于JVM指令集支持得

2010-12-22 19:36:00 4931

原创 项目管理的5个过程以及9个知识域 (PMI & PMP)

<br />5个过程:<br />□ 启动<br />□ 规划<br />□ 执行<br />□ 监控<br />□ 收尾<br /> <br />9个知识域:<br />□ 整合管理<br />□ 范围管理<br />□ 时间管理<br />□ 成本管理<br />□ 质量管理<br />□ 人力资源管理<br />□ 沟通管理<br />□ 风险管理<br />□ 采购管理<br /> <br /> 

2010-12-20 11:41:00 2537

原创 JDB 调试命令集合 (debug command set)

 JDB debug operators    connectors                    ** list available connectors and transports in this VM                      run [class [args]]           ** start execution of application's main class                               threads [threadgroup

2010-12-13 09:29:00 2769

原创 JDB debug configuration and skill set

The best way for using JDB is create a configuration file named jdb.ini in a specified folder.---------------------------------------------------------------------------------------------------------------------------------------------------------------Loc

2010-12-12 21:21:00 1692

原创 Eclipse remote debug introduction

<br />First we need to load/run the application in remote debug mode:<br />-------------------------------------------------------------------------------------------------------------------<br />For a normal Java application loading & running(set a comman

2010-12-12 20:56:00 1274

原创 Java 调试工具以及技术简介

<br />在大家平时的开发中,由于代码与部署都是自己亲自做的,未必感觉到调试的困难,但是如果代码是他人编写部署而在没有源代码的情况下进行除错处理(譬如维护),难度是可想而知的,如何进行有效的软件调试显得尤为重要,如何快速高效地定位错误并且快速地FIX这个BUG更是摆在大家面前的话题。<br /> <br />这里简单介绍目前的常用的几个调试工具:<br />1.  JDB, 这个是JDK 自己带的调试工具,特别适合远程维护时的调试,启动以及捕获错误的效率还特别高,很多人未必认识到这个工具的重要性,笔者在后

2010-12-12 20:45:00 1536

原创 ASM + JASMIN combination for java class file editing in bytecode level

By using this combination, you will find that first we'll use ASM decompile the specified class and then rewite the specified class in JASMIN grammar, then compile this assemble source code file into java class file, first we'll show you the basic JASMIN g

2010-12-12 20:27:00 1842

原创 Java bytecode edit tool set

<br />There are 2 tool set combinations for java bytecode editing.<br /> 1. ASM + JASMIN      <br /> First use ASM to disassemble the bytecode class file to assemble file.(see command line under ASM folder)     <br /> Then use JASMIN language specification

2010-12-12 20:14:00 1603

原创 Java decompile tool set

After a long time research on all of the online resources, finally I found the following tools are the most useful tools in Java bytecode decompiling operation:DJDecompilerJad              Javap            JD-GUI           Jode1. DJDecompiler:(Current veri

2010-12-12 20:00:00 2063

原创 JAVA 逆向工程技术研究日志

最近碰到了没有代码需要了解客户的业务流程的项目,没办法,看来看去,只能求助于我们的逆向工程技术了;依照基于芯片的汇编逆向工程技术的经验,不难看出我们也需要从如下几方面来对JAVA技术进行详尽的研究:1. 基于字节码的反编译工具;2. 字节码调试工具;3. 字节码编辑工具;本篇幅中后续将介绍一下ClassFile的文件结构,后续日志中将继续介绍所有的工具系列。ClassFile: A class or an interface (or more) (big-endian order, means high b

2010-12-12 19:06:00 3252

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除