财开心批量处理系统V4.0
前言
上次分析了亿企代账对他的发票提取有很大兴趣,同时下载了几大财务厂商提供的发票提取,很多都是采用的这个,如云账房销项提取插件还有本次研究的财开心批量处理系统
分析
demo
直接用亿企代账分析的代码,提示授权,如下图:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Memo2: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
function startDataEngine(): Integer; stdcall; external 'Aisino30DBCollector_V2.dll';
function aisino30OpenSql(p1, p2, p3, p4, p5, p6, p7: PAnsiChar): Integer; stdcall; external 'Aisino30DBCollector_V2.dll';
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
p1, p2, p3, p4, p5, p6, p7: PAnsiChar;
begin
i := startDataEngine;
aisino30OpenSql(p1, p2, p3, p4, p5, p6, p7);
end;
end.
看来找到出处了,原来是另有奇人还以为是自己写的,多少有点失望,居然也是用的别人的,修改下代码捕获下这个异常
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
p1, p2, p3, p4, p5, p6, p7: PAnsiChar;
begin
try
i := startDataEngine;
aisino30OpenSql(p1, p2, p3, p4, p5, p6, p7);
mmoOut.Text := 'ok';
except
on E: Exception do
begin
mmoOut.Text := '异常:'+E.Message;
end;
end;
end;
脱离调试环境,居然捕获不到错误
参数附上值看看,最终的参数
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
p1, p2, p3, p4, p5, p6, p7, p8: PAnsiChar;
begin
try
i := startDataEngine;
p1 := 'C:\Program Files (x86)\Aisino\开票软件\Bin\842454545454545.0';
p2 := PAnsiChar(mmoInput.Text);
GetMem(p3, 100);
GetMem(p4, 100);
GetMem(p5, 100);
GetMem(p7, 100);
aisino30OpenSql(p1, p2, p3, p4, p5, 100, p7, 100);
mmoOut.Text := Format('p4:%s p5%s p6%s p7:%s', [p4, p5, p6, p7])
except
on E: Exception do
begin
mmoOut.Text := '异常:' + E.Message;
end;
end;
end;
这个QQ居然联系不上作者
百度看看,信息不少
去博客看看:https://blog.csdn.net/kongguoqing791025/
可惜作者已经注销了,QQ也联系不上,以前的文章也没有了,还好百度快照还有,写的挺好的,可惜失联了,继续我们的研究,我们用OD分析下看看能不能绕过去
都设置上断点
可以进入断点里面,直接跳过,提示新的错误了,输出的文件大小太小了
再修改,成功了,最终代码
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
p1, p2, p3, p4, p5, p6, p7, p8: PAnsiChar;
begin
try
i := startDataEngine(p1, p2);
p1 := 'C:\Program Files (x86)\Aisino\开票软件\Bin\842454545454545.0';
p2 := PAnsiChar(mmoInput.Text);
p3 := 'c:\output';
GetMem(p5, 1000);
GetMem(p7, 1000);
i := aisino30OpenSql(p1, p2, p3, p4, p5, 1000, p7, 1000);
mmoOut.Text := Format('i:%d p5:%s p7:%s', [i, p5, p7])
except
on E: Exception do
begin
mmoOut.Text := '异常:' + E.Message;
end;
end;
end;
总结
- 经过上次分析亿企代账,调用财开心代码,简单很多,上次异常错误,主要还是参数不对
- 如果别人给你提供DLL,一般都会有返回参数、错误信息(分配内存,谁调用谁释放)
- 只要有耐心,恒心,不放弃,最终会收获
财开心批量处理系统V4.0的更多相关文章
- CRMEB单商户商城系统v4.0源码,含前端uni-app源码
CRMEB商城系统是基于ThinkPhp6.0+Vue开发的一套新零售移动电商系统,CRMEB系统就是集客户关系管理+营销电商系统,能够快速积累客户.会员数据分析.智能转化客户. 有效提高销售.会员维 ...
- 最新发布C#.NET快速开发框架企业版V4.0 (适合开发ERP、进销存系统)
C/S系统开发框架-企业版 V4.0 (Enterprise Edition) http://www.csframework.com/cs-framework-4.0.htm 视频下载: 百度网盘: ...
- 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\106f9ae8\cc0e1
在本地开发环境没问题,但是发布到服务器出现:未能写入输出文件"c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.Ne ...
- 格式工厂 v4.0.0 最新去广告绿色纯净版
最好用的多媒体格式转换利器:格式工厂现已更新至v4.0,此次更新加入最新的HEVC(H265)编码,MP4,MKV的压缩比大幅度提高!格式工厂,轻松转换一切你想要的格式!利器在手,转换不愁! 格式工厂 ...
- 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\41c191fd\ff9345c5\App_Web_login.cshtml.65793277
本地开发环境没问题,但是发布到服务器出现问题或则直接在IIS上修改东西就给我抛出以下错误: 未能写入输出文件"c:\Windows\Microsoft.NET\Framework64 \v4 ...
- 在 Ubuntu 14.04/15.04 上配置 Node JS v4.0.0
大家好,Node.JS 4.0 发布了,这个流行的服务器端 JS 平台合并了 Node.js 和 io.js 的代码,4.0 版就是这两个项目结合的产物——现在合并为一个代码库.这次最主要的变化是 N ...
- 调用 GetProcAddress 失败,在 ISAPI 筛选器 "C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" 上
1.选择网站的ISAPI筛选器,设置ASP.NET的 aspnet_filter.dll右键恢复为父项 如果问题还未解决,执行第2步: 2.是否注册了asp.net,打开cmd运行:C:\Window ...
- 当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS2\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files”的写访问权限。
卸载了域控制器之后,IIS出现“当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS2\Microsoft.NET\Framework\v4.0.30319 ...
- 生日小助手V4.0——迁移到Python3
生日小助手V4.0——迁移到Python3 生日小助手V4.0只支持Linux系统,依赖命令行软件lunar Ubuntu系统安装方法:1.安装lunarsudo apt-get install lu ...
- C# Winform开发框架企业版V4.0新特性
企业版V4.0 - 新特性 C/S系统开发框架-企业版 V4.0 (Enterprise Edition) 简介: http://www.csframework.com/cs-framework-4. ...
随机推荐
- 在Vue中实现app拍照-选取本地图库-图片上传成功后预览
基于Vue和uni-app实现手机app的功能实现和打包.拍照功能和选取本地图片使用的是HTML5的API 实现. 我为测试这个功能使用node写了个本地服务器,对于手机调试,可以通过连接同一个无线网 ...
- taro+vue3+TS+Pinia+tailwindcss+NutUI项目创建与开发
一.初始化 1.Taro 基本安装并初始化项目 npx @tarojs/cli init WechatAppDemo -选择框架:vue3 -是否使用ts?y -请选择css预编译器:无 -请选择we ...
- Vue的hash/history模式
hash路由模式 URL 中的 hash 值只是客户端的一种状态,向服务端发送请求的时候,hash 部分不会被发送: hash 值得改变会在浏览器的历史记增加访问记录,所以可以通过浏览器的回退.前进控 ...
- eclipse的快捷键都有哪些
非常实用的快捷键 Ctrl+D: 删除当前行 Ctrl+Alt+↓: 复制当前行到下一行 Ctrl+Alt+↑: 复制当前行到上一行 Alt+↓: 当前行和下面一行交互位置 Alt+↑: 当前行和上面 ...
- vue界面显示无效的token
返回登陆界面,重新登陆 登陆成功
- 那些年vue踩过的坑v-if渲染完dom重新渲染 获取dom问题
当查询完成是 加载chart图了, 因为 上面的 div 是v-if 还没来得级渲染 所以获取下面chart div 时 没有dom元素 报错了
- 逆向学习物联网-网关ESP8266-04系统联合调试
1.测试平台原理 2.搭建硬件测试平台 3.软件测试平台 1)串口终端 2)串口监视 3)OneNET后台服务 https://open.iot.10086.cn/passport/login/ 户名 ...
- Windows MFC HTTP 函数流程
Windows MFC HTTP 函数流程 1 //建立连接 2 pInternetSession = new CInternetSession(AfxGetAppName()); 3 4 5 6 / ...
- HCIA-ICT实战基础11-网络地址转换NAT&NAPT
HCIA-ICT实战基础-网络地址转换 目录 NAT概述 静态NAT 动态NAT NAPT.Easy-IP NAT Server 扩展 NAT ALG 扩展 双向NAT 扩展 重叠NAT转换方式 1 ...
- nodejs中的kafkajs,消费顺序,不重复消费
参考:https://kafka.js.org/docs 确保同一个消息发送到同一个partition,一个topic,一个partition,一个consumer,内部单线程消费1.封装kafkaU ...