fridaforge 0.3.0__tar.gz → 0.3.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. {fridaforge-0.3.0 → fridaforge-0.3.2}/PKG-INFO +1 -1
  2. fridaforge-0.3.2/fridaforge/_version.py +1 -0
  3. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge.egg-info/PKG-INFO +1 -1
  4. {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_binja_entry.py +1 -1
  5. {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_binja_manifest.py +14 -3
  6. {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_build.py +2 -1
  7. {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_bump_version.py +11 -8
  8. fridaforge-0.3.0/fridaforge/_version.py +0 -1
  9. {fridaforge-0.3.0 → fridaforge-0.3.2}/LICENSE +0 -0
  10. {fridaforge-0.3.0 → fridaforge-0.3.2}/README.md +0 -0
  11. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/__init__.py +0 -0
  12. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/backend.py +0 -0
  13. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/__init__.py +0 -0
  14. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/base.py +0 -0
  15. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/hook_dlopen_functions.py +0 -0
  16. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/hook_function.py +0 -0
  17. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/modify_section_protection.py +0 -0
  18. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/negate_cond_branch_arm64.py +0 -0
  19. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/commands/negate_cond_branch_x86.py +0 -0
  20. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/__init__.py +0 -0
  21. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/hook_dlopen_functions.py +0 -0
  22. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/hook_function.py +0 -0
  23. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/modify_section_protection.py +0 -0
  24. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/negate_cond_branch_arm64.py +0 -0
  25. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/negate_cond_branch_x86.py +0 -0
  26. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/core/utils.py +0 -0
  27. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/templates/hook_dlopen_functions.js +0 -0
  28. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/templates/hook_function.js +0 -0
  29. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/templates/modify_section_protection.js +0 -0
  30. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/templates/negate_cond_branch_arm64.js +0 -0
  31. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge/templates/negate_cond_branch_x86.js +0 -0
  32. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge.egg-info/SOURCES.txt +0 -0
  33. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge.egg-info/dependency_links.txt +0 -0
  34. {fridaforge-0.3.0 → fridaforge-0.3.2}/fridaforge.egg-info/top_level.txt +0 -0
  35. {fridaforge-0.3.0 → fridaforge-0.3.2}/pyproject.toml +0 -0
  36. {fridaforge-0.3.0 → fridaforge-0.3.2}/setup.cfg +0 -0
  37. {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_backend.py +0 -0
  38. {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_backend_ghidra.py +0 -0
  39. {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_check_wheel.py +0 -0
  40. {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_commands.py +0 -0
  41. {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_generators.py +0 -0
  42. {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_ghidra_scripts.py +0 -0
  43. {fridaforge-0.3.0 → fridaforge-0.3.2}/tests/test_readme.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fridaforge
3
- Version: 0.3.0
3
+ Version: 0.3.2
4
4
  Summary: Generate Frida scripts from IDA Pro, Binary Ninja, and Ghidra
5
5
  Author: noobexon1
6
6
  License-Expression: MIT
@@ -0,0 +1 @@
1
+ __version__ = "0.3.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fridaforge
3
- Version: 0.3.0
3
+ Version: 0.3.2
4
4
  Summary: Generate Frida scripts from IDA Pro, Binary Ninja, and Ghidra
5
5
  Author: noobexon1
6
6
  License-Expression: MIT
@@ -80,4 +80,4 @@ def test_missing_core_logs_one_error_and_registers_nothing(fake_bn, monkeypatch)
80
80
  assert fake_bn.registered == []
81
81
  assert len(fake_bn.errors) == 1
82
82
  assert "pip install fridaforge==" in fake_bn.errors[0]
83
- assert "Extension Manager" in fake_bn.errors[0]
83
+ assert "Extension Manager" in fake_bn.errors[0]
@@ -4,7 +4,9 @@ from pathlib import Path
4
4
  from fridaforge._version import __version__
5
5
 
6
6
  ROOT = Path(__file__).resolve().parent.parent
7
- MANIFEST = ROOT / "hosts" / "binja" / "plugin.json"
7
+ BINJA_DIR = ROOT / "hosts" / "binja"
8
+ MANIFEST = BINJA_DIR / "plugin.json"
9
+ REQUIREMENTS = BINJA_DIR / "requirements.txt"
8
10
  REQUIRED_FIELDS = (
9
11
  "pluginmetadataversion",
10
12
  "name",
@@ -40,5 +42,14 @@ def test_manifest_version_matches_core():
40
42
  assert _manifest()["version"] == __version__
41
43
 
42
44
 
43
- def test_manifest_pins_core_exactly():
44
- assert _manifest()["dependencies"]["pip"] == [f"fridaforge=={__version__}"]
45
+ def test_requirements_pin_core_exactly():
46
+ assert REQUIREMENTS.read_text(encoding="utf-8") == f"fridaforge=={__version__}\n"
47
+
48
+
49
+ def test_manifest_leaves_dependencies_to_requirements_txt():
50
+ assert "dependencies" not in _manifest()
51
+
52
+
53
+ def test_repo_root_is_not_a_binja_plugin():
54
+ assert not (ROOT / "plugin.json").exists()
55
+ assert not (ROOT / "__init__.py").exists()
@@ -34,7 +34,8 @@ def test_build_creates_both_archives(tmp_path):
34
34
  assert "fridaforge/commands/__init__.py" in names
35
35
  manifest = json.loads(z.read("fridaforge/plugin.json"))
36
36
  assert manifest["version"] == "9.9.9"
37
- assert manifest["dependencies"]["pip"] == ["fridaforge==9.9.9"]
37
+ assert "dependencies" not in manifest
38
+ assert "fridaforge/requirements.txt" not in names
38
39
  entry = z.read("fridaforge/__init__.py").decode("utf-8")
39
40
  assert "from .backend_binja import BinjaBackend" in entry
40
41
 
@@ -15,7 +15,11 @@ _spec.loader.exec_module(bump_version)
15
15
 
16
16
  @pytest.fixture
17
17
  def repo_copy(tmp_path):
18
- for rel in (bump_version.VERSION_FILE, bump_version.BINJA_MANIFEST):
18
+ for rel in (
19
+ bump_version.VERSION_FILE,
20
+ bump_version.BINJA_MANIFEST,
21
+ bump_version.BINJA_REQUIREMENTS,
22
+ ):
19
23
  (tmp_path / rel).parent.mkdir(parents=True, exist_ok=True)
20
24
  shutil.copy2(ROOT / rel, tmp_path / rel)
21
25
  return tmp_path
@@ -32,11 +36,12 @@ def test_bump_rewrites_every_copy(repo_copy):
32
36
  assert bump_version.read_versions(repo_copy) == {
33
37
  "_version.py": "1.2.3",
34
38
  "plugin.json version": "1.2.3",
35
- "plugin.json pip pin": "1.2.3",
39
+ "requirements.txt pin": "1.2.3",
36
40
  }
37
41
  manifest = json.loads((repo_copy / bump_version.BINJA_MANIFEST).read_text(encoding="utf-8"))
38
- assert manifest["dependencies"]["pip"] == ["fridaforge==1.2.3"]
39
42
  assert manifest["name"] == "FridaForge"
43
+ requirements = (repo_copy / bump_version.BINJA_REQUIREMENTS).read_text(encoding="utf-8")
44
+ assert requirements == "fridaforge==1.2.3\n"
40
45
 
41
46
 
42
47
  def test_bump_rejects_non_semver(repo_copy):
@@ -57,8 +62,6 @@ def test_check_reports_each_mismatch(repo_copy):
57
62
  assert all("2.0.0" in p for p in problems)
58
63
 
59
64
 
60
- def test_stamp_keeps_other_pins():
61
- data = {"version": "0.0.1", "dependencies": {"pip": ["fridaforge==0.0.1", "other"]}}
62
- stamped = bump_version.stamp_binja_manifest(data, "0.0.2")
63
- assert stamped["version"] == "0.0.2"
64
- assert stamped["dependencies"]["pip"] == ["fridaforge==0.0.2", "other"]
65
+ def test_pin_requirement_keeps_other_lines():
66
+ text = "other>=1\nfridaforge==0.0.1\n"
67
+ assert bump_version.pin_requirement(text, "0.0.2") == "fridaforge==0.0.2\nother>=1\n"
@@ -1 +0,0 @@
1
- __version__ = "0.3.0"
File without changes
File without changes
File without changes
File without changes