- 浏览: 28381 次
- 性别:
- 来自: 广州
最新评论
-
谁解怨妇心:
night_stalker 写道您谦虚了 …… 代码写得相当的 ...
在BMP位图中隐藏数据 -
RednaxelaFX:
话说我想起了Brainloller和Braincopter
在BMP位图中隐藏数据 -
RednaxelaFX:
32位BMP在某些软件(例如Windows自带的图片浏览器)里 ...
在BMP位图中隐藏数据 -
night_stalker:
您谦虚了 …… 代码写得相当的好看,命名非常的标准正统 口牙
在BMP位图中隐藏数据
文章列表
今天在看雪看到一个帖:
引用
#include <iostream>
using namespace std;
int main()
{
cout<<"hello world!"<<endl;
__asm jmp main
return 0;
}
这个函数为啥不是死循环?怎么执行一会就结束?
按理说这应该是一个死循环,但编译后运行了一下却一会儿就退出了
小小改动一下,加入一个计数用的变量,再运行一下
#include <iostream>
using namespace std;
int a=0;
int ma ...
- 2009-11-08 17:48
- 浏览 1168
- 评论(0)
相信看过Andrew那本很经典的《计算机网络》都会记得第N章(N是多少我忘记了……)里面提到的在一幅图像里面隐藏了一本《莎士比亚》全集的数据。
这种代码在网上已经是很常见的了,不过最近因为研究着拆游戏的cg立绘之类的东西就学习了一下BMP图像的格式就想到一个不同隐藏方法。
网上的代码大多都是利用每个像素里面颜色后面几位来存储要隐藏的数据,这样的话在颜色比较单一的情况下对图像的影响是十分明显的。而我的代码中是将24位的图像转换为32位图像后在alpha通道的位置写入数据。
在24位位图中,每个像素用三个字节存储,而32位位图则是4个字节,除了RGB通道外,还有多出来的 ...
- 2009-10-13 20:16
- 浏览 1578
- 评论(4)
这个dll会释放出一个驱动,于是就被这个诡异的驱动迷惑了很久。后来上网一查发现几个月前在看雪看到的一个帖就是这个病毒的,而且我搞错了对象了,dll调用的sys很早就释放了出来orz。
DllMain没什么好说的,就将hModule保存起来并且调用OpenProcessToken、LookupPrivilegeValue跟AdjustTokenPrivileges提升进程权限。
droqp函数的分析如下:
引用.text:10004340 lea eax, [ebp+SystemTime]
.text:10004343 pus ...
- 2009-09-20 17:33
- 浏览 1393
- 评论(0)
关于BrainFuck的wiki百科解释:http://zh.wikipedia.org/wiki/Brainfuck
虽然这门语言的名字很不雅,但能实现几乎所有的功能,虽然写出来的程序要看懂就是一件十分难的事情了……不过可以看出外国人是将技术跟恶搞娱乐地结合在一起,啥时候咱们中国人也能搞点这样的东西出来呢?
由于只有8个字符,所以解释器实现起来是十分简单,就算要写编译器的话……无非也就是将8个状态换成是opcode,再构造一个PE文件头将汇编代码写进去而已……
解释器代码如下:
#include<stdio.h>
#include<malloc.h> ...
- 2009-09-18 02:07
- 浏览 3242
- 评论(0)
本来暑假前就以外地感染的这个病毒,不过我的系统装了影子系统就没造成大的损害。将病毒的样本留下来打算分析的,结果一直拖啊拖啊拖到现在。
病毒有三个文件,分别是1.exe、ctfmen.exe以及explorer.exe。先分析1.exe,剩下两个有空在分析。
用PEID查壳,显示“NsPacK V3.7 -> LiuXingPing”。嗯,很好很强大,虽然没听过,不过看名字就知道不是猛壳,秒杀。
引用
004013FC E8 FFFBFFFF call 00401000 ; 从系统dll中获取相关函 ...
- 2009-09-11 00:39
- 浏览 1082
- 评论(0)
不知不觉间学驱动好像过了一年了,不过丫的又因为没怎么用所以结构跟常用的函数都记不住orz,于是就做个笔记当复习好了。
一个简单的驱动如下:
#include<ntddk.h>
typedef struct _DEVICE_EXTENSION{
PDEVICE_OBJECT pDevice;
UNICODE_STRING devicename;
UNICODE_STRING Symlink;
}DEVICE_EXTENSION,*PDEVICE_EXTENSION;
#pragma code_seg("PAGE")
N ...
- 2009-09-10 21:09
- 浏览 963
- 评论(0)
脚本是编译型的脚本,虽然没加密,但不去调试的话就很难分析。
脚本第一个DWORD是一个偏移,跳转到脚本的那个偏移处的第一个双字是脚本的入口偏移,游戏从那个偏移处开始对脚本进行解释。
下面这段东西就是指令操作的过程。跟vmp那指令解码的过程很像,嗯。
引用
0043F890 > 8B86 1C080000 mov eax, dword ptr [esi+81C] ;当前脚本的offset
0043F896 . |8B4E 04 mov ecx, dword ptr [esi+4] ;脚本数据基址
004 ...
- 2009-08-31 20:55
- 浏览 993
- 评论(0)
OllyDBG插件OllyGal1.10
- 博客分类:
- 汉化破解
嗯,不知道发汉化技术版还是发多媒体教室。发在这里应该多点人可以看到吧。首先说说做这个东西的动机。
本来是打算做一个东西出来给DC2应援的,结果脑残就做了个OllyDBG的插件,后来做着做着就做成这个样子了orz
将插件复制进ollydbg目录下的plugin目录即可。
插件有两个功能:
1、查找一个函数的所有调用参考:
如上图所示,可以在插件的对话框上添加、删除断点和注释,也可以批量添加或删除注释,也支持用F2来设置断点。使用方法是在反汇编窗口中选中一条语句后右键点击“查找所有调用参考”选项。至于这个功能有什么用?例如调试一个程序的时候,程序会频繁地申请内存,而这个函 ...
- 2009-07-30 01:48
- 浏览 1915
- 评论(0)
看到来福丢了个JAVA做的纸牌出来应援,又看到有人丢了个FireFox的空白页背景出来应援,那么我也丢个OllyDbg插件出来娱乐娱乐一下大众了,界面做得很挫,我是界面苦手,将就将就吧~
这个插件是将内存中那些日文编码的字符转成UNICODE编码再输出查看的,有时调试游戏的时候就可以用这个东西看看内存的字符是不是就是解密出来的对白~
About界面如下:
效果如下:
使用方法:丢进OD目录下的plugin,启动OD后再内存dump窗口选择内存后右键再选择转换编码即可。
编译环境是:Win Xp Sp3+Visual C++6.0
大概未来还会有新的功能, ...
- 2009-07-23 11:06
- 浏览 1233
- 评论(0)
虽然大概没什么人来看这个blog,但还是要稍微更新一下的。
前段时间被人摆脱去搞gift程序的破解,结果因为自己深陷数坑,搞了这么久才提出对白。Gift的脚本文件封装在一个pak文件里面再用zlib压缩,于是textdata.z就是脚本文件。自己用zlib写个程序解压后得到的pak文件就可以解包了。
值得一提的是虽然解压得出PAK文件里面第一个文件头结构就有指出脚本文件的个数,但实际上在后面还是有很多的空字节,因此用一些提取工具来提取会提取出错误的脚本,以下是自己写的提取脚本程序,代码很挫,没错误处理。
#include "windows.h"
#i ...
- 2009-07-13 15:53
- 浏览 1429
- 评论(0)
例如: 192.37 得到: 壹佰玖拾贰元叁角柒分
刚刚在CSDN上面看到的,觉得还挺有意思的就做来看看。做完后对比一下别人那些C#跟java的代码写了一大段……汗,果然还是C/C++的数组操作方便。
#include<iostream>
#include<string>
using namespace std;
const wchar_t num[]=L"零壹贰叁肆伍陆柒捌玖";
const wchar_t wei[]=L"万仟佰拾亿仟佰拾万仟佰拾元角分";
void change(do ...
- 2009-06-30 22:34
- 浏览 1070
- 评论(0)
问题:第1年有1对兔子,每对兔子从出生后第3个年起,就可每年生1对兔子,兔子的寿命是6年,问第n年有多少对兔子?
#include<iostream>
#include<list>
using namespace std;
int rabbit(int n)
{
list<int> ral;
list<int>::iterator m;
list<int>::iterator j;
ral.push_back(0);
for(int i=0;i<=n;i++)
{
for(j=ral ...
- 2009-06-29 15:53
- 浏览 1117
- 评论(0)
前一段时间写了篇关于游戏封包格式反汇编的文章,而且分析完了也没写出能提取资源的程序。于是这次我就由解包到翻译到封包到修改程序完整地写一篇教程。这次的游戏选择的是DC2PC,大小是7.62GB(- -|||)
一、资源分 ...
- 2009-06-17 01:11
- 浏览 3380
- 评论(0)
前言:游戏汉化中的一个重要的步骤是对资源的解包以及封包。虽然现在有很多软件可以实现解包的功能,但要将资源修改后再封包的话,不熟悉解密的算法是无法写出逆算法的。脚本是游戏中的一个最重要的资源,负责控制游戏引擎的行为以及存储了游戏的文本。
首先是老规矩,对CreateFileA下段,来到下面的地方:
00473839 > \6A 00 PUSH 0 ; /hTemplateFile = NULL
0047383B . 68 80000000 PUSH 80 ...
- 2009-06-17 01:03
- 浏览 1936
- 评论(0)
在汉化以及开发国际化软件的过程中很难避免各种字符编码转换的问题。相信各位都在Windows98上玩过以前的轩辕剑、仙剑等台湾出品的游戏,而且对于那不用南极星打开游戏就会乱码的印象一定非常深刻。
在计算机诞生 ...
- 2009-06-17 00:55
- 浏览 5882
- 评论(0)