|
Ei3.0火炬引擎Eiserver dededark反编译版
{$DEFINE SQL}
unit _SQL;
interface
Uses Windows,SysUtils,Classes,DB,ADODB,Inifiles,Forms,StdCtrls,ExtCtrls,Controls;
var ADOConnection : TADOConnection;
Sa,IP,PWS,DBSn: String;
_SQLinit_ret :DWORD=$49FE1E;
aSQLconnected:boolean=False;
QuerySave,SQLQury:TADOQuery;
ItemCount:DWORD=$0;
ItemSQLreadPathe_ret:DWORD=$4937C4;
function BQuery:TADOQuery;
implementation
Uses _function,_NewMerchant;
function SQLinit:boolean;
var _ADOCreate:Boolean;
begin
Result:=False;
_ADOCreate:=False;
try
ADOConnection:=TADOConnection.Create(nil);
aSQLconnected:=TRUE;
ADOConnection.ConnectionString:='Provider=SQLOLEDB.1;Password='+PWS+';Persist Security Info=True;User ID='+Sa+';Initial Catalog='+DBsn+';Data Source=' +IP;
ADOConnection.LoginPrompt:=False;
ADOConnection.KeepConnection:=TRUE;
ADOConnection.Open;
Result:=TRUE;
QuerySave:=BQuery;
SQLQury:=BQuery;
except
ADOConnection.Free;
aSQLconnected:=False;
Application.Terminate;
end;
end;
function BQuery:TADOQuery;
var ADOQuery:TADOQuery;
begin
ADOQuery:=TADOQuery.Create(nil);
ADOQuery.Connection:=ADOConnection;
ADOQuery.Close;
ReSult:=ADOQuery;
end;
procedure SqlParam;
var FI:tInifile;
aPathe:string;
begin
aPathe:=string(pchar($49e7bc));
Fi :=Tinifile.Create(ExtractFilePath(paramstr(0))+aPathe);
Sa :=Fi.ReadString('Server','CommonDBID','');
IP :=Fi.ReadString('Server','CommonDBLoc','');
PWS :=Fi.ReadString('Server','CommonDBPassword','');
DBSn:=Fi.ReadString('Server','CommonDBDSN','');
Fi.Destroy;
end;
procedure _SQLinit;
asm
PUSHAD
CALL Merchant
{$IFDEF SQL}
CALL SQLinit
{$ENDIF}
POPAD
mov eax,dword ptr ss:[ebp-4]
mov eax,dword ptr ds:[eax+$2D4]
mov eax,dword ptr ds:[eax+$208]
mov edx,$004A0620
mov ecx,dword ptr ds:[eax]
jmp [_SQLinit_ret]
end;
procedure ItemSQLreadPathe;
asm
mov eax,ItemCount
mov dword ptr ss:[ebp-$10],eax
Inc DWORD PTR[ItemCount]
jmp [ItemSQLreadPathe_ret]
end;
Initialization
SqlParam;
ADDRW($49FE08,DWORD(@_SQLinit));
ADDRW($4937af,DWORD(@ItemSQLreadPathe));
finalization
try
if aSQLconnected then
begin
QuerySave.Free;
SQLQury.Free;
ADOConnection.Free;
end;
except end;
end.
|
|