首页
社区
课程
招聘
[原创]用ASM实现Server及sql操作
发表于: 2006-6-24 14:58 13206

[原创]用ASM实现Server及sql操作

2006-6-24 14:58
13206

大家如果觉得内容好,有学习和研究价值,我以后还会再分享一些


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (28)
雪    币: 254
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
用asm写这个不闲累啊
2006-6-24 15:00
0
雪    币: 208
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
heXer来了再累也要坚持啊!

如果大家喜欢我以后多多发布!
2006-6-24 15:13
0
雪    币: 234
活跃值: (370)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
4
一个人干的话肯定累,学习了
2006-6-24 15:55
0
雪    币: 208
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
纯体力活 自己支持自己了 冷清的版块
2006-6-24 15:58
0
雪    币: 415
活跃值: (34)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
呵。呵。自娱自乐一下,也是可以的嘛
2006-6-24 16:25
0
雪    币: 248
活跃值: (1096)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
好,如果再加一个client,会更好。
为什么不用 sqlite3.lib?
;===============================
sqlite3_aggregate_context PROTO C :DWORD,:VARARG
sqlite3_aggregate_count PROTO C :DWORD,:VARARG
sqlite3_bind_blob PROTO C :DWORD,:VARARG
sqlite3_bind_double PROTO C :DWORD,:VARARG
sqlite3_bind_int PROTO C :DWORD,:VARARG
sqlite3_bind_int64 PROTO C :DWORD,:VARARG
sqlite3_bind_null PROTO C :DWORD,:VARARG
sqlite3_bind_parameter_count PROTO C :DWORD,:VARARG
sqlite3_bind_parameter_index PROTO C :DWORD,:VARARG
sqlite3_bind_parameter_name PROTO C :DWORD,:VARARG
sqlite3_bind_text PROTO C :DWORD,:VARARG
sqlite3_bind_text16 PROTO C :DWORD,:VARARG
sqlite3_busy_handler PROTO C :DWORD,:VARARG
sqlite3_busy_timeout PROTO C :DWORD,:VARARG
sqlite3_changes PROTO C :DWORD,:VARARG
sqlite3_close PROTO C :DWORD,:VARARG
sqlite3_collation_needed PROTO C :DWORD,:VARARG
sqlite3_collation_needed16 PROTO C :DWORD,:VARARG
sqlite3_column_blob PROTO C :DWORD,:VARARG
sqlite3_column_bytes PROTO C :DWORD,:VARARG
sqlite3_column_bytes16 PROTO C :DWORD,:VARARG
sqlite3_column_count PROTO C :DWORD,:VARARG
sqlite3_column_decltype PROTO C :DWORD,:VARARG
sqlite3_column_decltype16 PROTO C :DWORD,:VARARG
sqlite3_column_double PROTO C :DWORD,:VARARG
sqlite3_column_int PROTO C :DWORD,:VARARG
sqlite3_column_int64 PROTO C :DWORD,:VARARG
sqlite3_column_name PROTO C :DWORD,:VARARG
sqlite3_column_name16 PROTO C :DWORD,:VARARG
sqlite3_column_text PROTO C :DWORD,:VARARG
sqlite3_column_text16 PROTO C :DWORD,:VARARG
sqlite3_column_type PROTO C :DWORD,:VARARG
sqlite3_commit_hook PROTO C :DWORD,:VARARG
sqlite3_complete PROTO C :DWORD,:VARARG
sqlite3_complete16 PROTO C :DWORD,:VARARG
sqlite3_create_collation PROTO C :DWORD,:VARARG
sqlite3_create_collation16 PROTO C :DWORD,:VARARG
sqlite3_create_function PROTO C :DWORD,:VARARG
sqlite3_create_function16 PROTO C :DWORD,:VARARG
sqlite3_data_count PROTO C :DWORD,:VARARG
sqlite3_db_handle PROTO C :DWORD,:VARARG
sqlite3_errcode PROTO C :DWORD,:VARARG
sqlite3_errmsg PROTO C :DWORD,:VARARG
sqlite3_errmsg16 PROTO C :DWORD,:VARARG
sqlite3_exec PROTO C :DWORD,:VARARG
sqlite3_expired PROTO C :DWORD,:VARARG
sqlite3_finalize PROTO C :DWORD,:VARARG
sqlite3_free PROTO C :DWORD,:VARARG
sqlite3_free_table PROTO C :DWORD,:VARARG
sqlite3_get_autocommit PROTO C :DWORD,:VARARG
sqlite3_get_auxdata PROTO C :DWORD,:VARARG
sqlite3_get_table PROTO C :DWORD,:VARARG
sqlite3_global_recover PROTO C :DWORD,:VARARG
sqlite3_interrupt PROTO C :DWORD,:VARARG
sqlite3_last_insert_rowid PROTO C :DWORD,:VARARG
sqlite3_libversion PROTO C :DWORD,:VARARG
sqlite3_libversion_number PROTO C :DWORD,:VARARG
sqlite3_mprintf PROTO C :DWORD,:VARARG
sqlite3_open PROTO C :DWORD,:VARARG
sqlite3_open16 PROTO C :DWORD,:VARARG
sqlite3_prepare PROTO C :DWORD,:VARARG
sqlite3_prepare16 PROTO C :DWORD,:VARARG
sqlite3_progress_handler PROTO C :DWORD,:VARARG
sqlite3_reset PROTO C :DWORD,:VARARG
sqlite3_result_blob PROTO C :DWORD,:VARARG
sqlite3_result_double PROTO C :DWORD,:VARARG
sqlite3_result_error PROTO C :DWORD,:VARARG
sqlite3_result_error16 PROTO C :DWORD,:VARARG
sqlite3_result_int PROTO C :DWORD,:VARARG
sqlite3_result_int64 PROTO C :DWORD,:VARARG
sqlite3_result_null PROTO C :DWORD,:VARARG
sqlite3_result_text PROTO C :DWORD,:VARARG
sqlite3_result_text16 PROTO C :DWORD,:VARARG
sqlite3_result_text16be PROTO C :DWORD,:VARARG
sqlite3_result_text16le PROTO C :DWORD,:VARARG
sqlite3_result_value PROTO C :DWORD,:VARARG
sqlite3_set_authorizer PROTO C :DWORD,:VARARG
sqlite3_set_auxdata PROTO C :DWORD,:VARARG
sqlite3_snprintf PROTO C :DWORD,:VARARG
sqlite3_step PROTO C :DWORD,:VARARG
sqlite3_total_changes PROTO C :DWORD,:VARARG
sqlite3_trace PROTO C :DWORD,:VARARG
sqlite3_transfer_bindings PROTO C :DWORD,:VARARG
sqlite3_user_data PROTO C :DWORD,:VARARG
sqlite3_value_blob PROTO C :DWORD,:VARARG
sqlite3_value_bytes PROTO C :DWORD,:VARARG
sqlite3_value_bytes16 PROTO C :DWORD,:VARARG
sqlite3_value_double PROTO C :DWORD,:VARARG
sqlite3_value_int PROTO C :DWORD,:VARARG
sqlite3_value_int64 PROTO C :DWORD,:VARARG
sqlite3_value_text PROTO C :DWORD,:VARARG
sqlite3_value_text16 PROTO C :DWORD,:VARARG
sqlite3_value_text16be PROTO C :DWORD,:VARARG
sqlite3_value_text16le PROTO C :DWORD,:VARARG
sqlite3_value_type PROTO C :DWORD,:VARARG
sqlite3_vmprintf PROTO C :DWORD,:VARARG

SQLITE_OK                  equ    0   ; /* Successful result */
SQLITE_ERROR               equ    1   ; /* SQL error or missing database */
SQLITE_INTERNAL            equ    2   ; /* An internal logic error in SQLite */
SQLITE_PERM                equ    3   ; /* Access permission denied */
SQLITE_ABORT               equ    4   ; /* Callback routine requested an abort */
SQLITE_BUSY                equ    5   ; /* The database file is locked */
SQLITE_LOCKED              equ    6   ; /* A table in the database is locked */
SQLITE_NOMEM               equ    7   ; /* A malloc() failed */
SQLITE_READONLY            equ    8   ; /* Attempt to write a readonly database */
SQLITE_INTERRUPT           equ    9   ; /* Operation terminated by sqlite_interrupt() */
SQLITE_IOERR               equ   10   ; /* Some kind of disk I/O error occurred */
SQLITE_CORRUPT             equ   11   ; /* The database disk image is malformed */
SQLITE_NOTFOUND            equ   12   ; /* (Internal Only) Table or record not found */
SQLITE_FULL                equ   13   ; /* Insertion failed because database is full */
SQLITE_CANTOPEN            equ   14   ; /* Unable to open the database file */
SQLITE_PROTOCOL            equ   15   ; /* Database lock protocol error */
SQLITE_EMPTY               equ   16   ; /* (Internal Only) Database table is empty */
SQLITE_SCHEMA              equ   17   ; /* The database schema changed */
SQLITE_TOOBIG              equ   18   ; /* Too much data for one row of a table */
SQLITE_CONSTRAINT          equ   19   ; /* Abort due to constraint violation */
SQLITE_MISMATCH            equ   20   ; /* Data type mismatch */
SQLITE_MISUSE              equ   21   ; /* Library used incorrectly */
SQLITE_NOLFS               equ   22   ; /* Uses OS features not supported on host */
SQLITE_AUTH                equ   23   ; /* Authorization denied */
SQLITE_ROW                 equ  100   ; /* sqlite_step() has another row ready */
SQLITE_DONE                equ  101   ; /* sqlite_step() has fini

SQLITE_COPY                equ    0   ; /* Table Name      File Name       */
SQLITE_CREATE_INDEX        equ    1   ; /* Index Name      Table Name      */
SQLITE_CREATE_TABLE        equ    2   ; /* Table Name      NULL            */
SQLITE_CREATE_TEMP_INDEX   equ    3   ; /* Index Name      Table Name      */
SQLITE_CREATE_TEMP_TABLE   equ    4   ; /* Table Name      NULL            */
SQLITE_CREATE_TEMP_TRIGGER equ    5   ; /* Trigger Name    Table Name      */
SQLITE_CREATE_TEMP_VIEW    equ    6   ; /* View Name       NULL            */
SQLITE_CREATE_TRIGGER      equ    7   ; /* Trigger Name    Table Name      */
SQLITE_CREATE_VIEW         equ    8   ; /* View Name       NULL            */
SQLITE_DELETE              equ    9   ; /* Table Name      NULL            */
SQLITE_DROP_INDEX          equ   10   ; /* Index Name      Table Name      */
SQLITE_DROP_TABLE          equ   11   ; /* Table Name      NULL            */
SQLITE_DROP_TEMP_INDEX     equ   12   ; /* Index Name      Table Name      */
SQLITE_DROP_TEMP_TABLE     equ   13   ; /* Table Name      NULL            */
SQLITE_DROP_TEMP_TRIGGER   equ   14   ; /* Trigger Name    Table Name      */
SQLITE_DROP_TEMP_VIEW      equ   15   ; /* View Name       NULL            */
SQLITE_DROP_TRIGGER        equ   16   ; /* Trigger Name    Table Name      */
SQLITE_DROP_VIEW           equ   17   ; /* View Name       NULL            */
SQLITE_INSERT              equ   18   ; /* Table Name      NULL            */
SQLITE_PRAGMA              equ   19   ; /* Pragma Name     1st arg or NULL */
SQLITE_READ                equ   20   ; /* Table Name      Column Name     */
SQLITE_SELECT              equ   21   ; /* NULL            NULL            */
SQLITE_TRANSACTION         equ   22   ; /* NULL            NULL            */
SQLITE_UPDATE              equ   23   ; /* Table Name      Column Name     */
SQLITE_ATTACH              equ   24   ; /* Filename        NULL            */
SQLITE_DETACH              equ   25   ; /* Database Name   NULL            */
SQLITE_ALTER_TABLE         equ   26   ; /* Database Name   Table Name      */
SQLITE_REINDEX             equ   27   ; /* Index Name      NULL            */

SQLITE_DENY                equ    1   ; /* Abort the SQL statement with an error */
SQLITE_IGNORE              equ    2   ; /* Don't allow access, but don't generate an error */

SQLITE_INTEGER             equ    1
SQLITE_FLOAT               equ    2
SQLITE_TEXT                equ    3
SQLITE_BLOB                equ    4
SQLITE_NULL                equ    5
;===============================
2006-6-24 20:08
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
8
很不错。
2006-6-24 20:37
0
雪    币: 236
活跃值: (35)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
支持你,楼主累了 我们轻松点
2006-6-24 21:11
0
雪    币: 208
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
最初由 sixL 发布
好,如果再加一个client,会更好。
为什么不用 sqlite3.lib?
;===============================
sqlite3_aggregate_context PROTO C :DWORD,:VARARG
sqlite3_aggregate_count PROTO C :DWORD,:VARARG
........


不是我不想 而是有要求的

估计看了代码的人就应该知道是个什么东西了!

其实该代码里面还有编译的程序 只是我没上传而已
2006-6-24 23:03
0
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
11
。。。。似乎是某一个外挂的服务器端。。。
不过为什么不用C呢。。。非要用ASM
2006-6-25 20:28
0
雪    币: 248
活跃值: (1096)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
最初由 foxabu 发布
不过为什么不用C呢。。。非要用ASM

Why Write in 32 bit assembler ?

Assembler affords the programmer looking for additional performance a three
pronged approach in the pursuit of high performance software.

1. High performance executable files.
Executable programs built with Microsoft assembler have advantages in both
size and speed when written correctly that is beyond the capacity of the best
compilers. Performance critical software is a natural target for pure assembler
programs.

2. Dynamic link libraries.
MASM can build very high performance dynamic link libraries that can be used by
MASM, Visual C/C++ and Visual Basic as well as any other language that can call
a DLL. This puts minimum size high performance files within the reach of any language
that can call a DLL and allows the programmer to design processor intensive algorithms
that are beyond the reach of the native language they are using.

3. Library modules for Microsoft Visual C/C++ programs.
MASM produces the identical object module format that is used by the Visual C/C++ compilers
so the C/C++ programmer can build modules or libraries in MASM and directly link them into
their own C/C++ programs. This allows the C/C++ programmer to target critical areas of their
code in a very efficient and convenient manner, graphics manipulation, games, very high
speed data manipulation and processing, parsing at speeds that most programmers have never
seen, encryption, compression and any other form of information processing that is processor
intensive.

For programmers who are not familiar with 32 bit Windows assembler, there is speed and
performance available that you may never have seen before and contrary to popular legend,
if you can write a Windows application in C/C++, Basic, Pascal or other similar compiler
based languages, you can write it in MASM with very similar looking code if you bother
to learn the MASM high level syntax.
2006-6-25 20:44
0
雪    币: 214
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
13
Originally posted by sixL
Why Write in 32 bit assembler ?

Assembler affords the programmer looking for additional performance a three
pronged approach in the pursuit of high performance software.

........

学习了
2006-6-26 14:44
0
雪    币: 208
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
最初由 foxabu 发布
。。。。似乎是某一个外挂的服务器端。。。
不过为什么不用C呢。。。非要用ASM


楼上和楼下的 不用再问为什么了

确实是个外挂服务端

因为高层要求如此 编写语言  所以 不能使用更高级的语言

并且我不只 编了这么一点点 还有更庞大 的源代码

估计我拿出来会吓着你们的

而且他的要求即是ASM 为了是证明有能力而已
2006-6-26 20:08
0
雪    币: 248
活跃值: (1096)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
估计我拿出来会吓着你们的

用ASM的目的原来是吓人的!
思想不端正。
2006-6-26 21:20
0
雪    币: 50
活跃值: (145)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
16
也是一种手段
2006-6-27 00:08
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
晕了,你们那高层,呵呵。
2006-6-27 09:34
0
雪    币: 107
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
BY外挂的CLIENT代码我有个RAR包~ 但是加过密了~~~  
04在BY外挂的WEB服务器上下载到的~ 当时一看全是。ASM的觉得特NB~~~
2006-6-28 10:29
0
雪    币: 107
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
楼主的高层应该是湖南一家搞无盘技术的公司~
2006-6-28 10:34
0
雪    币: 208
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
20
最初由 风蓝 发布
楼主的高层应该是湖南一家搞无盘技术的公司~


楼上的能否透露你是???

看样子你经常潜水!

你挺了解BY的哦

2006-6-28 16:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
顶+支持+学习=灌水
闪~~
2006-6-30 14:50
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
支持找了好久了
2007-2-4 20:09
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
顶一下,学习了
2007-7-24 12:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
好,请搂主继续。好文共欣赏。。
2007-7-30 21:12
0
雪    币: 208
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
25
此源代码为新便宜外挂的服务器代码
我将陆续更新
把已编译好的文件放上来给大家研究
上传的附件:
2007-9-5 17:54
0
游客
登录 | 注册 方可回帖
返回
//